diff --git a/package-lock.json b/package-lock.json index 953aa98e..77355d2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,384 +13,1790 @@ "eslint-config-airbnb-base": "14.2.0" } }, - "@adobe/helix-epsagon": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@adobe/helix-epsagon/-/helix-epsagon-1.5.5.tgz", - "integrity": "sha512-kMBw652c/sbHzJAzXhBfw+IVIn9MM8PuAqYg78IdJSzKJqfr7133v47EGM1YV+bYvyIut9jmzkTKmwycmiAwbQ==", + "@adobe/fastly-native-promises": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@adobe/fastly-native-promises/-/fastly-native-promises-1.19.1.tgz", + "integrity": "sha512-nFsN4YwnbQqrTHBUHTtRSq1JXxPaB3v7CIqys4uEZJb02sQwG+6ro6R4ZImhO/NZN3c8019VwSGac0d8K+/0aA==", + "dev": true, "requires": { - "epsagon": "1.102.2" + "@adobe/helix-fetch": "1.9.2", + "object-hash": "2.0.3" } }, - "@adobe/helix-fetch": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@adobe/helix-fetch/-/helix-fetch-1.9.2.tgz", - "integrity": "sha512-Yv2A0htxU0Al8t27PH8Fdf9rpCMaV+ssW8e6MQ+M3eKl5v5AnjjVEZMWOukP+Fou9bPgyb6xtDTxS78luczNMQ==", + "@adobe/helix-deploy": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@adobe/helix-deploy/-/helix-deploy-1.14.0.tgz", + "integrity": "sha512-EuHIZ7zsVMlA8tl2+9haRBmo5YhfhMcx89PWkJgMfa0MIy2sguhdJZZOfk1Nvb5k+LmmKguREkJpZJDOyyuchA==", + "dev": true, "requires": { - "fetch-h2": "2.5.1", - "form-data": "3.0.0", - "get-stream": "6.0.0", - "http-cache-semantics": "4.1.0", - "lru-cache": "6.0.0", - "object-sizeof": "1.6.1" + "@adobe/fastly-native-promises": "1.19.1", + "@adobe/helix-epsagon": "1.5.5", + "@adobe/helix-fetch": "^1.7.0", + "@aws-sdk/client-apigatewayv2": "^1.0.0-rc.8", + "@aws-sdk/client-lambda": "^1.0.0-rc.8", + "@aws-sdk/client-s3": "^1.0.0-rc.8", + "@aws-sdk/client-ssm": "^1.0.0-rc.8", + "@azure/arm-appservice": "^6.1.0", + "@azure/ms-rest-nodeauth": "^3.0.6", + "archiver": "^5.0.0", + "chalk": "^4.0.0", + "dotenv": "^8.0.0", + "fs-extra": "^9.0.0", + "isomorphic-git": "1.8.0", + "node-fetch": "^2.6.1", + "openwhisk": "^3.17.0", + "semver": "^7.0.0", + "webpack": "5.10.2", + "yargs": "^16.0.0" }, "dependencies": { - "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "@webassemblyjs/ast": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz", + "integrity": "sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==", + "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@webassemblyjs/helper-module-context": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/wast-parser": "1.9.1" } }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" - } - } - }, - "@adobe/helix-log": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.1.tgz", - "integrity": "sha512-9++ZtL++VDDDCxUvjNaejMwTJg7OqGVfocDrYVIbRiR3gVEs6jqfgyd9bAI8aEBi+8edj0OPnUn7j8eBQKZ/Jw==", - "requires": { - "big.js": "^5.2.2", - "colorette": "^1.1.0", - "ferrum": "^1.4.1", - "phin": "^3.4.0", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "uuid": "^7.0.0", - "winston-transport": "^4.3.0" - }, - "dependencies": { - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" - } - } - }, - "@adobe/helix-onedrive-support": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@adobe/helix-onedrive-support/-/helix-onedrive-support-3.1.6.tgz", - "integrity": "sha512-5UoCbPqMwvTFYNLT2sphD+PAfycb6M5BlN/pZWOfB29QMaRmcBldYKcwExxxi8GllUOPATp1j/+gCuhMb6QezA==", - "requires": { - "adal-node": "git+https://github.com/adobe-rnd/azure-activedirectory-library-for-nodejs.git#adobe", - "request": "2.88.2", - "request-promise-native": "1.0.9" - } - }, - "@adobe/helix-ops": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@adobe/helix-ops/-/helix-ops-1.12.3.tgz", - "integrity": "sha512-Xp2hMvrq8hBhY0C7eLl9gnS2azZfiO9gId/MFwzdl95o0GoVlRyycgwPBD3fpqA8+t9F0kdseErjI3Y1wX/ZrA==", - "dev": true, - "requires": { - "@adobe/helix-fetch": "1.9.2", - "diff": "5.0.0", - "fs-extra": "9.0.1", - "get-stream": "6.0.0", - "git-log-parser": "1.2.0", - "shelljs": "0.8.4", - "yargs": "16.1.1" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz", + "integrity": "sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz", + "integrity": "sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz", + "integrity": "sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz", + "integrity": "sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@webassemblyjs/wast-printer": "1.9.1" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "@webassemblyjs/helper-fsm": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz", + "integrity": "sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==", "dev": true }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "@webassemblyjs/helper-module-context": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz", + "integrity": "sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.1" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz", + "integrity": "sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==", "dev": true }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz", + "integrity": "sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1" } }, - "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true + "@webassemblyjs/ieee754": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz", + "integrity": "sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } }, - "yargs": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.1.tgz", - "integrity": "sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w==", + "@webassemblyjs/leb128": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz", + "integrity": "sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "@xtuc/long": "4.2.2" } }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "@webassemblyjs/utf8": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz", + "integrity": "sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==", "dev": true - } - } - }, - "@adobe/helix-shared": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@adobe/helix-shared/-/helix-shared-7.18.0.tgz", - "integrity": "sha512-Po9nU9hqiTveZtKTzI6OccZzBUEsUp/8AZ7fZ57Aq4IarcD+tUZ+gyzHcsGZjhvLopZRFAFnTfu7REBWDgW2mw==", - "requires": { - "@adobe/helix-fetch": "^1.6.1", - "@adobe/helix-log": "^4.5.1", - "ferrum": "^1.4.1", - "fs-extra": "^9.0.0", - "object-hash": "^2.0.3", - "quick-lru": "^5.1.0", - "uri-js": "^4.2.2", - "yaml": "1.10.0" - } - }, - "@adobe/helix-status": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@adobe/helix-status/-/helix-status-9.0.0.tgz", - "integrity": "sha512-6mqu7JgLBL7MBxPaxBQiOpR8BGT41i2gilumC6HRLPsBT78M97SPzx3QDG2Uj60kwt6O9Tn7TXIM1+iAjjk6DQ==", - "requires": { - "@adobe/helix-fetch": "1.9.2", - "@adobe/helix-log": "4.5.3", - "node-fetch": "2.6.1" - }, - "dependencies": { - "@adobe/helix-log": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", - "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz", + "integrity": "sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==", + "dev": true, "requires": { - "big.js": "^6.0.0", - "colorette": "^1.1.0", - "ferrum": "^1.7.0", - "phin": "^3.4.1", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "winston-transport": "^4.3.0" + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/helper-wasm-section": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1", + "@webassemblyjs/wasm-opt": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1", + "@webassemblyjs/wast-printer": "1.9.1" } }, - "big.js": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", - "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" - } - } - }, - "@adobe/helix-testutils": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@adobe/helix-testutils/-/helix-testutils-0.4.2.tgz", - "integrity": "sha512-6fp46fD8niwL4QRP2Ntu9Zv1T4mXkF5IiiH+R7+i1CnIt2DASdTmn54cHjrKPsOI6adFZL6GDyUw9bx1kD7wGA==", - "dev": true, - "requires": { - "@adobe/helix-log": "4.5.3", - "mocha": "8.2.1" - }, - "dependencies": { - "@adobe/helix-log": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", - "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "@webassemblyjs/wasm-gen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz", + "integrity": "sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==", "dev": true, "requires": { - "big.js": "^6.0.0", - "colorette": "^1.1.0", - "ferrum": "^1.7.0", - "phin": "^3.4.1", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "winston-transport": "^4.3.0" + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/ieee754": "1.9.1", + "@webassemblyjs/leb128": "1.9.1", + "@webassemblyjs/utf8": "1.9.1" } }, - "big.js": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", - "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==", + "@webassemblyjs/wasm-opt": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz", + "integrity": "sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-buffer": "1.9.1", + "@webassemblyjs/wasm-gen": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz", + "integrity": "sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-api-error": "1.9.1", + "@webassemblyjs/helper-wasm-bytecode": "1.9.1", + "@webassemblyjs/ieee754": "1.9.1", + "@webassemblyjs/leb128": "1.9.1", + "@webassemblyjs/utf8": "1.9.1" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz", + "integrity": "sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/floating-point-hex-parser": "1.9.1", + "@webassemblyjs/helper-api-error": "1.9.1", + "@webassemblyjs/helper-code-frame": "1.9.1", + "@webassemblyjs/helper-fsm": "1.9.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz", + "integrity": "sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/wast-parser": "1.9.1", + "@xtuc/long": "4.2.2" + } + }, + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", "dev": true - } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "enhanced-resolve": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz", + "integrity": "sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "loader-runner": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", + "dev": true, + "requires": { + "jest-worker": "^26.6.1", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.8" + } + }, + "watchpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", + "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.10.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.2.tgz", + "integrity": "sha512-KpYTJerfb2KGxcOJNA1SMWXAf8/dxCDaQOhPIrfoV5rYceqet7OY/h3941/kuapx0noMcpTiVoNN3EHXsTYlsg==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.45", + "@webassemblyjs/ast": "1.9.1", + "@webassemblyjs/helper-module-context": "1.9.1", + "@webassemblyjs/wasm-edit": "1.9.1", + "@webassemblyjs/wasm-parser": "1.9.1", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.3.1", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "pkg-dir": "^5.0.0", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.0.3", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" + } + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "@adobe/helix-epsagon": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@adobe/helix-epsagon/-/helix-epsagon-1.5.5.tgz", + "integrity": "sha512-kMBw652c/sbHzJAzXhBfw+IVIn9MM8PuAqYg78IdJSzKJqfr7133v47EGM1YV+bYvyIut9jmzkTKmwycmiAwbQ==", + "requires": { + "epsagon": "1.102.2" + } + }, + "@adobe/helix-fetch": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@adobe/helix-fetch/-/helix-fetch-1.9.2.tgz", + "integrity": "sha512-Yv2A0htxU0Al8t27PH8Fdf9rpCMaV+ssW8e6MQ+M3eKl5v5AnjjVEZMWOukP+Fou9bPgyb6xtDTxS78luczNMQ==", + "requires": { + "fetch-h2": "2.5.1", + "form-data": "3.0.0", + "get-stream": "6.0.0", + "http-cache-semantics": "4.1.0", + "lru-cache": "6.0.0", + "object-sizeof": "1.6.1" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" + } + } + }, + "@adobe/helix-log": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.1.tgz", + "integrity": "sha512-9++ZtL++VDDDCxUvjNaejMwTJg7OqGVfocDrYVIbRiR3gVEs6jqfgyd9bAI8aEBi+8edj0OPnUn7j8eBQKZ/Jw==", + "requires": { + "big.js": "^5.2.2", + "colorette": "^1.1.0", + "ferrum": "^1.4.1", + "phin": "^3.4.0", + "polka": "^0.5.2", + "triple-beam": "^1.3.0", + "uuid": "^7.0.0", + "winston-transport": "^4.3.0" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } + } + }, + "@adobe/helix-onedrive-support": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@adobe/helix-onedrive-support/-/helix-onedrive-support-3.1.6.tgz", + "integrity": "sha512-5UoCbPqMwvTFYNLT2sphD+PAfycb6M5BlN/pZWOfB29QMaRmcBldYKcwExxxi8GllUOPATp1j/+gCuhMb6QezA==", + "requires": { + "adal-node": "git+https://github.com/adobe-rnd/azure-activedirectory-library-for-nodejs.git#adobe", + "request": "2.88.2", + "request-promise-native": "1.0.9" + } + }, + "@adobe/helix-ops": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@adobe/helix-ops/-/helix-ops-1.12.3.tgz", + "integrity": "sha512-Xp2hMvrq8hBhY0C7eLl9gnS2azZfiO9gId/MFwzdl95o0GoVlRyycgwPBD3fpqA8+t9F0kdseErjI3Y1wX/ZrA==", + "dev": true, + "requires": { + "@adobe/helix-fetch": "1.9.2", + "diff": "5.0.0", + "fs-extra": "9.0.1", + "get-stream": "6.0.0", + "git-log-parser": "1.2.0", + "shelljs": "0.8.4", + "yargs": "16.1.1" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.1.tgz", + "integrity": "sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "@adobe/helix-shared": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@adobe/helix-shared/-/helix-shared-7.18.0.tgz", + "integrity": "sha512-Po9nU9hqiTveZtKTzI6OccZzBUEsUp/8AZ7fZ57Aq4IarcD+tUZ+gyzHcsGZjhvLopZRFAFnTfu7REBWDgW2mw==", + "requires": { + "@adobe/helix-fetch": "^1.6.1", + "@adobe/helix-log": "^4.5.1", + "ajv": "^6.12.2", + "ferrum": "^1.4.1", + "fs-extra": "^9.0.0", + "object-hash": "^2.0.3", + "quick-lru": "^5.1.0", + "uri-js": "^4.2.2", + "yaml": "1.10.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } + } + }, + "@adobe/helix-status": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@adobe/helix-status/-/helix-status-9.0.0.tgz", + "integrity": "sha512-6mqu7JgLBL7MBxPaxBQiOpR8BGT41i2gilumC6HRLPsBT78M97SPzx3QDG2Uj60kwt6O9Tn7TXIM1+iAjjk6DQ==", + "requires": { + "@adobe/helix-fetch": "1.9.2", + "@adobe/helix-log": "4.5.3", + "node-fetch": "2.6.1" + }, + "dependencies": { + "@adobe/helix-log": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", + "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "requires": { + "big.js": "^6.0.0", + "colorette": "^1.1.0", + "ferrum": "^1.7.0", + "phin": "^3.4.1", + "polka": "^0.5.2", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + } + }, + "big.js": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", + "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" + } + } + }, + "@adobe/helix-testutils": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@adobe/helix-testutils/-/helix-testutils-0.4.2.tgz", + "integrity": "sha512-6fp46fD8niwL4QRP2Ntu9Zv1T4mXkF5IiiH+R7+i1CnIt2DASdTmn54cHjrKPsOI6adFZL6GDyUw9bx1kD7wGA==", + "dev": true, + "requires": { + "@adobe/helix-log": "4.5.3", + "mocha": "8.2.1" + }, + "dependencies": { + "@adobe/helix-log": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", + "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "dev": true, + "requires": { + "big.js": "^6.0.0", + "colorette": "^1.1.0", + "ferrum": "^1.7.0", + "phin": "^3.4.1", + "polka": "^0.5.2", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + } + }, + "big.js": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", + "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==", + "dev": true + } + } + }, + "@adobe/openwhisk-action-logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@adobe/openwhisk-action-logger/-/openwhisk-action-logger-2.3.1.tgz", + "integrity": "sha512-kCHQbdl5NlRCgPDvBUYzKIDq+xIpmJhYwt3U8hG+rf7gMrg9VMv3kK/za5tFf+q4F7GmDQBvB4lblaIetEkEJw==", + "requires": { + "@adobe/helix-log": "4.5.3", + "cls-hooked": "^4.2.2" + }, + "dependencies": { + "@adobe/helix-log": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", + "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "requires": { + "big.js": "^6.0.0", + "colorette": "^1.1.0", + "ferrum": "^1.7.0", + "phin": "^3.4.1", + "polka": "^0.5.2", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + } + }, + "big.js": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", + "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" + } + } + }, + "@adobe/openwhisk-action-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/openwhisk-action-utils/-/openwhisk-action-utils-4.4.0.tgz", + "integrity": "sha512-w2BUbnFKq4MnnuNslEb0K7HcmN1XmFcQlLwZo3BjwKdu5XW0SGXUOnMdCYlmt4HqLsojFAz7Lz0y4vqEblAxIw==", + "requires": { + "@adobe/helix-log": "4.5.3", + "bunyan": "1.8.14", + "serverless-http": "2.6.0" + }, + "dependencies": { + "@adobe/helix-log": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", + "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "requires": { + "big.js": "^6.0.0", + "colorette": "^1.1.0", + "ferrum": "^1.7.0", + "phin": "^3.4.1", + "polka": "^0.5.2", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + } + }, + "big.js": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", + "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" + } + } + }, + "@arr/every": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@arr/every/-/every-1.0.1.tgz", + "integrity": "sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==" + }, + "@aws-crypto/crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.0.0.tgz", + "integrity": "sha512-wr4EyCv3ZfLH3Sg7FErV6e/cLhpk9rUP/l5322y8PRgpQsItdieaLbtE4aDOR+dxl8U7BG9FIwWXH4TleTDZ9A==", + "dev": true, + "requires": { + "tslib": "^1.11.1" + } + }, + "@aws-crypto/ie11-detection": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz", + "integrity": "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==", + "dev": true, + "requires": { + "tslib": "^1.11.1" + } + }, + "@aws-crypto/sha256-browser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.0.0.tgz", + "integrity": "sha512-uSufui4ZktC5lYX6bDxgBgNboxGyw9V9V+rlcNsNTxh4YPhOdCslwJMGntiWOBRGAgXhhvWi7FqnTS2SaT3cpg==", + "dev": true, + "requires": { + "@aws-crypto/ie11-detection": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-crypto/supports-web-crypto": "^1.0.0", + "@aws-sdk/types": "^1.0.0-rc.1", + "@aws-sdk/util-locate-window": "^1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "^1.0.0-rc.1", + "tslib": "^1.11.1" + } + }, + "@aws-crypto/sha256-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.0.0.tgz", + "integrity": "sha512-89kqtFs/tdHBFHEBXZ4UXlCISswvEor3BVVOriR68Tbk1Qe1zBOZtfbSOt3CDT69z88x5uM558YW9k8I1xei5A==", + "dev": true, + "requires": { + "@aws-sdk/types": "^1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "^1.0.0-rc.1", + "tslib": "^1.11.1" + } + }, + "@aws-crypto/supports-web-crypto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz", + "integrity": "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==", + "dev": true, + "requires": { + "tslib": "^1.11.1" + } + }, + "@aws-sdk/abort-controller": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-1.0.0-rc.10.tgz", + "integrity": "sha512-WNF6+oVMqBpWWahdapd55y0co8/NiTPcoTvZdTc11gTqHoqBoRe3C+srURI7iF/+uYwjUUjpOFQUNscEABKuYg==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/chunked-blob-reader": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-1.0.0-rc.8.tgz", + "integrity": "sha512-i4cTVFbetg7FRUmsDZ9wLdC0lR4qMNH0rZ5f+TQPwhe/1yyMmKLvsza9P8Gli4AeNSLumcSbadvN0spbIvRQng==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/chunked-blob-reader-native": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-1.0.0-rc.8.tgz", + "integrity": "sha512-0LIjlX9QueugfuHfTh45hK+gxSo4aKbcaRy+iM7QICl4NGGWMu6YJ7GiLJo5lkeu4Y55ir9yq1KZ/x5LHePVtg==", + "dev": true, + "requires": { + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/client-apigatewayv2": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-apigatewayv2/-/client-apigatewayv2-1.0.0-rc.10.tgz", + "integrity": "sha512-bq7rutVVmnfrMZtS5JPr1Q5WWWkoqXgJfzzrkJGrJBqnBhXFJrOGYRuVEwtuSo0u6FT7pMa0DyR2OSJrnq3Xrw==", + "dev": true, + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "1.0.0-rc.10", + "@aws-sdk/credential-provider-node": "1.0.0-rc.10", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.10", + "@aws-sdk/hash-node": "1.0.0-rc.10", + "@aws-sdk/invalid-dependency": "1.0.0-rc.8", + "@aws-sdk/middleware-content-length": "1.0.0-rc.10", + "@aws-sdk/middleware-host-header": "1.0.0-rc.10", + "@aws-sdk/middleware-logger": "1.0.0-rc.10", + "@aws-sdk/middleware-retry": "1.0.0-rc.10", + "@aws-sdk/middleware-serde": "1.0.0-rc.10", + "@aws-sdk/middleware-signing": "1.0.0-rc.10", + "@aws-sdk/middleware-stack": "1.0.0-rc.10", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.10", + "@aws-sdk/node-config-provider": "1.0.0-rc.10", + "@aws-sdk/node-http-handler": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/smithy-client": "1.0.0-rc.10", + "@aws-sdk/url-parser-browser": "1.0.0-rc.10", + "@aws-sdk/url-parser-node": "1.0.0-rc.10", + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "@aws-sdk/util-base64-node": "1.0.0-rc.8", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.8", + "@aws-sdk/util-body-length-node": "1.0.0-rc.8", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.10", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.10", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.8", + "@aws-sdk/util-utf8-node": "1.0.0-rc.8", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, + "@aws-sdk/client-lambda": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-1.0.0-rc.10.tgz", + "integrity": "sha512-FUdHXi0nAV/cyBKrLlu6ltNCEdm3YgDg4S5rffPrRctzG3VyW9g8nEGvNeon9ZLpniDych91nrhoGzq5IV30xA==", + "dev": true, + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "1.0.0-rc.10", + "@aws-sdk/credential-provider-node": "1.0.0-rc.10", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.10", + "@aws-sdk/hash-node": "1.0.0-rc.10", + "@aws-sdk/invalid-dependency": "1.0.0-rc.8", + "@aws-sdk/middleware-content-length": "1.0.0-rc.10", + "@aws-sdk/middleware-host-header": "1.0.0-rc.10", + "@aws-sdk/middleware-logger": "1.0.0-rc.10", + "@aws-sdk/middleware-retry": "1.0.0-rc.10", + "@aws-sdk/middleware-serde": "1.0.0-rc.10", + "@aws-sdk/middleware-signing": "1.0.0-rc.10", + "@aws-sdk/middleware-stack": "1.0.0-rc.10", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.10", + "@aws-sdk/node-config-provider": "1.0.0-rc.10", + "@aws-sdk/node-http-handler": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/smithy-client": "1.0.0-rc.10", + "@aws-sdk/url-parser-browser": "1.0.0-rc.10", + "@aws-sdk/url-parser-node": "1.0.0-rc.10", + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "@aws-sdk/util-base64-node": "1.0.0-rc.8", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.8", + "@aws-sdk/util-body-length-node": "1.0.0-rc.8", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.10", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.10", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.8", + "@aws-sdk/util-utf8-node": "1.0.0-rc.8", + "@aws-sdk/util-waiter": "1.0.0-rc.10", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, + "@aws-sdk/client-s3": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-1.0.0-rc.10.tgz", + "integrity": "sha512-dwoERl2xe1tfcwV9F+jcLzOOmoCsv2JtcQTKzg+HtsEON45m1Mx5SkRe5nAvh1b7xDz9/XwZjb8+WN5YoBcrqw==", + "dev": true, + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "1.0.0-rc.10", + "@aws-sdk/credential-provider-node": "1.0.0-rc.10", + "@aws-sdk/eventstream-serde-browser": "1.0.0-rc.10", + "@aws-sdk/eventstream-serde-config-resolver": "1.0.0-rc.10", + "@aws-sdk/eventstream-serde-node": "1.0.0-rc.10", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.10", + "@aws-sdk/hash-blob-browser": "1.0.0-rc.10", + "@aws-sdk/hash-node": "1.0.0-rc.10", + "@aws-sdk/hash-stream-node": "1.0.0-rc.10", + "@aws-sdk/invalid-dependency": "1.0.0-rc.8", + "@aws-sdk/md5-js": "1.0.0-rc.10", + "@aws-sdk/middleware-apply-body-checksum": "1.0.0-rc.10", + "@aws-sdk/middleware-bucket-endpoint": "1.0.0-rc.10", + "@aws-sdk/middleware-content-length": "1.0.0-rc.10", + "@aws-sdk/middleware-expect-continue": "1.0.0-rc.10", + "@aws-sdk/middleware-host-header": "1.0.0-rc.10", + "@aws-sdk/middleware-location-constraint": "1.0.0-rc.10", + "@aws-sdk/middleware-logger": "1.0.0-rc.10", + "@aws-sdk/middleware-retry": "1.0.0-rc.10", + "@aws-sdk/middleware-sdk-s3": "1.0.0-rc.10", + "@aws-sdk/middleware-serde": "1.0.0-rc.10", + "@aws-sdk/middleware-signing": "1.0.0-rc.10", + "@aws-sdk/middleware-ssec": "1.0.0-rc.10", + "@aws-sdk/middleware-stack": "1.0.0-rc.10", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.10", + "@aws-sdk/node-config-provider": "1.0.0-rc.10", + "@aws-sdk/node-http-handler": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/smithy-client": "1.0.0-rc.10", + "@aws-sdk/url-parser-browser": "1.0.0-rc.10", + "@aws-sdk/url-parser-node": "1.0.0-rc.10", + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "@aws-sdk/util-base64-node": "1.0.0-rc.8", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.8", + "@aws-sdk/util-body-length-node": "1.0.0-rc.8", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.10", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.10", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.8", + "@aws-sdk/util-utf8-node": "1.0.0-rc.8", + "@aws-sdk/util-waiter": "1.0.0-rc.10", + "@aws-sdk/xml-builder": "1.0.0-rc.8", + "fast-xml-parser": "^3.16.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, + "@aws-sdk/client-ssm": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-1.0.0-rc.10.tgz", + "integrity": "sha512-D/eI65VXS4nNxKbrgQNnvxorsErCL9DI+/JJ4kyytwAN/gP+b4zwUI+xKqNoQGLrathd7WoyifuU9hrim/Lqng==", + "dev": true, + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "1.0.0-rc.10", + "@aws-sdk/credential-provider-node": "1.0.0-rc.10", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.10", + "@aws-sdk/hash-node": "1.0.0-rc.10", + "@aws-sdk/invalid-dependency": "1.0.0-rc.8", + "@aws-sdk/middleware-content-length": "1.0.0-rc.10", + "@aws-sdk/middleware-host-header": "1.0.0-rc.10", + "@aws-sdk/middleware-logger": "1.0.0-rc.10", + "@aws-sdk/middleware-retry": "1.0.0-rc.10", + "@aws-sdk/middleware-serde": "1.0.0-rc.10", + "@aws-sdk/middleware-signing": "1.0.0-rc.10", + "@aws-sdk/middleware-stack": "1.0.0-rc.10", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.10", + "@aws-sdk/node-config-provider": "1.0.0-rc.10", + "@aws-sdk/node-http-handler": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/smithy-client": "1.0.0-rc.10", + "@aws-sdk/url-parser-browser": "1.0.0-rc.10", + "@aws-sdk/url-parser-node": "1.0.0-rc.10", + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "@aws-sdk/util-base64-node": "1.0.0-rc.8", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.8", + "@aws-sdk/util-body-length-node": "1.0.0-rc.8", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.10", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.10", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.8", + "@aws-sdk/util-utf8-node": "1.0.0-rc.8", + "@aws-sdk/util-waiter": "1.0.0-rc.10", + "tslib": "^2.0.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, + "@aws-sdk/config-resolver": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-1.0.0-rc.10.tgz", + "integrity": "sha512-Z5Rc/QAyUrtRhOmhLAgGlFG3li2ihxkClDkbX24z8QxU5M9D3SGu+Wyur2nHX9G6ssgNkOcKfiy+H4dSPQCV8g==", + "dev": true, + "requires": { + "@aws-sdk/signature-v4": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-1.0.0-rc.10.tgz", + "integrity": "sha512-robMjRq5pO3grBbzpC8hNHkjTut57OhbneDAvgN8FAabjcDf1ppufyMdPDbBrIM2omcbqUc6LN1GMS3BMlx1Gg==", + "dev": true, + "requires": { + "@aws-sdk/property-provider": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/credential-provider-imds": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-1.0.0-rc.10.tgz", + "integrity": "sha512-yTZSNIANwoJIkRWx9vGJ7v+UiMa/e/Rhj1TPTRzUEw8vxTJ6laDa+aJpm6vVSVBXJpZwtYmCzwrTx6Flw5H3Sw==", + "dev": true, + "requires": { + "@aws-sdk/property-provider": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-1.0.0-rc.10.tgz", + "integrity": "sha512-LDsBUgW1xcv9P2VYuTq+A1NiG3snw0OxLvOxezDVQ35vtyo5LAnqSGQtxt3QrwykQpOs8fuVhtJg7jTy4vNarg==", + "dev": true, + "requires": { + "@aws-sdk/property-provider": "1.0.0-rc.10", + "@aws-sdk/shared-ini-file-loader": "1.0.0-rc.9", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-1.0.0-rc.10.tgz", + "integrity": "sha512-lZfHzcNYIYDVaNzKZB0NUa8yxgzPzNQIJNx7zkNLRo+IJWHv8LOLUDKL99tDz4ubEQQbJHPIdtoPpixrYLzl4w==", + "dev": true, + "requires": { + "@aws-sdk/credential-provider-env": "1.0.0-rc.10", + "@aws-sdk/credential-provider-imds": "1.0.0-rc.10", + "@aws-sdk/credential-provider-ini": "1.0.0-rc.10", + "@aws-sdk/credential-provider-process": "1.0.0-rc.10", + "@aws-sdk/property-provider": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-1.0.0-rc.10.tgz", + "integrity": "sha512-MjmgtgaRIz3ob+wYbgytNUBzVtwrgJoPJHOd1I56H/Y4rQD/lDb2xqxiFYu+KPzCMW6R4PtrIcFeOiiFtqctPg==", + "dev": true, + "requires": { + "@aws-sdk/credential-provider-ini": "1.0.0-rc.10", + "@aws-sdk/property-provider": "1.0.0-rc.10", + "@aws-sdk/shared-ini-file-loader": "1.0.0-rc.9", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/eventstream-marshaller": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-1.0.0-rc.10.tgz", + "integrity": "sha512-UNVmo9gGkmYULhyZjkkiwAc2mMsXxVprnu8uurvRTsqzh8E7oL9UV2jp0tpCpJ3l64WtWIMQXH65Kf0ZKOXmAw==", + "dev": true, + "requires": { + "@aws-crypto/crc32": "^1.0.0", + "@aws-sdk/util-hex-encoding": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/eventstream-serde-browser": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-1.0.0-rc.10.tgz", + "integrity": "sha512-FPaPjMJM1VArkdg2CvbxgaqVAuz0o3cJ7wIg1ahCu/y7hyrg8VIlpDvmRFOMZYpsVEygz70Z9GqBBQoU/p4sXg==", + "dev": true, + "requires": { + "@aws-sdk/eventstream-marshaller": "1.0.0-rc.10", + "@aws-sdk/eventstream-serde-universal": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/eventstream-serde-config-resolver": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-1.0.0-rc.10.tgz", + "integrity": "sha512-JAqaywsPLOs02kDGMjfNiqgZxawdOfUHCcKqK4tKUbceXQcDjge6u0W0O/5qDkoMRAN8g3w8m67NUoCodBMt9g==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/eventstream-serde-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-1.0.0-rc.10.tgz", + "integrity": "sha512-wdBgjIbMmq3NXsdl3z7oiOzeJ0Xu4/AHmcKt4re/jby19Y/c0Eu+saXTii5Xs19jqCKqG0zgJXbPHcFz6JSKXg==", + "dev": true, + "requires": { + "@aws-sdk/eventstream-marshaller": "1.0.0-rc.10", + "@aws-sdk/eventstream-serde-universal": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/eventstream-serde-universal": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-1.0.0-rc.10.tgz", + "integrity": "sha512-R1dJ79mkKRJISjX8yGju1+PeTOQBECZLhYqhANS0YLzrVgt18y7yHu1BNBfcxCNs1ZyWir2BpYo3pA/Yuk7wLg==", + "dev": true, + "requires": { + "@aws-sdk/eventstream-marshaller": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/fetch-http-handler": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-1.0.0-rc.10.tgz", + "integrity": "sha512-bxuDqnC6iN/jrvU0hWEPTk3FsWtkcZ2EJuL83bXeRph++P/JXYsjOlFMjaFvplTXVX8vhc9SULq2o5h3xlN79Q==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/querystring-builder": "1.0.0-rc.10", + "@aws-sdk/util-base64-browser": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/hash-blob-browser": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-1.0.0-rc.10.tgz", + "integrity": "sha512-2jUSE+FlFlVA6hZA3ATz0XDwypMNs2i17kfgmp3oDLS3jJoTEmVeEMHyGmd23VpIQduO0/aIx3i5Qc6ukzwqVg==", + "dev": true, + "requires": { + "@aws-sdk/chunked-blob-reader": "1.0.0-rc.8", + "@aws-sdk/chunked-blob-reader-native": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/hash-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-1.0.0-rc.10.tgz", + "integrity": "sha512-HaDZ17h8awZSZu6aqjygLD3mYFIbQnrztrlz3GWeSN3P4yWhSXsppv3o3LDIlMAQFwleuwUP8Ux9Nl1qzjtSvQ==", + "dev": true, + "requires": { + "@aws-sdk/util-buffer-from": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/hash-stream-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-1.0.0-rc.10.tgz", + "integrity": "sha512-Gd/im5B0u/btT/9xbmp3reM4acNbOFFgdMaAEyvN57dQel6LCOb8AnYkFRfQIelKUI97LSlrpHJmf7RWGeI2rA==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/invalid-dependency": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-1.0.0-rc.8.tgz", + "integrity": "sha512-T7fMj3y8tFVH+t9T9U9htXya8THjV0IzWvec16CVYOtThRdj5RAN9XXkW6odgyJVz18mVWSSjzgqCwa0W0FIkQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/is-array-buffer": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-1.0.0-rc.8.tgz", + "integrity": "sha512-qink0kc2Px0wPY3v2hC5uvQFYfiFJKDkjcDw7IFCyangGrcIwgOjwzSVnf/cRvdDyyy3l62EXPCdtitnu9MmkA==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/md5-js": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-1.0.0-rc.10.tgz", + "integrity": "sha512-CEe8al8RxjbKlkHVGe4i3LhcVjMDdsoqyUKWR/aSfFnf4RC3K/xXfyjXOW66K9bHisbakcctiqTtLBoLuTlppQ==", + "dev": true, + "requires": { + "@aws-sdk/util-utf8-browser": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-apply-body-checksum": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-1.0.0-rc.10.tgz", + "integrity": "sha512-aaCeQZEe/ERZYptAhyc2vkDWQSJqH9dDQfWVknncxgF21hnGRlSyXqzzAM9/RTPbtGWqktxcis1cZ7xAtQzbDw==", + "dev": true, + "requires": { + "@aws-sdk/is-array-buffer": "1.0.0-rc.8", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-bucket-endpoint": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-1.0.0-rc.10.tgz", + "integrity": "sha512-nCGjzbB2ENoH/RMoKboiglYBn6G3ib1pb08Jqnshr9EicaCz1A9KrJtVdqsPnkvzB8w1JRPrmCNJuC3hC1Ueww==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/util-arn-parser": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-content-length": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-1.0.0-rc.10.tgz", + "integrity": "sha512-u1mhrg8joX/YZnqwicK5IxRRGnKGNpnSyY3h7iLa1gh2s2UCsMQi0hL36e3TP2v0LjhpW+nAHUrd47lxppkSig==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-expect-continue": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-1.0.0-rc.10.tgz", + "integrity": "sha512-aUbgwbjfnY7CI9nU36yLdjI2fmaN0l6fjPOQH5HapcilyrMG+LQo3WMsDMCYl//weJptse20Tptv6eSTNci76w==", + "dev": true, + "requires": { + "@aws-sdk/middleware-header-default": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-header-default": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-1.0.0-rc.10.tgz", + "integrity": "sha512-9W0Kr2nJvvMhKA8JDcnugPo7/LANnB/Io3vTPSSajaoR6Lnxcb1SaLAXJUjdH+A4+MG8QIfCbOB3bu1KmoAkEw==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-1.0.0-rc.10.tgz", + "integrity": "sha512-/YC/XJKKUDvYDHRH726F1aZsdKQ3sjT3RVwdPXiHeECYiNpQ+0uUQ7n81CoySoRTNuHLTgGHh6ctAcJUU1Xj+g==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-location-constraint": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-1.0.0-rc.10.tgz", + "integrity": "sha512-nF8zII2aT/KrtljOEfyKA2Qfmy9zRwQP9nljzsRq8zn4uB8+dGnDgc+BdyavAErIoB+uf/0iswrYSPlSlEy4Wg==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-logger": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-1.0.0-rc.10.tgz", + "integrity": "sha512-xO380+N1KfRXudcOYgR1rUZp1blxuYUADIvYXF6xrE2K5konuynEChLlzHy0cmtqoHgvGDmVdhDbkDdlw7MB0g==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-retry": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-1.0.0-rc.10.tgz", + "integrity": "sha512-24ycZ/2iqTk1G7/YrLJbbhRA2vV+SosTKf63oEf1r7DPYVN/q6YMMXo0XuCmai6mGrtV6JEclSivBHmWo1zAYg==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/service-error-classification": "1.0.0-rc.10", + "react-native-get-random-values": "^1.4.0", + "tslib": "^1.8.0", + "uuid": "^3.0.0" + } + }, + "@aws-sdk/middleware-sdk-s3": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-1.0.0-rc.10.tgz", + "integrity": "sha512-xYs3JX6Ll1Wr+HQSJK8qlvRTnsZ41fOD5EZRSOiisW9A3Kc4U+P3ELNWYCJhIGuZMgDJQNUMkjNP+MFiquJHCg==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/util-arn-parser": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-serde": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-1.0.0-rc.10.tgz", + "integrity": "sha512-e5MMxJT4THdWYXLvsDFwwEBSqO1iCPiSeVCbczLe2VwVaDkhJlUtHXfJjy31wZYAubS/AJH+YPO6JFaWxj7DOQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-signing": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-1.0.0-rc.10.tgz", + "integrity": "sha512-Ohyj8Ob0yHkCi8YxG5IZ2va/5daWXHtJD90otUOWu4HdHAAJ1xtkFzJUVO1E1LZUsuLcR2WDuGuGnznOMbSVmw==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/signature-v4": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-ssec": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-1.0.0-rc.10.tgz", + "integrity": "sha512-GZNZn1bYJrxDwpu1D3EkpbiuPuxy/37Ue4t7187/e0vvqM2gxNF6bxinX4K5Z3xi+c5Px9PbLylZjzVH7tBoEQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-stack": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-1.0.0-rc.10.tgz", + "integrity": "sha512-3C36t4wFTLgBkmLOiaHCUoysIUIKjBSCGVVvnmE8S4SCGhBkPBjKcHMPjA94ru8/D+dSggSSZxixeCCa1KjePQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-1.0.0-rc.10.tgz", + "integrity": "sha512-pBGSlqParM0pv5FmSl6ulhJPwmcA2ZagjYdoNdsb9C1xh8vWTHtlIYioRyIWjJYK4y3g3mwrmE7577OAZMIgtw==", + "dev": true, + "requires": { + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/node-config-provider": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-1.0.0-rc.10.tgz", + "integrity": "sha512-gdp9Zz/m4F+fTTn7CmZQnY0fNJaSFElHSUVA1L8n2F+3t9TRPJCeymPHO6cTM2o3d29FCcCBN79JT2UhZ8x4Yg==", + "dev": true, + "requires": { + "@aws-sdk/property-provider": "1.0.0-rc.10", + "@aws-sdk/shared-ini-file-loader": "1.0.0-rc.9", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/node-http-handler": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-1.0.0-rc.10.tgz", + "integrity": "sha512-+Sk4gUl9sRSburG0uUdEbJ2uiQcswBIuCqrCtNw4oHqc9OTcXg7N5OtHZQFjl0YHUPQ5eB1DVwKWqtdpD2fCRA==", + "dev": true, + "requires": { + "@aws-sdk/abort-controller": "1.0.0-rc.10", + "@aws-sdk/protocol-http": "1.0.0-rc.10", + "@aws-sdk/querystring-builder": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/property-provider": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-1.0.0-rc.10.tgz", + "integrity": "sha512-Vqz/RkmNjS2YCNK+mrdWZALDHKnPdgW6eAFibge0F9xHv+6PPmHFs0/ggJX8owZozQCbNQtsJ+up4kzF1q4Xxg==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/protocol-http": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-1.0.0-rc.10.tgz", + "integrity": "sha512-ON7GR9HEqsx2tZD2UnPqPVlDFADiTBMm6BnUQlxOIM7q0NEvKLz9ZaKxwgM5Hq5pOLg/uGAMpD1PJAUXGd6K+w==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/querystring-builder": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-1.0.0-rc.10.tgz", + "integrity": "sha512-Og6s3NfZcxez/77vD0uC34HRcp9e0uIxzJcMhXdL9C0y/eRcIAZrH0ozjfwFSAulTeVuR6OV4sXz9Ucv7grh3g==", + "dev": true, + "requires": { + "@aws-sdk/util-uri-escape": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/querystring-parser": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-1.0.0-rc.10.tgz", + "integrity": "sha512-91A5Hp1MUdxOLMy02U21lOX7fFbjGY4DgSJ84OsOX0BVAiGJufyFEHG2pDAjAJSuSDgbgrlrW3uk5cNqkyqbJw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/service-error-classification": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-1.0.0-rc.10.tgz", + "integrity": "sha512-GIkVdPbNYujnMWS/VGjhnVL5bmdD+Qr4Ov2Fpd5z5+NwIgvMP8W60I+xb8GQsebBAOVg+B2btJikv3jPME/jgA==", + "dev": true + }, + "@aws-sdk/shared-ini-file-loader": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-1.0.0-rc.9.tgz", + "integrity": "sha512-Nyw4/PGMxm0VPEI3d+Aj0cRz/q/DSM83EyYTzjT0lbE7hgdNT1Y8NljkxfxTa2uQQLjDZUtmkIfVOJ42/HriMw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/signature-v4": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-1.0.0-rc.10.tgz", + "integrity": "sha512-qekaz/KHDt3gquk4t4A8AbhJfdo86OrKIgh5RAIHUw/5v3tsojh6Z3GLsYpf1+YrmG8HGXzv4g2sdN18n1tl5w==", + "dev": true, + "requires": { + "@aws-sdk/is-array-buffer": "1.0.0-rc.8", + "@aws-sdk/util-hex-encoding": "1.0.0-rc.8", + "@aws-sdk/util-uri-escape": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/smithy-client": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-1.0.0-rc.10.tgz", + "integrity": "sha512-xpV5DlOSCORf0pLR/tvRa8QF4Bdf3lBMVfCbfWYOaONUw93oulKYWnFlSHh4MK3JNDox4hBYf/owu3SBTkIAhA==", + "dev": true, + "requires": { + "@aws-sdk/middleware-stack": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/types": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-1.0.0-rc.10.tgz", + "integrity": "sha512-9gwhYnkTNuYZ+etCtM4T8gjpZ0SWSXbzQxY34UjSS+dt3C/UnbX0J22tMahp/9Z1yCa9pihtXrkD+nO2xn7nVQ==", + "dev": true + }, + "@aws-sdk/url-parser-browser": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser-browser/-/url-parser-browser-1.0.0-rc.10.tgz", + "integrity": "sha512-1KiynhAbGr/bAkNlbx0JHXyJJj6ndcHzQo1RHK0lJazObWSiUjs+CSHDdMB4RMI5mKTEzP5HBBH2B/1us4JNTQ==", + "dev": true, + "requires": { + "@aws-sdk/querystring-parser": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/url-parser-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser-node/-/url-parser-node-1.0.0-rc.10.tgz", + "integrity": "sha512-GakSZZ/xMvw5JPQ8pLIhZ27IRO2b5Qb0iigknKQxjvx9WVDjS7FRUHZsG0Pct/gz0LuSmouQlCd2/458RbboOg==", + "dev": true, + "requires": { + "@aws-sdk/querystring-parser": "1.0.0-rc.10", + "tslib": "^1.8.0", + "url": "^0.11.0" + } + }, + "@aws-sdk/util-arn-parser": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-1.0.0-rc.8.tgz", + "integrity": "sha512-uIx9fAzM51eBexZ7jcczPQaF79L4ENUHqRUJL3AUzcsjK2NSXzTGvRZiS8EmAqqZH7kgttEchp2e35SXPSAaYw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-base64-browser": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-1.0.0-rc.8.tgz", + "integrity": "sha512-3cKuaOSM3PedrnROeqiWbRUN29XLDYHeiJg/JFM1IW1JxwW6mOM8upD4WqL13BUJwPax8MfaeG9xKCMZP0OaNA==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-base64-node": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-1.0.0-rc.8.tgz", + "integrity": "sha512-/RsrJYdNfXTEiAg9gYCB8w1lV7zHcaxDA0KMkvZGv5+NEjF40mKLb/oU71l3+42NJdR8+2iPJaWg5K1TxQp5tQ==", + "dev": true, + "requires": { + "@aws-sdk/util-buffer-from": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-body-length-browser": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-1.0.0-rc.8.tgz", + "integrity": "sha512-wN0SMHTZUiCFEDSoi66ut9N6QX31Anfi/cus4Tz/1wvHJPJbMrxR1EgH1djfBg2Dtk6iGosrdb4uACdwkzatGQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-body-length-node": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-1.0.0-rc.8.tgz", + "integrity": "sha512-QFx6no7MGmuBrs+Sf1AalJZKqczAR73wMccqmw7fJuRJWAqItp5NflOh2y6tjm5Q1PRP4hsLyGii1QIm8/NYSw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-buffer-from": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-1.0.0-rc.8.tgz", + "integrity": "sha512-NXIuqqkEsf15Qw7oJoChwGP+oO42+tJzjjgKcV+UVNmzwbXHn10XtmPwL7hgDTl2dj2xMrCoheraLKJ5jJUEFA==", + "dev": true, + "requires": { + "@aws-sdk/is-array-buffer": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-hex-encoding": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-1.0.0-rc.8.tgz", + "integrity": "sha512-7tZgYNwHsvA/Tw7LDSSOXzacb6pbz3lv7xICVMP3MTuprj4MOZmjBg5nNpFp2zPd2xKDH5DhfNMvrex3cbS/tg==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-locate-window": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-1.0.0-rc.8.tgz", + "integrity": "sha512-TvqeA4fgmZ0A0x3K+qVj/OSWEFHGZjzpVuyXlm1EYOf7NQ9VWRlokEn1MYKuL+t7al9ZeQyi16D8Dn7DW1eidw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-uri-escape": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-1.0.0-rc.8.tgz", + "integrity": "sha512-nYXuNr5pB62FK1ZvhXx04A4NIfP2JZNHf/R3LMW2TQgYW/yH6mHde1f8lEUISc/Dnc336DNkxN7T30vaRUcvLg==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-1.0.0-rc.10.tgz", + "integrity": "sha512-nBN4auoCH9kbgo7CZG0k8MD4hjWx7vLzrrwpaKNzjNYC3UgeXCAey29ccexp1tv3hNnCvwtk43SGJkXa+7NLvw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-1.0.0-rc.10.tgz", + "integrity": "sha512-x7E8c5ISflKDazSNix3S/2JPVImR01JT7re/xG5m+ZsqAHu842cnNMUtYpk0nXpgRRED+/j3Fyybqa2nrZOevQ==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-utf8-browser": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-1.0.0-rc.8.tgz", + "integrity": "sha512-clncPMJ23rxCIkZ9LoUC8SowwZGxWyN2TwRb0XvW/Cv9EavkRgRCOrCpneGyC326lqtMKx36onnpaSRHxErUYw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-utf8-node": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-1.0.0-rc.8.tgz", + "integrity": "sha512-7nu5Yk8agcK/y5X/CV9u7P8Q2OW6q+2vmuOpzNXDVM/KR3QX1g9PC1P0Isc4v74Q5t/hRkJxq2auIMJKZSAjDA==", + "dev": true, + "requires": { + "@aws-sdk/util-buffer-from": "1.0.0-rc.8", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/util-waiter": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-1.0.0-rc.10.tgz", + "integrity": "sha512-dwF5bXgWG1VDTxyACzCY+Kfa3JlmA9vh2gbQGJURLdzHPdyJE+3UegCp7YbgOkOQj8OnvISC66usZaoWf8fqIQ==", + "dev": true, + "requires": { + "@aws-sdk/abort-controller": "1.0.0-rc.10", + "@aws-sdk/types": "1.0.0-rc.10", + "tslib": "^1.8.0" + } + }, + "@aws-sdk/xml-builder": { + "version": "1.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-1.0.0-rc.8.tgz", + "integrity": "sha512-8x4nbr4/N4NEpIs6WwbkNQdefQqZI9l3zLfs1a16E2RNEUWtM0RocU4OoA73yyGUZNmDjiZ3tFsx9aDMRe21bw==", + "dev": true, + "requires": { + "tslib": "^1.8.0" + } + }, + "@azure/arm-appservice": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@azure/arm-appservice/-/arm-appservice-6.1.0.tgz", + "integrity": "sha512-CST99Ht+ziZ42zlCpIqKZ2vIrDHBStk9ODIEue08LU+AFIbRuXqR7DFyLv9Q8NldCvzKAXFfCA6LJiJgCYoEWw==", + "dev": true, + "requires": { + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" } }, - "@adobe/openwhisk-action-builder": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/@adobe/openwhisk-action-builder/-/openwhisk-action-builder-2.15.1.tgz", - "integrity": "sha512-FksLgtGrRzD1Xw6M/ex1XM2Il4HA3+nFs0zWfmmIVT/0EHcGG3VtPTZ9c5gCxFP9GQbFO8XxOosVURcRlghOJw==", + "@azure/ms-rest-azure-env": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-azure-env/-/ms-rest-azure-env-2.0.0.tgz", + "integrity": "sha512-dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw==", + "dev": true + }, + "@azure/ms-rest-azure-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-azure-js/-/ms-rest-azure-js-2.0.1.tgz", + "integrity": "sha512-5e+A710O7gRFISoV4KI/ZyLQbKmjXxQZ1L8Z/sx7jSUQqmswjTnN4yyIZxs5JzfLVkobU0rXxbi5/LVzaI8QXQ==", "dev": true, "requires": { - "@adobe/helix-fetch": "^1.7.0", - "archiver": "^5.0.0", - "chalk": "^4.0.0", - "dotenv": "^8.0.0", - "fs-extra": "^9.0.0", - "isomorphic-git": "1.8.0", - "openwhisk": "^3.17.0", - "semver": "^7.0.0", - "webpack": "^4.39.2", - "yargs": "^16.0.0" + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" + } + }, + "@azure/ms-rest-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.1.0.tgz", + "integrity": "sha512-4BXLVImYRt+jcUmEJ5LUWglI8RBNVQndY6IcyvQ4U8O4kIXdmlRz3cJdA/RpXf5rKT38KOoTO2T6Z1f6Z1HDBg==", + "dev": true, + "requires": { + "@types/node-fetch": "^2.3.7", + "@types/tunnel": "0.0.1", + "abort-controller": "^3.0.0", + "form-data": "^2.5.0", + "node-fetch": "^2.6.0", + "tough-cookie": "^3.0.1", + "tslib": "^1.10.0", + "tunnel": "0.0.6", + "uuid": "^3.3.2", + "xml2js": "^0.4.19" }, "dependencies": { - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, - "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true - }, - "yargs": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.0.tgz", - "integrity": "sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g==", + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.2", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - } - } - }, - "@adobe/openwhisk-action-logger": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@adobe/openwhisk-action-logger/-/openwhisk-action-logger-2.3.1.tgz", - "integrity": "sha512-kCHQbdl5NlRCgPDvBUYzKIDq+xIpmJhYwt3U8hG+rf7gMrg9VMv3kK/za5tFf+q4F7GmDQBvB4lblaIetEkEJw==", - "requires": { - "@adobe/helix-log": "4.5.3", - "cls-hooked": "^4.2.2" - }, - "dependencies": { - "@adobe/helix-log": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", - "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", - "requires": { - "big.js": "^6.0.0", - "colorette": "^1.1.0", - "ferrum": "^1.7.0", - "phin": "^3.4.1", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "winston-transport": "^4.3.0" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" } - }, - "big.js": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", - "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" } } }, - "@adobe/openwhisk-action-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/openwhisk-action-utils/-/openwhisk-action-utils-4.4.0.tgz", - "integrity": "sha512-w2BUbnFKq4MnnuNslEb0K7HcmN1XmFcQlLwZo3BjwKdu5XW0SGXUOnMdCYlmt4HqLsojFAz7Lz0y4vqEblAxIw==", + "@azure/ms-rest-nodeauth": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-3.0.6.tgz", + "integrity": "sha512-2twuzsXHdKMzEFI2+Sr82o6yS4ppNGZceYwil8PFo+rJxOZIoBm9e0//YC+dKilV/3F+6K/HuW8LdskDrJEQWA==", + "dev": true, "requires": { - "@adobe/helix-log": "4.5.3", - "bunyan": "1.8.14", - "serverless-http": "2.6.0" + "@azure/ms-rest-azure-env": "^2.0.0", + "@azure/ms-rest-js": "^2.0.4", + "adal-node": "^0.1.28" }, "dependencies": { - "@adobe/helix-log": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.3.tgz", - "integrity": "sha512-4sQaXRs3APFfipgF0pA3ZAvsC6U+oJOGrCdDBFPQRMBIHSLo2PssbiAEyiVFPwJHlCT/fTVioDZSyl3Hye+Gsw==", + "adal-node": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz", + "integrity": "sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU=", + "dev": true, "requires": { - "big.js": "^6.0.0", - "colorette": "^1.1.0", - "ferrum": "^1.7.0", - "phin": "^3.4.1", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "winston-transport": "^4.3.0" + "@types/node": "^8.0.47", + "async": ">=0.6.0", + "date-utils": "*", + "jws": "3.x.x", + "request": ">= 2.52.0", + "underscore": ">= 1.3.1", + "uuid": "^3.1.0", + "xmldom": ">= 0.1.x", + "xpath.js": "~1.1.0" } - }, - "big.js": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.0.3.tgz", - "integrity": "sha512-n6yn1FyVL1EW2DBAr4jlU/kObhRzmr+NNRESl65VIOT8WBJj/Kezpx2zFdhJUqYI6qrtTW7moCStYL5VxeVdPA==" } } }, - "@arr/every": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@arr/every/-/every-1.0.1.tgz", - "integrity": "sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==" - }, "@babel/code-frame": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", @@ -1272,6 +2678,38 @@ "integrity": "sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==", "dev": true }, + "@types/eslint": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", + "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -1290,6 +2728,29 @@ "integrity": "sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q==", "dev": true }, + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "@types/normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -1314,196 +2775,30 @@ "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", "dev": true, "requires": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "@types/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@types/cookiejar": "*", + "@types/node": "*" } }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "@types/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" + }, + "@types/tunnel": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.1.tgz", + "integrity": "sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "@types/node": "*" } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -1534,12 +2829,6 @@ "event-target-shim": "^5.0.0" } }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, "acorn-jsx": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", @@ -1626,12 +2915,6 @@ } } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -1716,12 +2999,6 @@ "default-require-extensions": "^3.0.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "archiver": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.0.2.tgz", @@ -1912,53 +3189,6 @@ "safer-buffer": "~2.1.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -1990,13 +3220,6 @@ "lodash": "^4.17.14" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, "async-hook-jl": { "version": "1.7.6", "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", @@ -2157,12 +3380,6 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "dev": true - }, "bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", @@ -2187,97 +3404,23 @@ "fill-range": "^7.0.1" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "pako": "~1.0.5" + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "buffer": { @@ -2306,18 +3449,6 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, "bunyan": { "version": "1.8.14", "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz", @@ -2329,69 +3460,6 @@ "safe-json-stringify": "~1" } }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -2491,6 +3559,12 @@ } } }, + "caniuse-lite": { + "version": "1.0.30001170", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz", + "integrity": "sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA==", + "dev": true + }, "cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -2628,12 +3702,6 @@ "readdirp": "~3.5.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -2643,16 +3711,6 @@ "tslib": "^1.9.0" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -3035,50 +4093,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "config-master": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", @@ -3102,18 +4116,6 @@ "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", "dev": true }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -3294,45 +4296,6 @@ "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", "dev": true }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -3386,51 +4349,6 @@ "readable-stream": "^3.4.0" } }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3444,27 +4362,8 @@ }, "crypt": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" }, "crypto-random-string": { "version": "2.0.0", @@ -3472,12 +4371,6 @@ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "cz-conventional-changelog": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", @@ -3703,16 +4596,6 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -3737,25 +4620,6 @@ "integrity": "sha1-1OXDpM305f4SEatC5pP8tDIVgPw=", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -3802,12 +4666,6 @@ "esutils": "^2.0.2" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -3881,50 +4739,6 @@ } } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -3942,28 +4756,11 @@ "safe-buffer": "^5.0.1" } }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } + "electron-to-chromium": { + "version": "1.3.633", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", + "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==", + "dev": true }, "emitter-listener": { "version": "1.1.2", @@ -3979,12 +4776,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -3994,59 +4785,6 @@ "once": "^1.4.0" } }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -4086,15 +4824,6 @@ "uuid4": "^1.0.0" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4426,16 +5155,6 @@ } } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -4547,16 +5266,6 @@ "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "execa": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", @@ -4740,11 +5449,16 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, + "fast-base64-decode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", + "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.4", @@ -4775,8 +5489,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -4789,6 +5502,12 @@ "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, + "fast-xml-parser": { + "version": "3.17.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.17.6.tgz", + "integrity": "sha512-40WHI/5d2MOzf1sD2bSaTXlPn1lueJLAX6j1xH5dSAr6tNeut8B9ktEL6sjAK9yVON4uNj9//axOdBJUuruCzw==", + "dev": true + }, "fastq": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", @@ -4827,12 +5546,6 @@ } } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -4896,17 +5609,6 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, "find-node-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.0.0.tgz", @@ -5012,48 +5714,6 @@ "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "follow-redirects": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", @@ -5179,50 +5839,6 @@ "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=", "dev": true }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5400,6 +6016,12 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -5626,7 +6248,21 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { + "ajv": "^6.12.3", "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } } }, "hard-rejection": { @@ -5708,27 +6344,6 @@ } } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "hasha": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz", @@ -5742,19 +6357,8 @@ "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true }, "homedir-polyfill": { "version": "1.0.3", @@ -5826,12 +6430,6 @@ "sshpk": "^1.7.0" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, "https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -5876,12 +6474,6 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -5936,12 +6528,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6290,12 +6876,6 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -6527,6 +7107,17 @@ "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6679,8 +7270,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -7045,23 +7635,6 @@ } } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -7277,16 +7850,6 @@ "yallist": "^4.0.0" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -7400,65 +7963,12 @@ "is-buffer": "~1.1.6" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", "dev": true }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "meow": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz", @@ -7717,24 +8227,6 @@ } } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, "mime": { "version": "2.4.6", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", @@ -7771,18 +8263,6 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -7824,66 +8304,6 @@ "minimist": "^1.2.5" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -7909,6 +8329,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -8290,45 +8711,6 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "optional": true }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -8453,88 +8835,6 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, "node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", @@ -8544,6 +8844,12 @@ "process-on-spawn": "^1.0.0" } }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -12215,12 +12521,6 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -12382,12 +12682,6 @@ "word-wrap": "^1.2.3" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -12490,49 +12784,6 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -12542,19 +12793,6 @@ "callsites": "^3.0.0" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "parse-json": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", @@ -12579,19 +12817,6 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -12626,19 +12851,6 @@ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", "dev": true }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -12759,51 +12971,6 @@ } } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, "please-upgrade-node": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", @@ -12840,12 +13007,6 @@ "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", "dev": true }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -12866,12 +13027,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, "proxyquire": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", @@ -12883,39 +13038,11 @@ "resolve": "^1.11.1" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -12926,29 +13053,6 @@ "once": "^1.3.1" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -12971,12 +13075,6 @@ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -12991,16 +13089,6 @@ "safe-buffer": "^5.1.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -13021,6 +13109,15 @@ } } }, + "react-native-get-random-values": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.5.0.tgz", + "integrity": "sha512-LK+Wb8dEimJkd/dub7qziDmr9Tw4chhpzVeQ6JDo4czgfG4VXbptRyOMdu8503RiMF6y9pTH6ZUTkrrpprqT7w==", + "dev": true, + "requires": { + "fast-base64-decode": "^1.0.0" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -13272,13 +13369,6 @@ "es6-error": "^4.0.1" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true - }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -13504,16 +13594,6 @@ "glob": "^6.0.1" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, "rss-parser": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.10.0.tgz", @@ -13535,15 +13615,6 @@ "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", "dev": true }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, "rxjs": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", @@ -13583,31 +13654,6 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - } - } - }, "semantic-release": { "version": "17.3.0", "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.3.0.tgz", @@ -13760,15 +13806,6 @@ "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", "dev": true }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "serverless-http": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/serverless-http/-/serverless-http-2.6.0.tgz", @@ -13806,12 +13843,6 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -14286,15 +14317,6 @@ "tweetnacl": "~0.14.0" } }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, "stack-chain": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", @@ -14326,48 +14348,6 @@ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -14430,16 +14410,6 @@ } } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, "stream-events": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", @@ -14449,57 +14419,6 @@ "stubs": "^3.0.0" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, "stream-via": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", @@ -14757,12 +14676,6 @@ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", "dev": true }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, "tar-stream": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", @@ -14842,59 +14755,15 @@ "requires": { "del": "^6.0.0", "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true - } - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true } } @@ -14978,15 +14847,6 @@ "readable-stream": "3" } }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -15122,10 +14982,10 @@ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "dev": true }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true }, "tunnel-agent": { @@ -15162,12 +15022,6 @@ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -15214,24 +15068,6 @@ "set-value": "^2.0.1" } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -15292,13 +15128,6 @@ } } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -15354,23 +15183,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -15417,317 +15229,12 @@ "extsprintf": "^1.2.0" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "walk-back": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-4.0.0.tgz", "integrity": "sha512-kudCA8PXVQfrqv2mFTG72vDBRi8BKWxGgFLwPpzHcpZnSwZk93WMwUDVcLHWNsnm+Y0AC4Vb6MUNRgaHfyV2DQ==", "dev": true }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -15845,15 +15352,6 @@ "typical": "^2.6.1" } }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -15963,6 +15461,12 @@ "decamelize": "^1.2.0" } }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "zip-stream": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.0.2.tgz", diff --git a/package.json b/package.json index ae431c15..5371f94b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/helix-data-embed", - "version": "2.2.1", + "version": "2.2.1-hedy", "private": true, "description": "Helix Data Embed", "main": "src/index.js", @@ -11,14 +11,15 @@ "lint": "./node_modules/.bin/eslint .", "semantic-release": "semantic-release", "commit": "git-cz", - "build": "wsk-builder -v", - "deploy": "wsk-builder -v --deploy --test=/_status_check/healthcheck.json", - "deploy-sequences": "wsk-builder --no-build -no-hints -l latest -l major -l minor", - "deploy-ci": "wsk-builder -v --deploy --test=/_status_check/healthcheck.json --pkgVersion=ci$CIRCLE_BUILD_NUM -l ci" + "build": "hedy -v", + "deploy": "hedy -v --deploy --test=/_status_check/healthcheck.json", + "deploy-sequences": "hedy --no-build -no-hints -l latest -l major -l minor", + "deploy-ci": "hedy -v --deploy --test=/_status_check/healthcheck.json --pkgVersion=ci$CIRCLE_BUILD_NUM -l ci" }, "wsk": { "namespace": "helix", - "name": "helix-services/data-embed@${version}" + "name": "helix-services/data-embed@${version}", + "memory": 512 }, "repository": { "type": "git", @@ -31,8 +32,8 @@ }, "homepage": "https://github.com/adobe/helix-data-embed#readme", "dependencies": { - "@adobe/helix-fetch": "1.9.2", "@adobe/helix-epsagon": "1.5.5", + "@adobe/helix-fetch": "1.9.2", "@adobe/helix-onedrive-support": "3.1.6", "@adobe/helix-shared": "7.18.0", "@adobe/helix-status": "9.0.0", @@ -40,13 +41,14 @@ "@adobe/openwhisk-action-utils": "4.4.0", "@flighter/a1-notation": "1.0.6", "googleapis": "66.0.0", + "node-fetch": "2.6.1", "rss-parser": "3.10.0" }, "devDependencies": { "@adobe/eslint-config-helix": "1.1.3", + "@adobe/helix-deploy": "1.14.0", "@adobe/helix-ops": "1.12.3", "@adobe/helix-testutils": "0.4.2", - "@adobe/openwhisk-action-builder": "2.15.1", "@semantic-release/changelog": "5.0.1", "@semantic-release/exec": "5.0.0", "@semantic-release/git": "9.0.0", diff --git a/src/data-source.js b/src/data-source.js index 69827b9b..be1bd974 100644 --- a/src/data-source.js +++ b/src/data-source.js @@ -9,58 +9,42 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -const querystring = require('querystring'); /** * Analyses the params and extracts the data source, which is specified by a `src` param. * For backward compatibility, the source can also be added as path, either escaped or unescaped. * - * @param {string} params the openwhisk action params - * @return {URL} the extracted data source or null + * @param {Request} req The request + * @return {HEDYContext} the universal deploy context */ -function dataSource(params) { - const { __ow_path: path = '', src = '' } = params; +function dataSource(req, context) { + const { pathInfo: { suffix } = {} } = context; + const { searchParams } = new URL(req.url); + const src = searchParams.get('src') || ''; let url = null; - if (!path) { + if (!suffix) { try { url = new URL(src); } catch (e) { return null; } - // expect the _ow_path to start with /https:/ or /https%3a%2f + // expect the suffix to start with /https:/ or /https%3a%2f // the escaping done by runtime is inconsistent, the : may be decoded - } else if (path.match(/^\/https(:|%3A)%2F/)) { - url = new URL(decodeURIComponent(path.substring(1) + } else if (suffix.match(/^\/https(:|%3A)%2F/)) { + url = new URL(decodeURIComponent(suffix.substring(1) .replace(/^https(:|%3A)%2F([^%])/, 'https://$2'))); - } else if (!path.startsWith('/https:/')) { + } else if (!suffix.startsWith('/https:/')) { return null; } else { - url = new URL(path.substring(1) + url = new URL(suffix.substring(1) // workaround: Adobe I/O Runtime messes up consecutive spaces in URLs .replace(/^https:\/\/?([^/])/, 'https://$1')); } - if (!params.__ow_query) { - // reconstruct __ow_query - const q = {}; - Object.keys(params) - .filter((key) => !/^[A-Z]+_[A-Z]+/.test(key)) - .filter((key) => key !== 'api') - .filter((key) => key !== 'src') - .filter((key) => !/^__ow_/.test(key)) - .forEach((key) => { - q[key] = params[key]; - // don't append querybuilder keys to source or if a src param was given - if (!key.startsWith('hlx_') && !params.src) { - url.searchParams.append(key, params[key]); - } - }); - // eslint-disable-next-line no-param-reassign - params.__ow_query = querystring.stringify(q); - } else { - // else add it to the url - Object.entries(querystring.parse(params.__ow_query)) + if (!src) { + // add query params to data source url + Array.from(searchParams.entries()) .filter(([key]) => (!key.startsWith('hlx_'))) .forEach(([key, value]) => { url.searchParams.append(key, value); diff --git a/src/embed.js b/src/embed.js index b4274401..7192a645 100644 --- a/src/embed.js +++ b/src/embed.js @@ -27,13 +27,14 @@ function hasParams(list, params) { /** * Returns the data representation of the resource addressed by url. * @param {URL} url The url of the resource - * @param {object} params The action params + * @param {Object} params additional params + * @param {object} env The action environment * @param {Logger} log logger * @returns {object} an action response with the body containing the data. */ -function embed(url, params, log) { +function embed(url, params, env, log) { const candidates = matchers - .filter((candidate) => hasParams(candidate.required, params)); + .filter((candidate) => hasParams(candidate.required, env)); const matching = candidates.find((candidate) => candidate.accept(url)); @@ -50,7 +51,7 @@ function embed(url, params, log) { } log.info(`found handler for ${url}: ${matching.name}`); - return matching.extract(url, params, log); + return matching.extract(url, params, env, log); } module.exports = embed; diff --git a/src/index.js b/src/index.js index f12bee85..59e840bb 100644 --- a/src/index.js +++ b/src/index.js @@ -9,10 +9,10 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ +const { Response } = require('node-fetch'); const { wrap } = require('@adobe/openwhisk-action-utils'); const { logger } = require('@adobe/openwhisk-action-logger'); -const { wrap: status } = require('@adobe/helix-status'); -const { epsagon } = require('@adobe/helix-epsagon'); +const { wrap: helixStatus } = require('@adobe/helix-status'); const embed = require('./embed'); const { loadquerystring } = require('./querybuilder/url'); const { createfilter } = require('./querybuilder/filter'); @@ -20,51 +20,70 @@ const dataSource = require('./data-source.js'); const MAX_DATA_SIZE = 750000; -async function main(params) { +async function main(req, context) { /* istanbul ignore next */ - const { __ow_logger: log = console } = params; - const url = dataSource((params)); + const { log = console } = context; + const url = dataSource(req, context); if (!url) { - return { - statusCode: 400, - body: 'Expecting a datasource', - }; + return new Response('Expecting a datasource', { + status: 400, + }); } - log.info(`data-embed for datasource ${url}`); - const qbquery = loadquerystring(params.__ow_query, 'hlx_'); - log.debug('QB query', qbquery); - const filter = createfilter(qbquery); - log.debug('QB filter', filter); - const result = await embed(url, params, log); + try { + const { searchParams } = new URL(req.url); - const { body } = result; - delete result.body; - log.debug('result', result); - log.debug(`result body size: ${JSON.stringify(body).length}`); - const filtered = filter(body); - let size = JSON.stringify(filtered).length; - log.info(`filtered result ${filtered.length} rows. size: ${size}`); - if (size > MAX_DATA_SIZE) { - // todo: could be optimized to be more accurate using some binary search approach - const avgRowSize = size / filtered.length; - const retain = Math.floor(MAX_DATA_SIZE / avgRowSize); - filtered.splice(retain, filtered.length - retain); - size = JSON.stringify(filtered).length; - log.info(`result truncated to ${filtered.length} rows. size: ${size}`); - } - return { - ...result, - body: { + log.info(`data-embed for datasource ${url}`); + const qbquery = loadquerystring(searchParams, 'hlx_'); + log.debug('QB query', qbquery); + const filter = createfilter(qbquery); + log.debug('QB filter', filter); + const params = Array.from(searchParams.entries()).reduce((p, [key, value]) => { + // eslint-disable-next-line no-param-reassign + p[key] = value; + return p; + }, {}); + const result = await embed(url, params, context.env, log); + + const { + body, + statusCode: status, + headers, + } = result; + log.debug(`result body size: ${JSON.stringify(body).length}`); + const filtered = filter(body); + let size = JSON.stringify(filtered).length; + log.info(`filtered result ${filtered.length} rows. size: ${size}`); + if (size > MAX_DATA_SIZE) { + // todo: could be optimized to be more accurate using some binary search approach + const avgRowSize = size / filtered.length; + const retain = Math.floor(MAX_DATA_SIZE / avgRowSize); + filtered.splice(retain, filtered.length - retain); + size = JSON.stringify(filtered).length; + log.info(`result truncated to ${filtered.length} rows. size: ${size}`); + } + const bodyText = JSON.stringify({ total: body.length, offset: filter.offset || 0, limit: filtered.length, data: filtered, - }, - }; + }); + return new Response(bodyText, { + status, + headers, + }); + } catch (e) { + log.error('error fetching data', e); + return new Response('error fetching data', { + status: 500, + headers: { + 'content-type': 'application/json', + 'cache-control': 'no-store, private, must-revalidate', + }, + }); + } } module.exports.main = wrap(main) - .with(epsagon) - .with(status) + .with(helixStatus) .with(logger.trace) .with(logger); diff --git a/src/matchers/excel.js b/src/matchers/excel.js index b26a6dbc..1e2a895e 100644 --- a/src/matchers/excel.js +++ b/src/matchers/excel.js @@ -11,14 +11,16 @@ */ const { OneDrive } = require('@adobe/helix-onedrive-support'); -async function extract(url, params, log = console) { +async function extract(url, params, env, log = console) { const { - AZURE_WORD2MD_CLIENT_ID: clientId, - AZURE_HELIX_USER: username, - AZURE_HELIX_PASSWORD: password, sheet, table, } = params; + const { + AZURE_WORD2MD_CLIENT_ID: clientId, + AZURE_HELIX_USER: username, + AZURE_HELIX_PASSWORD: password, + } = env; try { const drive = new OneDrive({ diff --git a/src/matchers/google.js b/src/matchers/google.js index 4bebe19a..b0ef7ee0 100644 --- a/src/matchers/google.js +++ b/src/matchers/google.js @@ -36,13 +36,15 @@ function createOAuthClient(options, creds) { return oAuth2Client; } -async function extract(url, params, log = console) { +async function extract(url, params, env, log = console) { + const { + sheet, + } = params; const { GOOGLE_DOCS2MD_CLIENT_ID: clientId, GOOGLE_DOCS2MD_CLIENT_SECRET: clientSecret, GOOGLE_DOCS2MD_REFRESH_TOKEN: refresh_token, - sheet, - } = params; + } = env; try { const spreadsheetId = getId(url); diff --git a/src/matchers/run-query.js b/src/matchers/run-query.js index ddb0a20a..62bd4be2 100644 --- a/src/matchers/run-query.js +++ b/src/matchers/run-query.js @@ -21,7 +21,7 @@ const { fetch } = require('@adobe/helix-fetch').context({ }); const { utils } = require('@adobe/helix-shared'); -async function extract(url, params, log = console) { +async function extract(url, params, env, log = console) { const host = 'https://adobeioruntime.net'; const path = '/api/v1/web/helix/helix-services/run-query@v2/'; const query = url.toString().split('/').pop(); diff --git a/src/querybuilder/url.js b/src/querybuilder/url.js index 63ba74c3..445ec255 100644 --- a/src/querybuilder/url.js +++ b/src/querybuilder/url.js @@ -177,8 +177,11 @@ function nest(obj) { return transformconjunctions(root); } -function cast(obj) { - return Object.entries(obj).reduce((o, [k, v]) => { +function cast(searchParams) { + const entries = searchParams instanceof URLSearchParams + ? Array.from(searchParams.entries()) + : Object.entries(searchParams); + return entries.reduce((o, [k, v]) => { if (v === 'true' || v === 'false') { o[k] = (v === 'true'); } else if (!Number.isNaN(Number.parseFloat(v))) { @@ -190,8 +193,10 @@ function cast(obj) { }, {}); } -function loadquerystring(str, prefix = '') { - const obj = cast(parse(str)); +function loadquerystring(searchParams, prefix = '') { + const obj = searchParams instanceof URLSearchParams + ? cast(searchParams) + : cast(parse(searchParams)); return nest(Object.entries(obj).reduce((o, [k, v]) => { if (k.startsWith(prefix)) { diff --git a/test/data-source.test.js b/test/data-source.test.js index 6f88a641..3f7004dc 100644 --- a/test/data-source.test.js +++ b/test/data-source.test.js @@ -16,111 +16,123 @@ const dataSource = require('../src/data-source.js'); describe('Data Source Tests', () => { it('returns null for no path or src', () => { - assert.equal(dataSource({}), null); + assert.equal(dataSource({ + url: 'https://www.example.com/foo', + }, {}), null); }); it('rejects paths not starting with https://', () => { - assert.equal(dataSource({}), null); + assert.equal(dataSource({ + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: '/http://example.com', + }, + }), null); }); it('rejects escaped paths not starting with https://', () => { assert.equal(dataSource({ - __ow_path: `/${querystring.escape('http://example.com')}`, - }), - null); + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: `/${querystring.escape('http://example.com')}`, + }, + }), null); }); it('rejects src parameters not starting with scheme', () => { assert.equal(dataSource({ - src: '/example.com', - }), - null); + url: 'https://www.example.com/foo?src=/example.com', + }, {}), null); }); it('src parameters allows for different scheme', () => { assert.equal(dataSource({ - src: 'onedrive://drives/123123/items/234234', - }), + url: `https://www.example.com/foo?${querystring.stringify({ + src: 'onedrive://drives/123123/items/234234', + })}`, + }, {}), 'onedrive://drives/123123/items/234234'); }); it('returns data source for `src` parameter', () => { - const params = { - src: 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2', - hlx_limit: '1', - foo: 'bar', - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, 'hlx_limit=1&foo=bar'); + assert.equal(dataSource({ + url: `https://www.example.com/foo?${querystring.stringify({ + src: 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2', + hlx_limit: '1', + foo: 'bar', + })}`, + }, {}), + 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); }); it('returns data source for `src` parameter with different scheme', () => { - const params = { - src: 'onedrive://drives/1234/items/5677?a=1&b=2', - hlx_limit: '1', - foo: 'bar', - }; - assert.equal(dataSource(params), 'onedrive://drives/1234/items/5677?a=1&b=2'); - assert.equal(params.__ow_query, 'hlx_limit=1&foo=bar'); + assert.equal(dataSource({ + url: `https://www.example.com/foo?${querystring.stringify({ + src: 'onedrive://drives/1234/items/5677?a=1&b=2', + hlx_limit: '1', + foo: 'bar', + })}`, + }, {}), + 'onedrive://drives/1234/items/5677?a=1&b=2'); }); it('returns data source for backward compat path parameter with no query', () => { - const params = { - __ow_path: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2', - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, ''); + assert.equal(dataSource({ + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2', + }, + }), + 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); }); it('returns data source for backward compat path parameter and params', () => { - const params = { - __ow_path: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', - a: 1, - b: 2, - hlx_limit: 1, - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, 'a=1&b=2&hlx_limit=1'); - }); - - it('returns data source for backward compat path parameter with query', () => { - const params = { - __ow_path: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', - __ow_query: 'a=1&b=2', - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, 'a=1&b=2'); - }); - - it('returns data source for backward compat path parameter with query in params', () => { - const params = { - __ow_path: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', - a: 1, - b: 2, - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, 'a=1&b=2'); + assert.equal(dataSource({ + url: `https://www.example.com/foo?${querystring.stringify({ + a: 1, + b: 2, + hlx_limit: 1, + })}`, + }, { + pathInfo: { + suffix: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', + }, + }), + 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); }); it('returns data source for escaped path', () => { - const params = { - __ow_path: `/${querystring.escape('https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2')}`, - }; - assert.equal(dataSource(params), 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); - assert.equal(params.__ow_query, ''); + assert.equal(dataSource({ + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: `/${querystring.escape('https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2')}`, + }, + }), + 'https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500?a=1&b=2'); }); it('returns data source for escaped and mangled path', () => { - // logs say: "message":"invalid source /https:%2F%2Fwww.youtube.com%2Fwatch%3Fv=TTCVn4EByfI" assert.equal(dataSource({ - __ow_path: '/https:%2F%2Fwww.youtube.com%2Fwatch%3Fv=TTCVn4EByfI', + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: '/https:%2F%2Fwww.youtube.com%2Fwatch%3Fv=TTCVn4EByfI', + }, }), 'https://www.youtube.com/watch?v=TTCVn4EByfI'); }); it('returns data source for unescaped and mangled path', () => { assert.equal(dataSource({ - __ow_path: '/https:/www.youtube.com/watch?v=TTCVn4EByfI', + url: 'https://www.example.com/foo', + }, { + pathInfo: { + suffix: '/https:/www.youtube.com/watch?v=TTCVn4EByfI', + }, }), 'https://www.youtube.com/watch?v=TTCVn4EByfI'); }); diff --git a/test/excel.integration.test.js b/test/excel.integration.test.js index d82cf059..99a72af2 100644 --- a/test/excel.integration.test.js +++ b/test/excel.integration.test.js @@ -12,13 +12,31 @@ /* eslint-env mocha */ const assert = require('assert'); +const querystring = require('querystring'); const { condit } = require('@adobe/helix-testutils'); -const { main } = require('../src/index'); +const { main: universalMain } = require('../src/index'); require('dotenv').config(); const condition = condit.hasenv('AZURE_WORD2MD_CLIENT_ID', 'AZURE_HELIX_USER', 'AZURE_HELIX_PASSWORD'); +async function main(params = {}, env = {}) { + const resp = await universalMain({ + url: `https://data-emmbed.com/fetch?${querystring.encode(params)}`, + }, { + env, + }); + return { + statusCode: resp.status, + body: JSON.parse(resp.body.toString()), + headers: [...resp.headers.keys()].reduce((result, key) => { + // eslint-disable-next-line no-param-reassign + result[key] = resp.headers.get(key); + return result; + }, {}), + }; +} + const DATA_COUNTRIES = [{ Country: 'Japan', Code: 'JP', Number: 3 }, { Country: 'Germany', Code: 'DE', Number: 5 }, { Country: 'USA', Code: 'US', Number: 7 }, @@ -29,8 +47,8 @@ const DATA_COUNTRIES = [{ Country: 'Japan', Code: 'JP', Number: 3 }, describe('Excel Integration Test', () => { condit('Excel Spreadsheet without helix-default sheet returns 404', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/data-embed-no-default.xlsx?d=wf80aa1d65efb4e41bd16ba3ca0a4564b&csf=1&web=1&e=9WnXzf', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -40,9 +58,9 @@ describe('Excel Integration Test', () => { condit('Excel Spreadsheet without helix-default but sheet params', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/data-embed-no-default.xlsx?d=wf80aa1d65efb4e41bd16ba3ca0a4564b&csf=1&web=1&e=9WnXzf', sheet: 'countries', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -58,8 +76,8 @@ describe('Excel Integration Test', () => { condit('Excel Spreadsheet without helix returns first sheet', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/data-embed-no-helix.xlsx?d=w88ace0003b6847a48b6bb84b79a5b72b&csf=1&web=1&e=Sg8lKt', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -75,9 +93,9 @@ describe('Excel Integration Test', () => { condit('Excel Spreadsheet without helix-default but sheet params Unicode', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a', sheet: '日本', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -93,8 +111,8 @@ describe('Excel Integration Test', () => { condit('Retrieves Excel Spreadsheet with helix-default (range)', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -110,10 +128,10 @@ describe('Excel Integration Test', () => { condit('Retrieves Excel Spreadsheet with tables and table name', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a', sheet: 'tables', table: 'Table1', + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -129,10 +147,10 @@ describe('Excel Integration Test', () => { condit('Retrieves Excel Spreadsheet with tables and table index', condition, async () => { const result = await main({ - __ow_logger: console, src: 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a', sheet: 'tables', table: 1, + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, @@ -149,13 +167,13 @@ describe('Excel Integration Test', () => { condit('Retrieves Excel Spreadsheet via drive uri', condition, async () => { const result = await main({ - __ow_logger: console, src: 'onedrive:/drives/b!DyVXacYnlkm_17hZL307Me9vzRzaKwZCpVMBYbPOKaVT_gD5WmlHRbC-PCpiwGPx/items/012VWERI7U74IWSKVFH5F3QBLA3B4FVX5D', + 'hlx_p.limit': 2, + 'hlx_p.offset': 3, + }, { AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, - 'hlx_p.limit': 2, - 'hlx_p.offset': 3, }); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, { diff --git a/test/excel.test.js b/test/excel.test.js index d5812736..0c828940 100644 --- a/test/excel.test.js +++ b/test/excel.test.js @@ -70,6 +70,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data-no-default.xlsx'), {}, + {}, ); assert.equal(result.statusCode, 404); }); @@ -80,6 +81,7 @@ describe('Excel Tests', () => { { sheet: 'foo', }, + {}, ); assert.equal(result.statusCode, 404); }); @@ -91,6 +93,7 @@ describe('Excel Tests', () => { { sheet: 'countries', }, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -101,6 +104,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data-no-helix.xlsx'), {}, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -111,6 +115,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data-no-tables.xlsx'), {}, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -121,6 +126,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('onedrive:/drives/my-drive/items/my-item'), {}, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -133,6 +139,7 @@ describe('Excel Tests', () => { { table: '0', }, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -145,6 +152,7 @@ describe('Excel Tests', () => { { table: 'Table1', }, + {}, ); assert.equal(result.statusCode, 200); assert.deepEqual(result.body, expected); @@ -156,6 +164,7 @@ describe('Excel Tests', () => { { table: 'foo', }, + {}, ); assert.equal(result.statusCode, 404); }); @@ -166,6 +175,7 @@ describe('Excel Tests', () => { { table: '99', }, + {}, ); assert.equal(result.statusCode, 404); }); @@ -174,6 +184,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/not-exist.xlsx'), {}, + {}, ); assert.equal(result.statusCode, 404); @@ -184,6 +195,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('onedrive:/drives/1234/items/5678'), {}, + {}, ); assert.equal(result.statusCode, 404); @@ -194,6 +206,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('onedrive:/drives/1234/root'), {}, + {}, ); assert.equal(result.statusCode, 500); @@ -204,6 +217,7 @@ describe('Excel Tests', () => { const result = await extract( new URL('onedrive:/1234'), {}, + {}, ); assert.equal(result.statusCode, 500); diff --git a/test/feed.test.js b/test/feed.test.js index e07179d2..7b6631eb 100644 --- a/test/feed.test.js +++ b/test/feed.test.js @@ -16,28 +16,41 @@ const { main } = require('../src/index'); describe('Feed Tests', () => { it('Works for RSS Feeds', async () => { const result = await main({ - __ow_path: '/https://daringfireball.net/feeds/articles', - __ow_query: '', + url: 'https://www.example.com/data-embed-action', + }, { + env: {}, + pathInfo: { + suffix: '/https://daringfireball.net/feeds/articles', + }, }); - assert.equal(result.statusCode, 200); - assert.ok(result.body.data.length > 1); + assert.equal(result.status, 200); + const body = JSON.parse(result.body); + assert.ok(body.data.length > 1); }).timeout(10000); it('Works for RSS Feeds with Limits', async () => { const result = await main({ - __ow_path: '/https://daringfireball.net/feeds/main', - __ow_query: 'hlx_p.limit=1', + url: 'https://www.example.com/data-embed-action?hlx_p.limit=1', + }, { + env: {}, + pathInfo: { + suffix: '/https://daringfireball.net/feeds/main', + }, }); - assert.equal(result.statusCode, 200); - assert.equal(result.body.data.length, 1); + assert.equal(result.status, 200); + const body = JSON.parse(result.body); + assert.equal(body.data.length, 1); }).timeout(10000); it('Rejects invalid RSS Feeds', async () => { const result = await main({ - __ow_path: '/https://example.com', - feed: 'atom', - foo: 'bar', + url: 'https://www.example.com/data-embed-action?feed=atom&foo=bar', + }, { + env: {}, + pathInfo: { + suffix: '/https://example.com', + }, }); - assert.equal(result.statusCode, 500); + assert.equal(result.status, 500); }).timeout(5000); }); diff --git a/test/google.test.js b/test/google.test.js index 2d343b65..a2e78328 100644 --- a/test/google.test.js +++ b/test/google.test.js @@ -131,6 +131,7 @@ describe('Google Sheets Tests (mocked)', () => { it('Works for mocked Google Sheets', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/1IX0g5P74QnHPR3GW1AMCdTk_-m954A-FKZRT2uOZY7k/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + {}, { GOOGLE_DOCS2MD_CLIENT_ID: 'fake', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', @@ -146,11 +147,13 @@ describe('Google Sheets Tests (mocked)', () => { it('Returns 404 for unknown sheet', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/1IX0g5P74QnHPR3GW1AMCdTk_-m954A-FKZRT2uOZY7k/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + { + sheet: 'foo', + }, { GOOGLE_DOCS2MD_CLIENT_ID: 'fake', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', GOOGLE_DOCS2MD_REFRESH_TOKEN: 'fake', - sheet: 'foo', }, ); assert.equal(result.statusCode, 404); @@ -159,6 +162,7 @@ describe('Google Sheets Tests (mocked)', () => { it('Returns 404 for sheets with no helix-default', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/3333333333333333333/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + {}, { GOOGLE_DOCS2MD_CLIENT_ID: 'fake', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', @@ -171,6 +175,7 @@ describe('Google Sheets Tests (mocked)', () => { it('Returns first sheet if no helix-sheets', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/2222222222222222222/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + {}, { GOOGLE_DOCS2MD_CLIENT_ID: 'fake', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', @@ -184,11 +189,13 @@ describe('Google Sheets Tests (mocked)', () => { it('Returns correct sheet', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/3333333333333333333/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + { + sheet: 'countries', + }, { GOOGLE_DOCS2MD_CLIENT_ID: 'fake', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', GOOGLE_DOCS2MD_REFRESH_TOKEN: 'fake', - sheet: 'countries', }, ); assert.equal(result.statusCode, 200); @@ -198,6 +205,7 @@ describe('Google Sheets Tests (mocked)', () => { it('Fails (in a good way) for mocked Google Sheets', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/1IX0g5P74QnHPR3GW1AMCdTk_-m954A-FKZRT2uOZY7k/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + {}, { GOOGLE_DOCS2MD_CLIENT_ID: 'fail', GOOGLE_DOCS2MD_CLIENT_SECRET: 'fake', @@ -220,6 +228,7 @@ describe('Google Sheets Tests (online)', () => { it.skip('Works for real Google Sheets', async () => { const result = await extract( new URL('https://docs.google.com/spreadsheets/d/1IX0g5P74QnHPR3GW1AMCdTk_-m954A-FKZRT2uOZY7k/edit?ouid=107837958797411838063&usp=sheets_home&ths=true'), + {}, { GOOGLE_DOCS2MD_CLIENT_ID: process.env.GOOGLE_DOCS2MD_CLIENT_ID, GOOGLE_DOCS2MD_CLIENT_SECRET: process.env.GOOGLE_DOCS2MD_CLIENT_SECRET, diff --git a/test/index.test.js b/test/index.test.js index 02f08ee5..5a29c5ca 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -11,6 +11,7 @@ */ /* eslint-env mocha */ const assert = require('assert'); +const querystring = require('querystring'); const proxyquire = require('proxyquire'); const { main } = require('../src/index'); @@ -26,51 +27,60 @@ for (let i = 0; i < 10000; i += 1) { describe('Integration Tests', () => { it('Rejects missing URLs', async () => { const result = await main({ - __ow_logger: console, - }); - assert.equal(result.statusCode, 400); + url: 'https://www.example.com/data-embed-action', + }, {}); + assert.equal(result.status, 400); }); it('tests index with absolute run_query url', async () => { const EXPECTED_HEADERS = { - 'Cache-Control': 'max-age=600', - 'Content-Type': 'application/json', + 'Cache-Control': ['max-age=600'], + 'Content-Type': ['application/json'], }; - const { body, headers, statusCode } = await main({ - __ow_path: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', + const { body, headers, status } = await main({ + url: 'https://www.example.com/data-embed-action', + }, { + env: {}, + pathInfo: { + suffix: '/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@2.4.11/error500', + }, }); - assert.ok(Array.isArray(body.data)); - assert.deepEqual(headers, EXPECTED_HEADERS); - assert.equal(statusCode, 200); + assert.ok(Array.isArray(JSON.parse(body).data)); + assert.deepEqual(headers.raw(), EXPECTED_HEADERS); + assert.equal(status, 200); }) - .timeout(6000); + .timeout(60000); it('tests index with relative run_query url', async () => { const EXPECTED_HEADERS = { - 'Cache-Control': 'max-age=600', - 'Content-Type': 'application/json', + 'Cache-Control': ['max-age=600'], + 'Content-Type': ['application/json'], }; - const { body, headers, statusCode } = await main({ - __ow_path: '/https://example.com/_query/run-query/error500', - __ow_query: 'fromMins=1000&toMins=0', + const { body, headers, status } = await main({ + url: 'https://www.example.com/data-embed-action?fromMins=1000&toMins=0', + }, { + env: {}, + pathInfo: { + suffix: '/https://example.com/_query/run-query/error500', + }, }); - assert.ok(Array.isArray(body.data)); - assert.deepEqual(headers, EXPECTED_HEADERS); - assert.equal(statusCode, 200); + assert.ok(Array.isArray(JSON.parse(body).data)); + assert.deepEqual(headers.raw(), EXPECTED_HEADERS); + assert.equal(status, 200); }).timeout(60000); - it('Rejects missing parameters', async () => { - const result = await main({}); - assert.equal(result.statusCode, 400); - }); - it('Rejects unknown URLs', async () => { const result = await main({ - __ow_path: '/https://example.com', + url: 'https://www.example.com/data-embed-action?', + }, { + env: {}, + pathInfo: { + suffix: '/https://example.com', + }, }); - assert.equal(result.statusCode, 404); + assert.equal(result.status, 404); }); }); @@ -82,16 +92,16 @@ describe('Index result Tests', () => { }), }); const result = await customMain({ - src: 'https://foo.com', - 'hlx_p.limit': 10, - }); - assert.deepEqual(result, { - body: { - data: TEST_DATA.slice(0, 10), - limit: 10, - offset: 0, - total: 10000, - }, + url: `https://www.example.com/data-embed-action?${querystring.stringify({ + src: 'https://foo.com', + 'hlx_p.limit': 10, + })}`, + }, {}); + assert.deepEqual(JSON.parse(result.body), { + data: TEST_DATA.slice(0, 10), + limit: 10, + offset: 0, + total: 10000, }); }); @@ -102,16 +112,16 @@ describe('Index result Tests', () => { }), }); const result = await customMain({ - src: 'https://foo.com', - 'hlx_p.offset': 9000, - }); - assert.deepEqual(result, { - body: { - data: TEST_DATA.slice(9000), - limit: 1000, - offset: 9000, - total: 10000, - }, + url: `https://www.example.com/data-embed-action?${querystring.stringify({ + src: 'https://foo.com', + 'hlx_p.offset': 9000, + })}`, + }, {}); + assert.deepEqual(JSON.parse(result.body), { + data: TEST_DATA.slice(9000), + limit: 1000, + offset: 9000, + total: 10000, }); }); @@ -122,17 +132,17 @@ describe('Index result Tests', () => { }), }); const result = await customMain({ - src: 'https://foo.com', - 'hlx_p.limit': 50, - 'hlx_p.offset': 100, - }); - assert.deepEqual(result, { - body: { - data: TEST_DATA.slice(100, 150), - limit: 50, - offset: 100, - total: 10000, - }, + url: `https://www.example.com/data-embed-action?${querystring.stringify({ + src: 'https://foo.com', + 'hlx_p.limit': 50, + 'hlx_p.offset': 100, + })}`, + }, {}); + assert.deepEqual(JSON.parse(result.body), { + data: TEST_DATA.slice(100, 150), + limit: 50, + offset: 100, + total: 10000, }); }); @@ -143,15 +153,15 @@ describe('Index result Tests', () => { }), }); const result = await customMain({ - src: 'https://foo.com', - }); - assert.deepEqual(result, { - body: { - data: TEST_DATA.slice(0, 4970), - limit: 4970, - offset: 0, - total: 10000, - }, + url: `https://www.example.com/data-embed-action?${querystring.stringify({ + src: 'https://foo.com', + })}`, + }, {}); + assert.deepEqual(JSON.parse(result.body), { + data: TEST_DATA.slice(0, 4970), + limit: 4970, + offset: 0, + total: 10000, }); }); }); diff --git a/test/post-deploy-utils.js b/test/post-deploy-utils.js new file mode 100644 index 00000000..7a4c2074 --- /dev/null +++ b/test/post-deploy-utils.js @@ -0,0 +1,97 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +/* eslint-disable max-classes-per-file */ +const packjson = require('../package.json'); +require('dotenv').config(); + +class OpenwhiskTarget { + constructor(opts = {}) { + Object.assign(this, { + namespace: 'helix', + package: 'helix-services', + name: packjson.name.replace('@adobe/helix-', ''), + version: String(packjson.version), + }, opts); + if (process.env.CI && process.env.CIRCLE_BUILD_NUM && process.env.CIRCLE_BRANCH !== 'main' && !opts.version) { + this.version = `ci${process.env.CIRCLE_BUILD_NUM}`; + } + } + + // eslint-disable-next-line class-methods-use-this + title() { + return 'OpenWhisk'; + } + + // eslint-disable-next-line class-methods-use-this + host() { + return 'https://adobeioruntime.net'; + } + + urlPath() { + return `/api/v1/web/${this.namespace}/${this.package}/${this.name}@${this.version}`; + } + + // eslint-disable-next-line class-methods-use-this + enabled() { + return true; + } +} + +class OpenwhiskPreprodTarget extends OpenwhiskTarget { + // eslint-disable-next-line class-methods-use-this + title() { + return 'OpenWhisk - Preprod'; + } + + // eslint-disable-next-line class-methods-use-this + host() { + return 'https://preprod.adobeioruntime.net'; + } +} + +class AWSTarget extends OpenwhiskTarget { + // eslint-disable-next-line class-methods-use-this + title() { + return 'AWS'; + } + + // eslint-disable-next-line class-methods-use-this + host() { + return `https://${process.env.HLX_AWS_API}.execute-api.${process.env.HLX_AWS_REGION}.amazonaws.com`; + } + + urlPath() { + return `/${this.package}/${this.name}/${this.version}`; + } + + // eslint-disable-next-line class-methods-use-this + enabled() { + return process.env.HLX_AWS_API && process.env.HLX_AWS_REGION; + } +} + +const ALL_TARGETS = [ + OpenwhiskTarget, + OpenwhiskPreprodTarget, + AWSTarget, +]; + +function createTargets(opts) { + return ALL_TARGETS.map((TargetClass) => new TargetClass(opts)); +} + +module.exports = { + OpenwhiskTarget, + AWSTarget, + createTargets, +}; diff --git a/test/post-deploy.test.js b/test/post-deploy.test.js index 77cb7b93..44d7430c 100644 --- a/test/post-deploy.test.js +++ b/test/post-deploy.test.js @@ -15,301 +15,151 @@ const chai = require('chai'); const chaiHttp = require('chai-http'); -const packjson = require('../package.json'); +const { createTargets } = require('./post-deploy-utils.js'); chai.use(chaiHttp); const { expect } = chai; -function getbaseurl() { - const namespace = 'helix'; - const package = 'helix-services'; - const name = packjson.name.replace('@adobe/helix-', ''); - let version = `${packjson.version}`; - if (process.env.CI && process.env.CIRCLE_BUILD_NUM && process.env.CIRCLE_BRANCH !== 'main') { - version = `ci${process.env.CIRCLE_BUILD_NUM}`; - } - return `api/v1/web/${namespace}/${package}/${name}@${version}`; -} - -describe('Post-Deploy Tests', () => { - it('RSS Embed', async () => { - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/https://daringfireball.net/feeds/main`) - .then((response) => { - expect(response).to.be.json; - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(60000); - - it('Excel Embed (without tables)', async () => { - const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; - console.log('Trying', url); - - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - // console.log(response); - expect(response).to.have.status(200); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - Country: 'Japan', - Code: 'JP', - Number: 3, +createTargets().forEach((target) => { + describe(`Post-Deploy Tests (${target.title()})`, () => { + it('RSS Embed', async () => { + await chai + .request(target.host()) + .get(`${target.urlPath()}/https://daringfireball.net/feeds/main`) + .then((response) => { + expect(response).to.be.json; + expect(response).to.have.status(200); + }).catch((e) => { + throw e; }); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Excel Embed (with tables)', async () => { - const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; - console.log('Trying', url); - - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}?src=${encodeURIComponent(url)}&sheet=tables&table=0`) - .then((response) => { - // console.log(response); - expect(response).to.have.status(200); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - A: 112, - B: 224, - C: 135, + }).timeout(60000); + + it('Excel Embed (without tables)', async () => { + const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; + console.log('Trying', url); + + await chai + .request(target.host()) + .get(`${target.urlPath()}/${url}`) + .then((response) => { + // console.log(response); + expect(response).to.have.status(200); + expect(response).to.be.json; + expect(response.body.data).to.be.an('array').that.deep.includes({ + Country: 'Japan', + Code: 'JP', + Number: 3, + }); + }).catch((e) => { + throw e; }); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed', async () => { - const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/view'; - console.log('Trying', url); - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - Country: 'Japan', - Code: 'JP', - Number: 3, + }).timeout(10000); + + it('Excel Embed (with tables)', async () => { + const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; + console.log('Trying', url); + + await chai + .request(target.host()) + .get(`${target.urlPath()}?src=${encodeURIComponent(url)}&sheet=tables&table=0`) + .then((response) => { + // console.log(response); + expect(response).to.have.status(200); + expect(response).to.be.json; + expect(response.body.data).to.be.an('array').that.deep.includes({ + A: 112, + B: 224, + C: 135, + }); + }).catch((e) => { + throw e; }); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed with Query Builder', async () => { - const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit?hlx_property=Code&hlx_property.value=DE'; - console.log('Trying', url); - - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - // console.log(response.body); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); - expect(response.body.data).to.have.lengthOf(1); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed with Query Builder (alternative syntax)', async () => { - const src = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit'; - const url = `${getbaseurl()}?src=${encodeURIComponent(src)}&hlx_property=Code&hlx_property.value=DE`; - console.log('Trying', url); - - await chai - .request('https://adobeioruntime.net/') - .get(url) - .then((response) => { - // console.log(response.body); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); - expect(response.body.data).to.have.lengthOf(1); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Helix Run Query Embed', async () => { - console.log('Trying', `https://adobeioruntime.net/${getbaseurl()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500`); - - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500?fromMins=1000&toMins=0`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array'); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Helix Run Query Embed Works with Site prefixed', async () => { - console.log('Trying', `https://adobeioruntime.net/${getbaseurl()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`); - - await chai - .request('https://adobeioruntime.net/') - .get(`${getbaseurl()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array'); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); -}); - -describe('Running Post-Deployment Integration Tests on Preprod', () => { - it('RSS Embed', async () => { - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/https://daringfireball.net/feeds/main`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array'); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(60000); - - it('Excel Embed (without tables)', async () => { - const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; - console.log('Trying', url); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - // console.log(response); - expect(response).to.have.status(200); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - Country: 'Japan', - Code: 'JP', - Number: 3, + }).timeout(10000); + + it('Google Sheets Embed', async () => { + const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/view'; + console.log('Trying', url); + await chai + .request(target.host()) + .get(`${target.urlPath()}/${url}`) + .then((response) => { + expect(response).to.be.json; + expect(response.body.data).to.be.an('array').that.deep.includes({ + Country: 'Japan', + Code: 'JP', + Number: 3, + }); + expect(response).to.have.status(200); + }).catch((e) => { + throw e; }); - }).catch((e) => { - throw e; - }); - }).timeout(60000); - - it('Excel Embed (with tables)', async () => { - const url = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx?d=w6911fff4a52a4b3fb80560d8785adfa3&csf=1&web=1&e=fkkA2a'; - console.log('Trying', url); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}?src=${encodeURIComponent(url)}&sheet=tables&table=0`) - .then((response) => { - // console.log(response); - expect(response).to.have.status(200); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - A: 112, - B: 224, - C: 135, + }).timeout(10000); + + it('Google Sheets Embed with Query Builder', async () => { + const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit?hlx_property=Code&hlx_property.value=DE'; + console.log('Trying', url); + + await chai + .request(target.host()) + .get(`${target.urlPath()}/${url}`) + .then((response) => { + // console.log(response.body); + expect(response).to.be.json; + expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); + expect(response.body.data).to.have.lengthOf(1); + expect(response).to.have.status(200); + }).catch((e) => { + throw e; }); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed', async () => { - const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/view'; - console.log('Trying', url); - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.deep.includes({ - Country: 'Japan', - Code: 'JP', - Number: 3, + }).timeout(10000); + + it('Google Sheets Embed with Query Builder (alternative syntax)', async () => { + const src = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit'; + const url = `${target.urlPath()}?src=${encodeURIComponent(src)}&hlx_property=Code&hlx_property.value=DE`; + console.log('Trying', url); + + await chai + .request(target.host()) + .get(url) + .then((response) => { + // console.log(response.body); + expect(response).to.be.json; + expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); + expect(response.body.data).to.have.lengthOf(1); + expect(response).to.have.status(200); + }).catch((e) => { + throw e; }); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed with Query Builder', async () => { - const url = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit?hlx_property=Code&hlx_property.value=DE'; - console.log('Trying', url); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/${url}`) - .then((response) => { - // console.log(response.body); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Google Sheets Embed with Query Builder (alternative syntax)', async () => { - const src = 'https://docs.google.com/spreadsheets/d/1KP2-ty18PLmHMduBX-ZOlHUpNCk6uB1Q1i__l3scoTM/edit'; - const url = `${getbaseurl()}?src=${encodeURIComponent(src)}&hlx_property=Code&hlx_property.value=DE`; - console.log('Trying', url); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(url) - .then((response) => { - // console.log(response.body); - expect(response).to.be.json; - expect(response.body.data).to.be.an('array').that.eql([{ Code: 'DE', Country: 'Germany', Number: 5 }]); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Helix Run Query Embed', async () => { - console.log('Trying', `https://adobeioruntime.net/${getbaseurl()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500`); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500?fromMins=1000&toMins=0`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array'); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); - - it('Helix Run Query Embed Works with Site prefixed', async () => { - console.log('Trying', `https://adobeioruntime.net/${getbaseurl()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`); - - await chai - .request('https://preprod.adobeioruntime.net/') - .get(`${getbaseurl()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`) - .then((response) => { - expect(response).to.be.json; - expect(response.body.data).to.be.an('array'); - expect(response).to.have.status(200); - }).catch((e) => { - throw e; - }); - }).timeout(10000); -}).timeout(10000); + }).timeout(10000); + + it('Helix Run Query Embed', async () => { + console.log('Trying', `https://adobeioruntime.net/${target.urlPath()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500`); + + await chai + .request(target.host()) + .get(`${target.urlPath()}/https://adobeioruntime.net/api/v1/web/helix/helix-services/run-query@v2/error500?fromMins=1000&toMins=0`) + .then((response) => { + expect(response).to.be.json; + expect(response.body.data).to.be.an('array'); + expect(response).to.have.status(200); + }).catch((e) => { + throw e; + }); + }).timeout(10000); + + it('Helix Run Query Embed Works with Site prefixed', async () => { + console.log('Trying', `https://adobeioruntime.net/${target.urlPath()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`); + + await chai + .request(target.host()) + .get(`${target.urlPath()}/https://example.com/_query/run-query/error500?fromMins=1000&toMins=0`) + .then((response) => { + expect(response).to.be.json; + expect(response.body.data).to.be.an('array'); + expect(response).to.have.status(200); + }).catch((e) => { + throw e; + }); + }).timeout(10000); + }); +}); diff --git a/test/querybuilder.test.js b/test/querybuilder.test.js index 8806655a..c7aaf8b4 100644 --- a/test/querybuilder.test.js +++ b/test/querybuilder.test.js @@ -19,21 +19,24 @@ const qb = require('../src/querybuilder/qb'); describe('Test Query Builder URL Parser', () => { it('Works for empty strings', () => { - assert.deepEqual(loadquerystring(''), { + const sp = new URLSearchParams(); + assert.deepEqual(loadquerystring(sp), { _type: 'and', predicates: [], }); }); it('Works with non-matching prefixes', () => { - assert.deepEqual(loadquerystring('foo=bar', '_hlx'), { + const sp = new URLSearchParams('foo=bar'); + assert.deepEqual(loadquerystring(sp, '_hlx'), { _type: 'and', predicates: [], }); }); it('Works with matching prefixes', () => { - assert.deepEqual(loadquerystring('foo=bar&hlx_p.limit=10&hlx_fulltext=Management', 'hlx_'), { + const sp = new URLSearchParams('foo=bar&hlx_p.limit=10&hlx_fulltext=Management'); + assert.deepEqual(loadquerystring(sp, 'hlx_'), { _type: 'and', limit: 10, predicates: [{