diff --git a/.travis.yml b/.travis.yml index d6ea8d0..9045ec1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,5 +49,15 @@ deploy: env: global: + # GitHub Token (for docs) - secure: CWCrVum9h0996SkQgzGourEYisqdVw/PEl36Ue6D7gdsPGZgOhCzJCJkKH5Uk3fkNF4GXHA0u+8eOJGyMiHXWH1D10+fgYDUSuEEE8/kaUhAvDXymQwJim+tax1johoa5WyitjyWxCXFtfHBcBC6uDI02jkEhhiSUASsXetEFi9I9z4KI2zDLQk8s+y2PKGinusnFGcY1eSKISeDNYP3AZbaieVpgFsiVK+uTLxlmN+l2j7MfnOTZ05VAEQBRGpe0jB9aTm2nSPmXWHvVOb60RhrpI+U2xRGTej+VvoKjIYgz2oSdtC+SQQAtuBAeX+jdpkrK3/Y18n9qCDOjlHZv2RohQEcHzyIOcErF/bwW6ZqYNFOogB2svoiSNCrKPJLCTdl9L0dro+vLSUBxt6F10sTANswe8j9sNVOr9kfsamJRAGDlHItyGA5qC44miO+3ZQyEAXNLJHMctilSrmy3wZqUAOVXl6azJlZrzNt+XVZCrq5FMr+3Fc+p+RhoSheKJi2G8ICFDqqAqOgVxW6nV+3V6yG1arTqX8ArV2wHziFArwotIqdZwWnwdFCfn5kAZpoRefRx45zbj1qJEBO8ByZvwYq3LHr3tsFDenyriMXaNidqMfJlDtAKoyVKdDi/7oWSpzzvupX2ThxVeQF68IJ6v+9Y2U7SUo9LtdRFFk= - - secure: VtVRiZQIiVVsvVpoMAvYjFyr9ZeDWppMw0FZGeCKAcXdrJxaqe7XuQVPDcWZv1UQq4Gq1B2CbfBMPXrH19iaQ62Dcz+vvbg5euc4Ioix5tul7uawE0pOQdFcopua9BQxwGOyziiVvBXPjTMXEzzyKIRmW/Fg7/eUbVmBcSFVIz0SF284ILG1ocDK3mzpGBWkXalsF/3jmhqnAlWSjMciG4WV5/7QfsaX6AAeUOVFJoIwBmS5/wLbXEOIhQVZxtV3lsHt5B8x3ApNOQHf6PcbeqBdW/ZNH9mXPvJ+R8LtSnylt4JTcSuehhRiTc7RowmXoPjCDEjod1ngmRq/WfRHXqfE1oaQJt8fP//UB7eJRtABW3I/LWiokezn6NJNLa8oz2zwwTcqEoqv+IymY/eycKHJM0HwsCHdXOmCVabvDK165uoX3Z5Zmr7tbBGqNTLfKTZO9/lnXa/zBL7Cy3rtR3C1aihi5uV9cIUxxK1nnUc7Xbs8gpcNRQEi8OfmzCG5taMHXPPw6EGqxBJl9Lgr1wbNZZfbi+Xfnc08wDHm9IrOnXkAO+y8mfdITlo+wO4i8lyxktl4vOcguQQzetfk8M2GM4AdtCt5tgISFGG48QkVWudnQYn3ug6dv7qb2JSo3vuh7fjrU2A1EeuQlPNySfQgJii67++29XhbrFTg6LI= \ No newline at end of file + # Transifex Token + - secure: VtVRiZQIiVVsvVpoMAvYjFyr9ZeDWppMw0FZGeCKAcXdrJxaqe7XuQVPDcWZv1UQq4Gq1B2CbfBMPXrH19iaQ62Dcz+vvbg5euc4Ioix5tul7uawE0pOQdFcopua9BQxwGOyziiVvBXPjTMXEzzyKIRmW/Fg7/eUbVmBcSFVIz0SF284ILG1ocDK3mzpGBWkXalsF/3jmhqnAlWSjMciG4WV5/7QfsaX6AAeUOVFJoIwBmS5/wLbXEOIhQVZxtV3lsHt5B8x3ApNOQHf6PcbeqBdW/ZNH9mXPvJ+R8LtSnylt4JTcSuehhRiTc7RowmXoPjCDEjod1ngmRq/WfRHXqfE1oaQJt8fP//UB7eJRtABW3I/LWiokezn6NJNLa8oz2zwwTcqEoqv+IymY/eycKHJM0HwsCHdXOmCVabvDK165uoX3Z5Zmr7tbBGqNTLfKTZO9/lnXa/zBL7Cy3rtR3C1aihi5uV9cIUxxK1nnUc7Xbs8gpcNRQEi8OfmzCG5taMHXPPw6EGqxBJl9Lgr1wbNZZfbi+Xfnc08wDHm9IrOnXkAO+y8mfdITlo+wO4i8lyxktl4vOcguQQzetfk8M2GM4AdtCt5tgISFGG48QkVWudnQYn3ug6dv7qb2JSo3vuh7fjrU2A1EeuQlPNySfQgJii67++29XhbrFTg6LI= + # CWS Token + - secure: A9sJWZ1SqgR6QzWdW/W8QsUyZVJd89Lgd8L+Cq3qIqSXqIg+PExAkvOq72H5Rug4dLwEZ9ApsGR3FpBV+QAQP72IR5voDAAYwBhsPbKe13T7v2u0sIGJW660PHP2ns5Ehkyj5MO0vPJM2owkuk55/5LsWEuSLwtnvd6Mts3jPUBqcHnorZqdhyn7qcWhqIULFhrXw1X3FFkjOHXItOGYWrFhCEoE8kl9/TgIo1sO81fxce3ARlAm992k/oSpaS/kJY1UK5DCTJChwTuaBw42mN6/ieFV5vP3LYhE54rX/zV+BMtfVP/nEoP2UbbzgrMaQ/1uyDL2VmOHkJNOFcpoBzrwnpQfw07W7/bi0hC8cr/AWiHXGGRTTg2TS+qe+ZWigmaM0DPqdX+uRPXHPU5pf+sKJzphujilxFiFY19Uh+6jU7cAeWdsRlJIiDW0h2hq3lh47sATjr/nwvD2fxe9JvnbV/MgFtnPGPB7yBtvcWUBzlQiHPAKy3pcvJ173H0UhvotWsL6foPrXAbgzTYW/rdjUg1dDHSIzHOJXawkPap2PIyVFGF9YFE1KGmhFps+ibKu+quPmzDZmNRi92UdsBi/EiUGe3VFGcW+8GuIvRb7Vw+EWick/Ox4isBOEB/WiW7vZN8wD+zLKlCm2o9/aiJbzXprl+qnU+GpoPGBinY= + # CWS Secret + - secure: AbOIyj31vzVtqGcUSawyqKALSU96ZCVe/vc/YAVtkLtnvku/TPMGoTScz3CBP16waCw+ed3nLTK9B4qYiQUgxgAJcxRf05j3w4dp+ZHOuilPY0F+5Q7a46zH8fyakfFveOUwAYfSrS/xvpXfhJ4cCozrEMEH6RZ6jrwp42YhfVi8lGAPsXyFLSHkxJ9HwOcZnDR05xIZiup2KD4ymTpHPxkyUF9EmMDDLp+ToYqjwq5ErJDzLOUV2dbpfXi/sJVDfjjF2O6YdrSetaOtxfQeKEf6hYpYotQCIYl86jYRbOCu3y6TNHi+G4+MZKjuCDRVeFrlPbZ746c6Y+pIA9UeUShCYOMGIWbEMzh+Zv/1GIKzkV9hq0oqx3PDWP7+VWSfnMsfMnvzXYiz8YPekqybLUILq6EJg+EkIHFkoc+nkB+9DAXNY5hyZ5p88Y3RUYSb3/U4EWDhDKzfrDjUtFTEPvCXgfRMmB+itim3YmH+eP0DN1b6+LitPa2YZIeyIh4mab+n4Aa+VGzHWFLrLVymqPxnHTrwouCUdjxo4uchYpfo1fm0nsIYtLVYsEmmsiXOnS5vOkLYRea+RF5AiHmVMi3DKcM8ArNu+wZ19pOhjtswE93HDWLpYjZTbTrQ2/mepSJg87FeLvYiH6CYDW/3UvE+0lRKlDvvCHQIz9ZL6KU= + # AMO Secret + - secure: giLAwO9LJ8Eip7GFDxK2BNWm2K1u+f+jCOeI2kvwhLWL5686JMeVs90ez+q617yokYEZW3XfdMZYfuGFD2c75Yj++5tUBRlaMn9euuccbsMytfR+O5MAoL9X8Nz57+jthMBgHFXBYrOe1nupaCfgG2kv8q+18MWJUIwxYCtVZEetQXNqRIwKH1GMu1cIO1vpq0fUYfuSsNO5Fjmgw/g+X5T8ASArpSbzzTvXI8yRkyqOfo+sn/LV6UmOirwhq9eVPZhdzzhI7AYIAh4Pr9Pmu+s0ck1nFfmL9j83nhMatdpKbA5ZUc4Bo1TOw1u+QJ0veN9aHYqnEJJVwR+OBJmqvmhRqqJWv60vSj/QNXH0b0swUh+SKt/aiG3kvwPGCHblsueUPdgKaeMrI0Wil8LFrtyFNlROi0X36xJZJpIncOVerK4mmd2DvB2+h0SGoGqM3cm+K1siPPBvreLimJ/AqYjKdmiI+z6bZXYA3m1/vsed8w1KF99sFuiTVwj+jd/jOBbTa602peIJQoIJivv90w/0XZWPsprmtJp1nrmiM0FURcy7M3//gZ7SkXvxkqO6cZSP62haXwA1pIDy+Z/XInQjWvxP9vuvATHh86FpUBhYemOtnVA+EIrJkekJntTVpyd15T2q0qFKdUYwTmZG7J+Z0nofw3B4bzbUxs/gtJM= + # GitHub Token (for release) + - secure: lTAEtc+R4/W3C/OcmXQ/EfdxS9/6c8NoKZ/CzzBbprJ9vKo1AyeSINsu3yryGViQgL87WXWIN1d+0P7ssJw3SLDhQvJUCzAdraRjOe2VzWW5z2HD18Mm1+lK5FYveV32bGcF4k0g8HvsXXUb654iEh8jpxa6AjQX7c75owrMjKkJMRwZSfHvrzBOKLzAHHNtRmU2if/KoOHTZyxAJwVY3UkKsr+ihO7uJZheUA64UWe/yNgQOy2Shq/fV7PfxggqAX0WzVUdWOF04uD/APdwnTR3X8Eqz0W1ux+AR2jFm/+8fjugzAUFElaSK2XQJQf6u3/0iHY0tLRY5XzH59XabaqOduy5YCOwT69ekZdQ/j2RmExEouNCJU9E9Rr+y8gZFR2hhVoLRWnGb0zNNw3UlBgAd8ER0d9mkHllfzuHFpJm3LXzSozNNdx89weXPZNDleu2Gs/R3kF3BsNssxh5AsrX9xFj5br5TjWdpFAlWcbD6Ti/MtBbJVgFXdc76oVP6H9HGouu3Rb+dOZkbyN9Bxsepn6kEt1xYnD5HwIlhte8/v+EiUcAzLg21R91MFZK1NbZwivexK+mm3rx4ezg8LlzQxM4fIeTdRf9+L4hXajBoVKgbmIgLGEmxcLCOLgSxSSSowT+Sk9LaX7e30Pn6Qqy9x79JQUmdLu7eeQOFsM= \ No newline at end of file diff --git a/build/pack-utils/common.js b/build/extension-config.js similarity index 87% rename from build/pack-utils/common.js rename to build/extension-config.js index d4631c6..3448646 100644 --- a/build/pack-utils/common.js +++ b/build/extension-config.js @@ -3,11 +3,12 @@ const root = path.resolve(__dirname, '..', '..'); const pack = path.resolve(root, 'dist-pack'); const dist = path.resolve(pack, 'copy-dist'); const encrypt = path.resolve(root, 'encrypt'); +const config = require(path.resolve(root, 'extension.json')); const package = require(path.resolve(root, 'package.json')); module.exports = { version: package.version, - config: package.webextension, + config, resolve: path.resolve, root, pack, diff --git a/build/pack-utils/amo.js b/build/pack-utils/amo.js index 1ae3163..b18a212 100644 --- a/build/pack-utils/amo.js +++ b/build/pack-utils/amo.js @@ -3,7 +3,6 @@ const merge = require('merge'); const common = require('./common'); const signAddon = require('sign-addon').default; const exec = require('child_process').exec; -const AMOUser = require(common.encrypt('amo.json')); module.exports = function(manifest) { return new Promise(resolve => { @@ -25,8 +24,8 @@ module.exports = function(manifest) { signAddon({ xpiPath: zipPath, version: common.version, - apiKey: AMOUser.key, - apiSecret: AMOUser.secret, + apiKey: common.config.firefox.mozilla.key, + apiSecret: process.env[common.config.firefox.mozilla.secret], id: common.config.firefox.amo }) .then(() => { diff --git a/build/pack-utils/cws.js b/build/pack-utils/cws.js index 84d20a1..8dcd2fa 100644 --- a/build/pack-utils/cws.js +++ b/build/pack-utils/cws.js @@ -1,14 +1,65 @@ const fs = require('fs'); +const fetch = require('node-fetch'); const exec = require('child_process').exec; -const webStore = require('chrome-webstore-upload'); -const common = require('./common'); -const CWSUser = require(common.encrypt('cws.json')); -const client = webStore({ - extensionId: common.config.chrome.id, - clientId: CWSUser.id, - clientSecret: CWSUser.secret, - refreshToken: CWSUser.token -}); +const common = require('../extension-config'); +const webStoreId = common.config.chrome.store.id; +const webStoreToken = process.env[common.config.chrome.store.token]; +const webStoreSecret = process.env[common.config.chrome.store.secret]; + +let _webStoreToken = null; +function getToken() { + if (_webStoreToken) { + return Promise.resolve(_webStoreToken); + } + return new Promise((resolve, reject) => { + fetch('https://www.googleapis.com/oauth2/v4/token', { + method: "POST", + headers: { + "Content-Type": 'application/x-www-form-urlencoded' + }, + body: new URLSearchParams({ + client_id: webStoreId, + client_secret: webStoreSecret, + refresh_token: webStoreToken, + grant_type: 'refresh_token' + }).toString() + }) + .then(res => res.json()) + .then(res => { + if (res.access_token) { + _webStoreToken = res.access_token; + resolve(_webStoreToken); + } else { + reject(res.error); + } + }) + .catch(reject); + }); +} + +function upload(readStream, token) { + return fetch('https://www.googleapis.com/upload/chromewebstore/v1.1/items/' + common.config.chrome.id, { + method: "PUT", + headers: { + Authorization: `Bearer ${token}`, + 'x-goog-api-version': '2' + }, + body: readStream + }) + .then(res => res.json()); +} + +function publish(target = 'default', token) { + const url = 'https://www.googleapis.com/chromewebstore/v1.1/items/' + common.config.chrome.id + '/publish?publishTarget=' + target; + return fetch(url, { + method: "POST", + headers: { + Authorization: `Bearer ${token}`, + 'x-goog-api-version': '2' + } + }) + .then(res => res.json()); +} module.exports = function() { return new Promise(resolve => { @@ -19,15 +70,16 @@ module.exports = function() { resolve(); } else { const distStream = fs.createReadStream(zipPath); - client.fetchToken().then(token => { - client.uploadExisting(distStream, token) - .then(() => client.publish("default", token)) + getToken().then(token => { + upload(distStream, token) + .then(() => publish("default", token)) .then(() => { fs.unlinkSync(zipPath); resolve(); }) .catch(console.log); - }); + }) + .catch(console.log); } }); }) diff --git a/build/pack-utils/xpi.js b/build/pack-utils/xpi.js index f31c23a..5478168 100644 --- a/build/pack-utils/xpi.js +++ b/build/pack-utils/xpi.js @@ -3,7 +3,6 @@ const merge = require('merge'); const common = require('./common'); const signAddon = require('sign-addon').default; const exec = require('child_process').exec; -const AMOUser = require(common.encrypt('amo.json')); module.exports = function(manifest, outputDir) { return new Promise(resolve => { @@ -26,8 +25,8 @@ module.exports = function(manifest, outputDir) { signAddon({ xpiPath: zipPath, version: common.version, - apiKey: AMOUser.key, - apiSecret: AMOUser.secret, + apiKey: common.config.firefox.mozilla.key, + apiSecret: process.env[common.config.firefox.mozilla.secret], id: common.config.firefox.xpi, downloadDir: common.pack }) diff --git a/build/release.js b/build/release.js index f2ab47e..7814032 100644 --- a/build/release.js +++ b/build/release.js @@ -5,7 +5,7 @@ const publishRelease = require('publish-release'); const rootDir = path.resolve(__dirname, '..'); const package = require('../package.json'); const output = path.resolve(rootDir, 'dist-pack'); -const GitHubUser = require(path.resolve(rootDir, 'encrypt', 'github.json')); +const config = require('./extension-config').config; if (!package.webextension.github.enable) { console.log("GitHub not enabled"); @@ -34,7 +34,7 @@ const gitName = package.repository.url.match(/(\w+)\/(\w+)\.git/); const tagName = package.webextension.github.tag.replace('{VER}', package.version); publishRelease({ - token: GitHubUser.token, + token: process.env[config.github.token], owner: gitName[1], repo: gitName[2], tag: tagName, diff --git a/extension.json b/extension.json new file mode 100644 index 0000000..ffe7cd3 --- /dev/null +++ b/extension.json @@ -0,0 +1,33 @@ +{ + "dist": "HeaderEditor-{VER}", + "autobuild": { + "xpi": true, + "amo": true, + "cwx": true, + "crx": false + }, + "firefox": { + "mozilla": { + "key": "user:12835504:478", + "secret": "AMO_SECRET" + }, + "version": "52.0", + "xpi": "headereditor@addon.firefoxcn.net", + "amo": "headereditor-amo@addon.firefoxcn.net", + "update": "https://ext.firefoxcn.net/headereditor/install/update.json" + }, + "chrome": { + "store": { + "id": "532608894666-d0d7mq11u6oue4hqrtduu6rcid1sd8cb.apps.googleusercontent.com", + "token": "CWS_TOKEN", + "secret": "CWS_SECRET" + }, + "id": "eningockdidmgiojffjmkdblpjocbhgh", + "update": "https://ext.firefoxcn.net/headereditor/install/update.xml" + }, + "github": { + "enable": true, + "token": "GITHUB_RELEASE_TOKEN", + "tag": "{VER}" + } +} \ No newline at end of file diff --git a/package.json b/package.json index b58fe8b..aa36c58 100644 --- a/package.json +++ b/package.json @@ -16,33 +16,11 @@ "release": "node ./build/release.js", "pack": "node ./build/pack.js" }, - "webextension": { - "dist": "HeaderEditor-{VER}", - "autobuild": { - "xpi": false, - "amo": false, - "cwx": true, - "crx": false - }, - "firefox": { - "version": "52.0", - "xpi": "headereditor@addon.firefoxcn.net", - "amo": "headereditor-amo@addon.firefoxcn.net", - "update": "https://ext.firefoxcn.net/headereditor/install/update.json" - }, - "chrome": { - "id": "eningockdidmgiojffjmkdblpjocbhgh", - "update": "https://ext.firefoxcn.net/headereditor/install/update.xml" - }, - "github": { - "enable": true, - "tag": "{VER}" - } - }, "dependencies": { "dateformat": "^3.0.3", "fast-deep-equal": "^2.0.1", "merge": "^1.2.0", + "node-fetch": "^2.6.0", "text-encoding": "^0.7.0", "vue": "^2.5.17", "vue-material": "^1.0.0-beta-10.2", @@ -57,7 +35,6 @@ "arg": "^2.0.0", "babel-eslint": "^9.0.0", "babel-loader": "^8.0.2", - "chrome-webstore-upload": "^0.2.2", "copy-webpack-plugin": "^4.5.2", "core-js": "2", "cross-env": "^5.2.0", diff --git a/yarn.lock b/yarn.lock index ea3937f..f20c3cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1473,11 +1473,6 @@ caniuse-lite@^1.0.30000989: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1539,13 +1534,6 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -chrome-webstore-upload@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/chrome-webstore-upload/-/chrome-webstore-upload-0.2.2.tgz#6293463a5d0475c8826ffd799a98357b04af4fcb" - integrity sha512-4lqjRnG9MbqWpWgaQDORUB8jcTwEpWGGFWwTiVy00MMrYshV085uwqtHDNNLtHrnnB5U+rwtVV/sHAocm+CVNQ== - dependencies: - got "^6.3.0" - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -1819,13 +1807,6 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -2159,11 +2140,6 @@ duplexer2@~0.0.2: dependencies: readable-stream "~1.1.9" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -2879,11 +2855,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2994,23 +2965,6 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" -got@^6.3.0: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: version "4.2.2" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" @@ -3495,11 +3449,6 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -3507,12 +3456,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.0.0, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -3924,11 +3868,6 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - lru-cache@^4.1.1, lru-cache@^4.1.2: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -4291,6 +4230,11 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-fetch@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -5122,7 +5066,7 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.0, prepend-http@^1.0.1: +prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= @@ -6332,11 +6276,6 @@ through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -6515,11 +6454,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -6537,13 +6471,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"