From f4c301f973dfd854ea00a454d92afc2844369385 Mon Sep 17 00:00:00 2001 From: Gregory Koberger Date: Sun, 2 Apr 2017 17:25:00 -0700 Subject: [PATCH 001/181] Remove the verify_none line for Ruby --- src/targets/ruby/native.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/targets/ruby/native.js b/src/targets/ruby/native.js index 86d49af2c..b1254b744 100644 --- a/src/targets/ruby/native.js +++ b/src/targets/ruby/native.js @@ -29,7 +29,6 @@ module.exports = function (source, options) { if (source.uriObj.protocol === 'https:') { code.push('http.use_ssl = true') - .push('http.verify_mode = OpenSSL::SSL::VERIFY_NONE') } code.blank() From 530b8477aa28dd0a2ec43601eb776a3aa7dd61ee Mon Sep 17 00:00:00 2001 From: Gregory Koberger Date: Sat, 8 Apr 2017 22:02:07 -0700 Subject: [PATCH 002/181] Remove debug dependency --- src/index.js | 3 +- src/targets/javascript/jquery.js | 80 -------------------------------- 2 files changed, 2 insertions(+), 81 deletions(-) delete mode 100644 src/targets/javascript/jquery.js diff --git a/src/index.js b/src/index.js index 0c6cf1bd6..67d922302 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ 'use strict' -var debug = require('debug')('httpsnippet') +//var debug = require('debug')('httpsnippet') +var debug = console.log; var es = require('event-stream') var MultiPartForm = require('form-data') var qs = require('querystring') diff --git a/src/targets/javascript/jquery.js b/src/targets/javascript/jquery.js deleted file mode 100644 index 4365ae588..000000000 --- a/src/targets/javascript/jquery.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @description - * HTTP code snippet generator for native XMLHttpRequest - * - * @author - * @AhmadNassri - * - * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. - */ - -'use strict' - -var util = require('util') -var CodeBuilder = require('../../helpers/code-builder') - -module.exports = function (source, options) { - var opts = util._extend({ - indent: ' ' - }, options) - - var code = new CodeBuilder(opts.indent) - - var settings = { - async: true, - crossDomain: true, - url: source.fullUrl, - method: source.method, - headers: source.allHeaders - } - - switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - settings.data = source.postData.paramsObj ? source.postData.paramsObj : source.postData.text - break - - case 'application/json': - settings.processData = false - settings.data = source.postData.text - break - - case 'multipart/form-data': - code.push('var form = new FormData();') - - source.postData.params.forEach(function (param) { - code.push('form.append(%s, %s);', JSON.stringify(param.name), JSON.stringify(param.value || param.fileName || '')) - }) - - settings.processData = false - settings.contentType = false - settings.mimeType = 'multipart/form-data' - settings.data = '[form]' - - // remove the contentType header - if (~settings.headers['content-type'].indexOf('boundary')) { - delete settings.headers['content-type'] - } - code.blank() - break - - default: - if (source.postData.text) { - settings.data = source.postData.text - } - } - - code.push('var settings = ' + JSON.stringify(settings, null, opts.indent).replace('"[form]"', 'form')) - .blank() - .push('$.ajax(settings).done(function (response) {') - .push(1, 'console.log(response);') - .push('});') - - return code.join() -} - -module.exports.info = { - key: 'jquery', - title: 'jQuery', - link: 'http://api.jquery.com/jquery.ajax/', - description: 'Perform an asynchronous HTTP (Ajax) requests with jQuery' -} From e09d15d456b6be4f0ac3ab8b92ceb01ba2d9cd94 Mon Sep 17 00:00:00 2001 From: Gregory Koberger Date: Sat, 8 Apr 2017 22:18:32 -0700 Subject: [PATCH 003/181] Move jquery b/c of webpack crap --- src/targets/javascript/index.js | 2 +- src/targets/javascript/jq.js | 80 +++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/targets/javascript/jq.js diff --git a/src/targets/javascript/index.js b/src/targets/javascript/index.js index f04c6003e..ecc33c332 100644 --- a/src/targets/javascript/index.js +++ b/src/targets/javascript/index.js @@ -8,6 +8,6 @@ module.exports = { default: 'xhr' }, - jquery: require('./jquery'), + jquery: require('./jq'), xhr: require('./xhr') } diff --git a/src/targets/javascript/jq.js b/src/targets/javascript/jq.js new file mode 100644 index 000000000..4365ae588 --- /dev/null +++ b/src/targets/javascript/jq.js @@ -0,0 +1,80 @@ +/** + * @description + * HTTP code snippet generator for native XMLHttpRequest + * + * @author + * @AhmadNassri + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var util = require('util') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = util._extend({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + var settings = { + async: true, + crossDomain: true, + url: source.fullUrl, + method: source.method, + headers: source.allHeaders + } + + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + settings.data = source.postData.paramsObj ? source.postData.paramsObj : source.postData.text + break + + case 'application/json': + settings.processData = false + settings.data = source.postData.text + break + + case 'multipart/form-data': + code.push('var form = new FormData();') + + source.postData.params.forEach(function (param) { + code.push('form.append(%s, %s);', JSON.stringify(param.name), JSON.stringify(param.value || param.fileName || '')) + }) + + settings.processData = false + settings.contentType = false + settings.mimeType = 'multipart/form-data' + settings.data = '[form]' + + // remove the contentType header + if (~settings.headers['content-type'].indexOf('boundary')) { + delete settings.headers['content-type'] + } + code.blank() + break + + default: + if (source.postData.text) { + settings.data = source.postData.text + } + } + + code.push('var settings = ' + JSON.stringify(settings, null, opts.indent).replace('"[form]"', 'form')) + .blank() + .push('$.ajax(settings).done(function (response) {') + .push(1, 'console.log(response);') + .push('});') + + return code.join() +} + +module.exports.info = { + key: 'jquery', + title: 'jQuery', + link: 'http://api.jquery.com/jquery.ajax/', + description: 'Perform an asynchronous HTTP (Ajax) requests with jQuery' +} From 9106afc4c9580573e85a3fc5184fccf311e59ad7 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 13 Sep 2019 15:01:41 +0300 Subject: [PATCH 004/181] init implementation of axios --- src/targets/node/axios.js | 115 ++++++++++++++++++++++++++++++++++++++ src/targets/node/index.js | 3 +- 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 src/targets/node/axios.js diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js new file mode 100644 index 000000000..f1fbbd5b9 --- /dev/null +++ b/src/targets/node/axios.js @@ -0,0 +1,115 @@ +/** + * @description + * HTTP code snippet generator for Node.js using Unirest. + * + * @author + * @AhmadNassri + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var includeFS = false + var code = new CodeBuilder(opts.indent) + + code.push('const axios = = require("axios");') + .blank() + .push('var req = unirest("%s", "%s");', source.method, source.url) + .blank() + + // if (source.cookies.length) { + // code.push('var CookieJar = unirest.jar();') + + // source.cookies.forEach(function (cookie) { + // code.push('CookieJar.add("%s=%s","%s");', encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), source.url) + // }) + + // code.push('req.jar(CookieJar);') + // .blank() + // } + + // if (Object.keys(source.queryObj).length) { + // code.push('req.query(%s);', JSON.stringify(source.queryObj, null, opts.indent)) + // .blank() + // } + + // if (Object.keys(source.headersObj).length) { + // code.push('req.headers(%s);', JSON.stringify(source.headersObj, null, opts.indent)) + // .blank() + // } + + // switch (source.postData.mimeType) { + // case 'application/x-www-form-urlencoded': + // if (source.postData.paramsObj) { + // code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) + // } + // break + + // case 'application/json': + // if (source.postData.jsonObj) { + // code.push('req.type("json");') + // .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + // } + // break + + // case 'multipart/form-data': + // var multipart = [] + + // source.postData.params.forEach(function (param) { + // var part = {} + + // if (param.fileName && !param.value) { + // includeFS = true + + // part.body = 'fs.createReadStream("' + param.fileName + '")' + // } else if (param.value) { + // part.body = param.value + // } + + // if (part.body) { + // if (param.contentType) { + // part['content-type'] = param.contentType + // } + + // multipart.push(part) + // } + // }) + + // code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) + // break + + // default: + // if (source.postData.text) { + // code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) + // } + // } + + // if (includeFS) { + // code.unshift('var fs = require("fs");') + // } + + // code.blank() + // .push('req.end(function (res) {') + // .push(1, 'if (res.error) throw new Error(res.error);') + // .blank() + // .push(1, 'console.log(res.body);') + // .push('});') + // .blank() + + return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') +} + +module.exports.info = { + key: 'axios', + title: 'Axios', + link: 'https://github.com/axios/axios', + description: 'Promise based HTTP client for the browser and node.js - axios/axios.' +} diff --git a/src/targets/node/index.js b/src/targets/node/index.js index 1e4d9e352..35aaebdf4 100644 --- a/src/targets/node/index.js +++ b/src/targets/node/index.js @@ -10,5 +10,6 @@ module.exports = { native: require('./native'), request: require('./request'), - unirest: require('./unirest') + unirest: require('./unirest'), + axios: require('./axios') } From 6f14cc14ea8a6e0aa378e63c66ff0ed98f7a13bf Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 13 Sep 2019 15:21:32 +0300 Subject: [PATCH 005/181] axios changes --- src/targets/node/axios.js | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index f1fbbd5b9..f695969f7 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -20,30 +20,32 @@ module.exports = function (source, options) { var includeFS = false var code = new CodeBuilder(opts.indent) - code.push('const axios = = require("axios");') + code.push('const axios = require("axios");') .blank() - .push('var req = unirest("%s", "%s");', source.method, source.url) + // .push('var req = unirest("%s", "%s");', source.method, source.url) + // .blank() + + let options = { + method: `${source.method}`, + headers: { + 'content-type': `${source.postData.mimeType}`, + ...(Object.keys(source.headersObj).length && source.headersObj) + }, + url: `${source.url}`, + }; + + code.push(`axios(${options})`) .blank() - // if (source.cookies.length) { - // code.push('var CookieJar = unirest.jar();') - - // source.cookies.forEach(function (cookie) { - // code.push('CookieJar.add("%s=%s","%s");', encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), source.url) - // }) - - // code.push('req.jar(CookieJar);') - // .blank() - // } - + //TODO implement params // if (Object.keys(source.queryObj).length) { // code.push('req.query(%s);', JSON.stringify(source.queryObj, null, opts.indent)) // .blank() // } // if (Object.keys(source.headersObj).length) { - // code.push('req.headers(%s);', JSON.stringify(source.headersObj, null, opts.indent)) - // .blank() + // code.push('req.headers(%s);', JSON.stringify(source.headersObj)) + // } // switch (source.postData.mimeType) { From 10882739f36b46a5be091e15b06d5343af981be3 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 13 Sep 2019 15:28:05 +0300 Subject: [PATCH 006/181] changes --- src/targets/node/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index f695969f7..40f2e3251 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -25,7 +25,7 @@ module.exports = function (source, options) { // .push('var req = unirest("%s", "%s");', source.method, source.url) // .blank() - let options = { + let requestOptions = { method: `${source.method}`, headers: { 'content-type': `${source.postData.mimeType}`, @@ -34,7 +34,7 @@ module.exports = function (source, options) { url: `${source.url}`, }; - code.push(`axios(${options})`) + code.push(`axios(${requestOptions})`) .blank() //TODO implement params From 21efe4f3d226cb038f80233dfd53642d2a97d016 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 13 Sep 2019 15:30:36 +0300 Subject: [PATCH 007/181] changes --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 40f2e3251..a4e186395 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -34,7 +34,7 @@ module.exports = function (source, options) { url: `${source.url}`, }; - code.push(`axios(${requestOptions})`) + code.push(`axios(${JSON.stringify(requestOptions)})`) .blank() //TODO implement params From f33ce574749fb8e99940de72397aec2b4a2c80e5 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 10:05:47 +0300 Subject: [PATCH 008/181] changes to axios target --- src/targets/node/axios.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index a4e186395..98a9e6447 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -31,10 +31,23 @@ module.exports = function (source, options) { 'content-type': `${source.postData.mimeType}`, ...(Object.keys(source.headersObj).length && source.headersObj) }, + params: Object.keys(source.queryObj).length && source.queryObj, url: `${source.url}`, }; - code.push(`axios(${JSON.stringify(requestOptions)})`) + code.push(`axios( + ${JSON.stringify(requestOptions)} + )`) + .blank() + .push(`.then( + (response)=>{ + console.log(response) + })`) + .blank() + .push(`.catch( + (error)=>{ + console.log(error) + })`) .blank() //TODO implement params From 28cc2b1e7fe6ad97894553a56954ebdb60c5a17e Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 10:10:33 +0300 Subject: [PATCH 009/181] changes to axios target --- src/targets/node/axios.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 98a9e6447..33689cc14 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -35,17 +35,15 @@ module.exports = function (source, options) { url: `${source.url}`, }; - code.push(`axios( - ${JSON.stringify(requestOptions)} - )`) + code.push(`axios(${ + JSON.stringify(requestOptions) + })`) .blank() - .push(`.then( - (response)=>{ + .push(`.then((response)=>{ console.log(response) })`) .blank() - .push(`.catch( - (error)=>{ + .push(`.catch((error)=>{ console.log(error) })`) .blank() From d80813fa4065b1643999d1c07f0483d77ba6c7a1 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 10:12:53 +0300 Subject: [PATCH 010/181] changes to axios target --- src/targets/node/axios.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 33689cc14..e29d506b3 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -37,16 +37,19 @@ module.exports = function (source, options) { code.push(`axios(${ JSON.stringify(requestOptions) + }) + .then((response)=>{ + console.log(response) + }) + .catch((error)=>{ + console.log(error) })`) - .blank() - .push(`.then((response)=>{ - console.log(response) - })`) - .blank() - .push(`.catch((error)=>{ - console.log(error) - })`) - .blank() + // .push(`.then((response)=>{ + // console.log(response) + // })`) + // .push(`.catch((error)=>{ + // console.log(error) + // })`) //TODO implement params // if (Object.keys(source.queryObj).length) { From 3cf4b47de62d5088f57235cabf72af0dc3c81ddb Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 10:24:01 +0300 Subject: [PATCH 011/181] changes to axios target --- src/targets/node/axios.js | 140 +++++++++++++++----------------------- 1 file changed, 56 insertions(+), 84 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index e29d506b3..2e0d602a2 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -10,31 +10,78 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +let CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + let opts = Object.assign({ indent: ' ' }, options) - var includeFS = false - var code = new CodeBuilder(opts.indent) + let includeFS = false + let code = new CodeBuilder(opts.indent) code.push('const axios = require("axios");') .blank() - // .push('var req = unirest("%s", "%s");', source.method, source.url) - // .blank() - let requestOptions = { + const requestOptions = { method: `${source.method}`, headers: { 'content-type': `${source.postData.mimeType}`, ...(Object.keys(source.headersObj).length && source.headersObj) }, - params: Object.keys(source.queryObj).length && source.queryObj, - url: `${source.url}`, + params: Object.keys(source.queryObj).length ? source.queryObj : undefined, + url: `${source.url}` }; + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + if (source.postData.paramsObj) { + code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) + } + break + + case 'application/json': + if (source.postData.jsonObj) { + code.push('req.type("json");') + .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + } + break + + case 'multipart/form-data': + var multipart = [] + + source.postData.params.forEach(function (param) { + var part = {} + + if (param.fileName && !param.value) { + includeFS = true + + part.body = 'fs.createReadStream("' + param.fileName + '")' + } else if (param.value) { + part.body = param.value + } + + if (part.body) { + if (param.contentType) { + part['content-type'] = param.contentType + } + + multipart.push(part) + } + }) + + code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) + break + + default: + if (source.postData.text) { + code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) + } + } + + // if (includeFS) { + // code.unshift('var fs = require("fs");') + // } code.push(`axios(${ JSON.stringify(requestOptions) }) @@ -44,81 +91,6 @@ module.exports = function (source, options) { .catch((error)=>{ console.log(error) })`) - // .push(`.then((response)=>{ - // console.log(response) - // })`) - // .push(`.catch((error)=>{ - // console.log(error) - // })`) - - //TODO implement params - // if (Object.keys(source.queryObj).length) { - // code.push('req.query(%s);', JSON.stringify(source.queryObj, null, opts.indent)) - // .blank() - // } - - // if (Object.keys(source.headersObj).length) { - // code.push('req.headers(%s);', JSON.stringify(source.headersObj)) - - // } - - // switch (source.postData.mimeType) { - // case 'application/x-www-form-urlencoded': - // if (source.postData.paramsObj) { - // code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) - // } - // break - - // case 'application/json': - // if (source.postData.jsonObj) { - // code.push('req.type("json");') - // .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) - // } - // break - - // case 'multipart/form-data': - // var multipart = [] - - // source.postData.params.forEach(function (param) { - // var part = {} - - // if (param.fileName && !param.value) { - // includeFS = true - - // part.body = 'fs.createReadStream("' + param.fileName + '")' - // } else if (param.value) { - // part.body = param.value - // } - - // if (part.body) { - // if (param.contentType) { - // part['content-type'] = param.contentType - // } - - // multipart.push(part) - // } - // }) - - // code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) - // break - - // default: - // if (source.postData.text) { - // code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) - // } - // } - - // if (includeFS) { - // code.unshift('var fs = require("fs");') - // } - - // code.blank() - // .push('req.end(function (res) {') - // .push(1, 'if (res.error) throw new Error(res.error);') - // .blank() - // .push(1, 'console.log(res.body);') - // .push('});') - // .blank() return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') } From 9025a4c1b2c2a85e0c764497917625af9c2c2cf5 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 10:24:20 +0300 Subject: [PATCH 012/181] changes to axios target --- src/targets/node/axios.js | 90 +++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 2e0d602a2..c8c864ebe 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -33,51 +33,51 @@ module.exports = function (source, options) { url: `${source.url}` }; - switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - if (source.postData.paramsObj) { - code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) - } - break - - case 'application/json': - if (source.postData.jsonObj) { - code.push('req.type("json");') - .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) - } - break - - case 'multipart/form-data': - var multipart = [] - - source.postData.params.forEach(function (param) { - var part = {} - - if (param.fileName && !param.value) { - includeFS = true - - part.body = 'fs.createReadStream("' + param.fileName + '")' - } else if (param.value) { - part.body = param.value - } - - if (part.body) { - if (param.contentType) { - part['content-type'] = param.contentType - } - - multipart.push(part) - } - }) - - code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) - break - - default: - if (source.postData.text) { - code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) - } - } + // switch (source.postData.mimeType) { + // case 'application/x-www-form-urlencoded': + // if (source.postData.paramsObj) { + // code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) + // } + // break + + // case 'application/json': + // if (source.postData.jsonObj) { + // code.push('req.type("json");') + // .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + // } + // break + + // case 'multipart/form-data': + // var multipart = [] + + // source.postData.params.forEach(function (param) { + // var part = {} + + // if (param.fileName && !param.value) { + // includeFS = true + + // part.body = 'fs.createReadStream("' + param.fileName + '")' + // } else if (param.value) { + // part.body = param.value + // } + + // if (part.body) { + // if (param.contentType) { + // part['content-type'] = param.contentType + // } + + // multipart.push(part) + // } + // }) + + // code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) + // break + + // default: + // if (source.postData.text) { + // code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) + // } + // } // if (includeFS) { // code.unshift('var fs = require("fs");') From 270e8b240b5eda4ea4c55455c2628772d295ea9f Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:18:57 +0300 Subject: [PATCH 013/181] changes to axios target --- src/targets/node/axios.js | 99 +++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 51 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index c8c864ebe..16a2a03c7 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -12,12 +12,49 @@ let CodeBuilder = require('../../helpers/code-builder') +const contentBodyFactory = (contentType, postData, includeFS = false) => { + switch (contentType) { + case 'application/x-www-form-urlencoded': + return [postData.paramsObj, includeFS] + case 'application/json': + return [postData.jsonObj, includeFS] + case 'multipart/form-data': + let multipart = [] + + postData.params.forEach((param) => { + let part = {} + + if (param.fileName && !param.value) { + includeFS = true + + part.body = 'fs.createReadStream("' + param.fileName + '")' + } else if (param.value) { + part.body = param.value + } + + if (part.body) { + if (param.contentType) { + part['content-type'] = param.contentType + } + + multipart.push(part) + } + }) + return [multipart, includeFS] + default: + if (postData.text) { + return [postData.text, includeFS] + } + return null + } + +} module.exports = function (source, options) { let opts = Object.assign({ indent: ' ' }, options) - let includeFS = false + let code = new CodeBuilder(opts.indent) code.push('const axios = require("axios");') @@ -31,57 +68,17 @@ module.exports = function (source, options) { }, params: Object.keys(source.queryObj).length ? source.queryObj : undefined, url: `${source.url}` - }; - // switch (source.postData.mimeType) { - // case 'application/x-www-form-urlencoded': - // if (source.postData.paramsObj) { - // code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) - // } - // break - - // case 'application/json': - // if (source.postData.jsonObj) { - // code.push('req.type("json");') - // .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) - // } - // break - - // case 'multipart/form-data': - // var multipart = [] - - // source.postData.params.forEach(function (param) { - // var part = {} - - // if (param.fileName && !param.value) { - // includeFS = true - - // part.body = 'fs.createReadStream("' + param.fileName + '")' - // } else if (param.value) { - // part.body = param.value - // } - - // if (part.body) { - // if (param.contentType) { - // part['content-type'] = param.contentType - // } - - // multipart.push(part) - // } - // }) - - // code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) - // break - - // default: - // if (source.postData.text) { - // code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) - // } - // } - - // if (includeFS) { - // code.unshift('var fs = require("fs");') - // } + }; + const { postData } = source + const { mimeType } = postData + const [data, includeFS] = contentBodyFactory(mimeType, postData) + if (data) { + requestOptions['data'] = data + } + if (includeFS) { + code.unshift('const fs = require("fs");') + } code.push(`axios(${ JSON.stringify(requestOptions) }) From 1a6905943c7e13791eaef10f92a25d54ef5336ea Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:21:37 +0300 Subject: [PATCH 014/181] changes to axios target --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 16a2a03c7..cd0e3af43 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -12,7 +12,7 @@ let CodeBuilder = require('../../helpers/code-builder') -const contentBodyFactory = (contentType, postData, includeFS = false) => { +const contentBodyFactory = function (contentType, postData, includeFS = false) { switch (contentType) { case 'application/x-www-form-urlencoded': return [postData.paramsObj, includeFS] From 67efaacb074ca44f05efd366a8a7fab6a162603f Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:24:40 +0300 Subject: [PATCH 015/181] changes to axios target --- src/targets/node/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index cd0e3af43..a349a3481 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -45,7 +45,7 @@ const contentBodyFactory = function (contentType, postData, includeFS = false) { if (postData.text) { return [postData.text, includeFS] } - return null + return [null, includeFS] } } @@ -72,7 +72,7 @@ module.exports = function (source, options) { }; const { postData } = source const { mimeType } = postData - const [data, includeFS] = contentBodyFactory(mimeType, postData) + const [data, includeFS] = this.contentBodyFactory(mimeType, postData) if (data) { requestOptions['data'] = data } From 1c92452cb83e6d3a65fb0e5c1a83d50bad28e036 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:26:36 +0300 Subject: [PATCH 016/181] changes to axios target --- src/targets/node/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index a349a3481..14927a090 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -12,7 +12,7 @@ let CodeBuilder = require('../../helpers/code-builder') -const contentBodyFactory = function (contentType, postData, includeFS = false) { +function contentBodyFactory(contentType, postData, includeFS = false) { switch (contentType) { case 'application/x-www-form-urlencoded': return [postData.paramsObj, includeFS] @@ -72,7 +72,7 @@ module.exports = function (source, options) { }; const { postData } = source const { mimeType } = postData - const [data, includeFS] = this.contentBodyFactory(mimeType, postData) + const [data, includeFS] = contentBodyFactory(mimeType, postData) if (data) { requestOptions['data'] = data } From bd5cc25e99c8e5795c3e71ad7f8e4e435a663345 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:36:19 +0300 Subject: [PATCH 017/181] changes to axios target --- src/targets/node/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 14927a090..2d81fa5c3 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -68,7 +68,6 @@ module.exports = function (source, options) { }, params: Object.keys(source.queryObj).length ? source.queryObj : undefined, url: `${source.url}` - }; const { postData } = source const { mimeType } = postData @@ -80,7 +79,8 @@ module.exports = function (source, options) { code.unshift('const fs = require("fs");') } code.push(`axios(${ - JSON.stringify(requestOptions) + JSON.stringify(requestOptions).replace(/"{"/, `{ + `) }) .then((response)=>{ console.log(response) From d4a202457d1bcc811e2bc9148d65c4d8b59d863c Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:39:59 +0300 Subject: [PATCH 018/181] changes to axios target --- src/targets/node/axios.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 2d81fa5c3..4959561cb 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -78,9 +78,10 @@ module.exports = function (source, options) { if (includeFS) { code.unshift('const fs = require("fs");') } + const formatedOptions = JSON.stringify(requestOptions).replace(/"{"/, `{ + `) code.push(`axios(${ - JSON.stringify(requestOptions).replace(/"{"/, `{ - `) + formatedOptions }) .then((response)=>{ console.log(response) From 0cc94ed094fd097009a590fd8e8f891e3e7a946d Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:41:57 +0300 Subject: [PATCH 019/181] changes to axios target --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 4959561cb..57ef26fcc 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -78,7 +78,7 @@ module.exports = function (source, options) { if (includeFS) { code.unshift('const fs = require("fs");') } - const formatedOptions = JSON.stringify(requestOptions).replace(/"{"/, `{ + const formatedOptions = JSON.stringify(requestOptions).replace(/{/, `{ `) code.push(`axios(${ formatedOptions From 5c853ab34f23a5f9f69c8e4287512be4bfdc64c7 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 14:43:58 +0300 Subject: [PATCH 020/181] changes to axios target --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 57ef26fcc..5aa9536cc 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -78,7 +78,7 @@ module.exports = function (source, options) { if (includeFS) { code.unshift('const fs = require("fs");') } - const formatedOptions = JSON.stringify(requestOptions).replace(/{/, `{ + const formatedOptions = JSON.stringify(requestOptions).replace(/{/g, `{ `) code.push(`axios(${ formatedOptions From 7ac1cf8d96f5ccb4cdeef1a3f626aab590685c35 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:02:29 +0300 Subject: [PATCH 021/181] changes to axios target --- src/targets/node/axios.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 5aa9536cc..cab6ffcba 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -78,7 +78,12 @@ module.exports = function (source, options) { if (includeFS) { code.unshift('const fs = require("fs");') } - const formatedOptions = JSON.stringify(requestOptions).replace(/{/g, `{ + const formatedOptions = JSON.stringify(requestOptions) + .replace(/{/g, `{ + `) + .replace(/}/g, ` + }`) + .replace(/,/g, `, `) code.push(`axios(${ formatedOptions From 4b1c699221e4fffe375d7918e5562ab77e7abe92 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:04:32 +0300 Subject: [PATCH 022/181] changes to axios target --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index cab6ffcba..8db5e7f58 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -83,7 +83,7 @@ module.exports = function (source, options) { `) .replace(/}/g, ` }`) - .replace(/,/g, `, + .replace(/","/g, `"," `) code.push(`axios(${ formatedOptions From e6d6205b10fed1bd67b458361b12aa627065f738 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:06:13 +0300 Subject: [PATCH 023/181] changes to axios target --- src/targets/node/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 8db5e7f58..8e0d531e6 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -83,7 +83,7 @@ module.exports = function (source, options) { `) .replace(/}/g, ` }`) - .replace(/","/g, `"," + .replace(/",/g, `", `) code.push(`axios(${ formatedOptions From 8ce98014db75958451e358ec71590464c7622f2f Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:08:58 +0300 Subject: [PATCH 024/181] changes to axios target --- src/targets/node/axios.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 8e0d531e6..790a35c89 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -85,6 +85,8 @@ module.exports = function (source, options) { }`) .replace(/",/g, `", `) + .replace(/,"/g, `," + `) code.push(`axios(${ formatedOptions }) From 02720fd31caf334d6efdf6aba155a856d78af9df Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:10:47 +0300 Subject: [PATCH 025/181] changes to axios target --- src/targets/node/axios.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 790a35c89..238bfac9c 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -85,7 +85,8 @@ module.exports = function (source, options) { }`) .replace(/",/g, `", `) - .replace(/,"/g, `," + .replace(/,"/g, `, + " `) code.push(`axios(${ formatedOptions From 33c25be9384258f478cab044933618eb3da82288 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 14 Sep 2019 15:12:44 +0300 Subject: [PATCH 026/181] changes to axios target --- src/targets/node/axios.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 238bfac9c..8e0d531e6 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -85,9 +85,6 @@ module.exports = function (source, options) { }`) .replace(/",/g, `", `) - .replace(/,"/g, `, - " - `) code.push(`axios(${ formatedOptions }) From 0619190181f91cdcaca936012660217cd3b07579 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sun, 15 Sep 2019 18:34:36 +0300 Subject: [PATCH 027/181] changes --- src/targets/node/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 8e0d531e6..35e9e240f 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -62,12 +62,12 @@ module.exports = function (source, options) { const requestOptions = { method: `${source.method}`, + url: `${source.url}`, headers: { 'content-type': `${source.postData.mimeType}`, ...(Object.keys(source.headersObj).length && source.headersObj) }, - params: Object.keys(source.queryObj).length ? source.queryObj : undefined, - url: `${source.url}` + params: Object.keys(source.queryObj).length ? source.queryObj : undefined }; const { postData } = source const { mimeType } = postData From 347368e9ba53b8f0d82b225041a2f1694eaebd71 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Wed, 18 Sep 2019 13:38:01 +0300 Subject: [PATCH 028/181] removed easter egg --- src/index.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/index.js b/src/index.js index 45dbea091..c3c52c3cb 100644 --- a/src/index.js +++ b/src/index.js @@ -127,9 +127,6 @@ HTTPSnippet.prototype.prepare = function (request) { if (request.postData.params) { var form = new MultiPartForm() - // easter egg - this._boundary = '---011000010111000001101001' - request.postData.params.forEach(function (param) { form.append(param.name, param.value || '', { filename: param.fileName || null, From 8048a182ace85c8eea9ea90c1ac770b0cb77e2e3 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 15:54:58 +0300 Subject: [PATCH 029/181] changes --- src/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index c3c52c3cb..6f044cb9e 100644 --- a/src/index.js +++ b/src/index.js @@ -127,7 +127,8 @@ HTTPSnippet.prototype.prepare = function (request) { if (request.postData.params) { var form = new MultiPartForm() - request.postData.params.forEach(function (param) { + request.postData.params.forEach((param) => { + console.log(param) form.append(param.name, param.value || '', { filename: param.fileName || null, contentType: param.contentType || null From 0bb5dcf98f1318d49520bfc28c506031b5943b1e Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:00:49 +0300 Subject: [PATCH 030/181] changes --- src/index.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index 6f044cb9e..bac95e0e4 100644 --- a/src/index.js +++ b/src/index.js @@ -129,10 +129,7 @@ HTTPSnippet.prototype.prepare = function (request) { request.postData.params.forEach((param) => { console.log(param) - form.append(param.name, param.value || '', { - filename: param.fileName || null, - contentType: param.contentType || null - }) + form.append(param.name, param.value || '') }) // form.pipe(es.map(function (data, cb) { From 843e00ef8fa2350e350eaa6b48c0abe70ab92d69 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:03:15 +0300 Subject: [PATCH 031/181] changes --- src/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index bac95e0e4..aa79db63d 100644 --- a/src/index.js +++ b/src/index.js @@ -136,8 +136,9 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.text += data // })) - request.postData.boundary = this.getBoundary() - request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() + // request.postData.boundary = this.getBoundary() + // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() + request.headersObj['content-type'] = 'multipart/form-data' } break From 5adc603248755affcd1a729ef3bee99824836a35 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:08:17 +0300 Subject: [PATCH 032/181] changes --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index aa79db63d..a9abead81 100644 --- a/src/index.js +++ b/src/index.js @@ -139,6 +139,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() request.headersObj['content-type'] = 'multipart/form-data' + console.log(form) } break From 159a340f51c905dd452746bce04e19aba1a3b7af Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:10:56 +0300 Subject: [PATCH 033/181] changes --- src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index a9abead81..fc9cabdda 100644 --- a/src/index.js +++ b/src/index.js @@ -132,9 +132,9 @@ HTTPSnippet.prototype.prepare = function (request) { form.append(param.name, param.value || '') }) - // form.pipe(es.map(function (data, cb) { - // request.postData.text += data - // })) + form.pipe(es.map(function (data, cb) { + request.postData.text += data + })) // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() From f312a0a7a3b2a48a694f1a22e5500293c29a8379 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:15:05 +0300 Subject: [PATCH 034/181] changes --- src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index fc9cabdda..1975f2d07 100644 --- a/src/index.js +++ b/src/index.js @@ -132,9 +132,9 @@ HTTPSnippet.prototype.prepare = function (request) { form.append(param.name, param.value || '') }) - form.pipe(es.map(function (data, cb) { - request.postData.text += data - })) + // form.pipe(es.map(function (data, cb) { + // request.postData.text += data + // })) // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() From b61d313c6d7b4b3b8fda3539a88076d0d55dee60 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 16:59:01 +0300 Subject: [PATCH 035/181] changes --- src/targets/node/unirest.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 9927be182..90cd9d537 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -82,7 +82,7 @@ module.exports = function (source, options) { multipart.push(part) } }) - + console.log() code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) break From 86e8a10cdd61f1d82af89f6990ea5ee636a7ce08 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 17:00:30 +0300 Subject: [PATCH 036/181] changes --- src/targets/node/unirest.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 90cd9d537..45b531449 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -21,9 +21,9 @@ module.exports = function (source, options) { var code = new CodeBuilder(opts.indent) code.push('var unirest = require("unirest");') - .blank() - .push('var req = unirest("%s", "%s");', source.method, source.url) - .blank() + .blank() + .push('var req = unirest("%s", "%s");', source.method, source.url) + .blank() if (source.cookies.length) { code.push('var CookieJar = unirest.jar();') @@ -33,17 +33,17 @@ module.exports = function (source, options) { }) code.push('req.jar(CookieJar);') - .blank() + .blank() } if (Object.keys(source.queryObj).length) { code.push('req.query(%s);', JSON.stringify(source.queryObj, null, opts.indent)) - .blank() + .blank() } if (Object.keys(source.headersObj).length) { code.push('req.headers(%s);', JSON.stringify(source.headersObj, null, opts.indent)) - .blank() + .blank() } switch (source.postData.mimeType) { @@ -56,7 +56,7 @@ module.exports = function (source, options) { case 'application/json': if (source.postData.jsonObj) { code.push('req.type("json");') - .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) } break @@ -64,6 +64,7 @@ module.exports = function (source, options) { var multipart = [] source.postData.params.forEach(function (param) { + console.log('unirest.js 67', param) var part = {} if (param.fileName && !param.value) { @@ -82,7 +83,7 @@ module.exports = function (source, options) { multipart.push(part) } }) - console.log() + console.log('unirest.js 86', multipart) code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) break @@ -97,12 +98,12 @@ module.exports = function (source, options) { } code.blank() - .push('req.end(function (res) {') - .push(1, 'if (res.error) throw new Error(res.error);') - .blank() - .push(1, 'console.log(res.body);') - .push('});') - .blank() + .push('req.end(function (res) {') + .push(1, 'if (res.error) throw new Error(res.error);') + .blank() + .push(1, 'console.log(res.body);') + .push('});') + .blank() return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') } From ddf16b07441b8bb40cf4d7ff28b921cb10369672 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 17:03:32 +0300 Subject: [PATCH 037/181] changes --- src/targets/node/unirest.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 45b531449..e358f585a 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -72,7 +72,8 @@ module.exports = function (source, options) { part.body = 'fs.createReadStream("' + param.fileName + '")' } else if (param.value) { - part.body = param.value + const { name } = param || 'body' + part[name] = param.value } if (part.body) { @@ -83,7 +84,6 @@ module.exports = function (source, options) { multipart.push(part) } }) - console.log('unirest.js 86', multipart) code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) break From f9f0881b92e1bcc049e75449399c10cf4ce58af8 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Thu, 19 Sep 2019 17:06:29 +0300 Subject: [PATCH 038/181] changes --- src/index.js | 2 -- src/targets/node/unirest.js | 9 ++++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/index.js b/src/index.js index 1975f2d07..f83748bef 100644 --- a/src/index.js +++ b/src/index.js @@ -128,7 +128,6 @@ HTTPSnippet.prototype.prepare = function (request) { var form = new MultiPartForm() request.postData.params.forEach((param) => { - console.log(param) form.append(param.name, param.value || '') }) @@ -139,7 +138,6 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() request.headersObj['content-type'] = 'multipart/form-data' - console.log(form) } break diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index e358f585a..dc859dace 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -64,19 +64,18 @@ module.exports = function (source, options) { var multipart = [] source.postData.params.forEach(function (param) { - console.log('unirest.js 67', param) var part = {} - + const { name } = param || 'body' if (param.fileName && !param.value) { includeFS = true - part.body = 'fs.createReadStream("' + param.fileName + '")' + part[name] = 'fs.createReadStream("' + param.fileName + '")' } else if (param.value) { - const { name } = param || 'body' + part[name] = param.value } - if (part.body) { + if (part[name]) { if (param.contentType) { part['content-type'] = param.contentType } From a42b33b347f48f1879178e67bee545bbfe1967da Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 5 Oct 2019 12:35:32 +0300 Subject: [PATCH 039/181] RM-725 changes to PHP CURL code snippet --- src/targets/php/curl.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/targets/php/curl.js b/src/targets/php/curl.js index e9a70324a..d49446575 100644 --- a/src/targets/php/curl.js +++ b/src/targets/php/curl.js @@ -46,6 +46,10 @@ module.exports = function (source, options) { escape: false, name: 'CURLOPT_RETURNTRANSFER', value: 'true' + }, { + escape: false, + name: 'CURLOPT_FOLLOWLOCATION', + value: 'true' }, { escape: true, name: 'CURLOPT_ENCODING', From 905ec37952e7a7e0cefe97220be4f5ed3a552870 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 19 Oct 2019 12:44:44 +0300 Subject: [PATCH 040/181] RM-820 changes handling multipart/mixed, related,form-data,alternative --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index f83748bef..1bc38ee21 100644 --- a/src/index.js +++ b/src/index.js @@ -122,7 +122,7 @@ HTTPSnippet.prototype.prepare = function (request) { case 'multipart/alternative': // reset values request.postData.text = '' - request.postData.mimeType = 'multipart/form-data' + // request.postData.mimeType = 'multipart/form-data' if (request.postData.params) { var form = new MultiPartForm() @@ -137,7 +137,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - request.headersObj['content-type'] = 'multipart/form-data' + request.headersObj['Content-Type'] = request.postData.mimeType } break From 9aba5b5bc4b266590111139bf552f20b8a0ca7f9 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 19 Oct 2019 12:44:49 +0300 Subject: [PATCH 041/181] RM-820 changes handling multipart/mixed, related,form-data,alternative --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 1bc38ee21..cdb965be6 100644 --- a/src/index.js +++ b/src/index.js @@ -137,7 +137,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - request.headersObj['Content-Type'] = request.postData.mimeType + // request.headersObj['Content-Type'] = request.postData.mimeType } break From d27f7541ba32c468bd162eeda87af76500919351 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Sat, 19 Oct 2019 12:51:40 +0300 Subject: [PATCH 042/181] RM-820 changes handling multipart/mixed, related,form-data,alternative --- src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index cdb965be6..ef7433c6b 100644 --- a/src/index.js +++ b/src/index.js @@ -35,7 +35,9 @@ var HTTPSnippet = function (data) { entry.request.headers = entry.request.headers || [] entry.request.cookies = entry.request.cookies || [] entry.request.postData = entry.request.postData || {} - entry.request.postData.mimeType = entry.request.postData.mimeType || 'application/octet-stream' + if (entry.request.postData.mimeType) { + entry.request.postData.mimeType = entry.request.postData.mimeType + } entry.request.bodySize = 0 entry.request.headersSize = 0 From 85abe59990fe0ded3a6bfe74b533144042a88e14 Mon Sep 17 00:00:00 2001 From: Darren Jennings Date: Fri, 25 Oct 2019 14:02:49 -0400 Subject: [PATCH 043/181] chore(ci) add php cli 7 (#150) * chore(travis) php 5 to 7 * chore(docker) add docker env --- .travis.yml | 2 +- Dockerfile | 9 +++++++++ docker-compose.yml | 5 +++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100755 Dockerfile create mode 100644 docker-compose.yml diff --git a/.travis.yml b/.travis.yml index ac51452f7..17f4c75a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ node_js: before_install: - sudo apt-get update -qq - - sudo apt-get install -qq --yes python3 php5-curl php5-cli + - sudo apt-get install -qq php7.0 php7.0-curl php7.0-cli after_script: - npm run codeclimate diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 000000000..934d83d97 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +# specify the node base image with your desired version node: +FROM node:8 + +ADD . /src +WORKDIR /src + +RUN apt-get update -qq +RUN apt-get install -qq php7.0 php7.0-curl php7.0-cli +RUN apt-get install -qq --yes python3 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..3c42307f9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,5 @@ +version: '3' +services: + httpsnippet: + build: . + command: [npm, test] From 109b9c461407b24c29ee0ca4f33d953ec4d660dc Mon Sep 17 00:00:00 2001 From: Gabriela Koreeda <37304693+gabrielakoreeda@users.noreply.github.com> Date: Fri, 25 Oct 2019 15:16:15 -0300 Subject: [PATCH 044/181] feat(target) Add R statistical computing lang (#131) --- package.json | 1 + src/targets/index.js | 1 + src/targets/r/httr.js | 154 ++++++++++++++++++ src/targets/r/index.js | 12 ++ test/fixtures/available-targets.json | 14 ++ .../output/r/httr/application-form-encoded.r | 11 ++ .../fixtures/output/r/httr/application-json.r | 11 ++ test/fixtures/output/r/httr/cookies.r | 7 + test/fixtures/output/r/httr/custom-method.r | 7 + test/fixtures/output/r/httr/full.r | 16 ++ test/fixtures/output/r/httr/headers.r | 7 + test/fixtures/output/r/httr/https.r | 7 + .../output/r/httr/jsonObj-multiline.r | 11 ++ .../output/r/httr/jsonObj-null-value.r | 11 ++ test/fixtures/output/r/httr/multipart-data.r | 11 ++ test/fixtures/output/r/httr/multipart-file.r | 11 ++ .../output/r/httr/multipart-form-data.r | 11 ++ test/fixtures/output/r/httr/query.r | 12 ++ test/fixtures/output/r/httr/short.r | 7 + test/fixtures/output/r/httr/text-plain.r | 11 ++ test/targets/r/httr.js | 6 + 21 files changed, 339 insertions(+) create mode 100644 src/targets/r/httr.js create mode 100644 src/targets/r/index.js create mode 100644 test/fixtures/output/r/httr/application-form-encoded.r create mode 100644 test/fixtures/output/r/httr/application-json.r create mode 100644 test/fixtures/output/r/httr/cookies.r create mode 100644 test/fixtures/output/r/httr/custom-method.r create mode 100644 test/fixtures/output/r/httr/full.r create mode 100644 test/fixtures/output/r/httr/headers.r create mode 100644 test/fixtures/output/r/httr/https.r create mode 100644 test/fixtures/output/r/httr/jsonObj-multiline.r create mode 100644 test/fixtures/output/r/httr/jsonObj-null-value.r create mode 100644 test/fixtures/output/r/httr/multipart-data.r create mode 100644 test/fixtures/output/r/httr/multipart-file.r create mode 100644 test/fixtures/output/r/httr/multipart-form-data.r create mode 100644 test/fixtures/output/r/httr/query.r create mode 100644 test/fixtures/output/r/httr/short.r create mode 100644 test/fixtures/output/r/httr/text-plain.r create mode 100644 test/targets/r/httr.js diff --git a/package.json b/package.json index 6aab1f122..71642f631 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "har", "http", "httpie", + "httr", "java", "javascript", "jquery", diff --git a/src/targets/index.js b/src/targets/index.js index 8ccc137ca..68f83a6b8 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -14,6 +14,7 @@ module.exports = { php: require('./php'), powershell: require('./powershell'), python: require('./python'), + r: require('./r'), ruby: require('./ruby'), shell: require('./shell'), swift: require('./swift') diff --git a/src/targets/r/httr.js b/src/targets/r/httr.js new file mode 100644 index 000000000..b06a5be1a --- /dev/null +++ b/src/targets/r/httr.js @@ -0,0 +1,154 @@ +/** + * @description + * HTTP code snippet generator for R using httr + * + * @author + * @gabrielakoreeda + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var util = require('util') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + // Start snippet + var code = new CodeBuilder() + + // Import httr + code.push('library(httr)') + .blank() + + // Set URL + code.push('url <- "%s"', source.url) + .blank() + + // Construct query string + var query + var qs = source.queryObj + var queryCount = Object.keys(qs).length + delete source.queryObj['key'] + + if (source.queryString.length === 1) { + code.push('queryString <- list(%s = "%s")', Object.keys(qs), Object.values(qs).toString()) + .blank() + } else if (source.queryString.length > 1) { + var count = 1 + + code.push('queryString <- list(') + + for (query in qs) { + if (count++ !== queryCount - 1) { + code.push(' %s = "%s",', query, qs[query].toString()) + } else { + code.push(' %s = "%s"', query, qs[query].toString()) + } + } + + code.push(')') + .blank() + } + + // Construct payload + var payload = JSON.stringify(source.postData.text) + + if (payload) { + code.push('payload <- %s', payload) + .blank() + } + + // Define encode + if (source.postData.text || source.postData.jsonObj || source.postData.params) { + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + code.push('encode <- "form"') + .blank() + break + + case 'application/json': + code.push('encode <- "json"') + .blank() + break + + case 'multipart/form-data': + code.push('encode <- "multipart"') + .blank() + break + + default: + code.push('encode <- "raw"') + .blank() + break + } + } + + // Construct headers + var head + var headers = source.allHeaders + var headerCount = Object.keys(headers).length + var header = '' + var cookies + var accept + + for (head in headers) { + if (head === 'accept') { + accept = ', accept("' + headers[head] + '")' + headerCount = headerCount - 1 + } else if (head === 'cookie') { + cookies = ', set_cookies(`' + headers[head].replace(/;/g, '", `').replace(/` /g, '`').replace(/=/g, '` = "') + '")' + headerCount = headerCount - 1 + } else if (head !== 'content-type') { + header = header + head.replace('-', '_') + " = '" + headers[head] + if (headerCount > 1) { header = header + "', " } + } + } + + // Construct request + var method = source.method + var request = util.format('response <- VERB("%s", url', method) + + if (payload) { + request += ', body = payload' + } + + if (header !== '') { + request += ', add_headers(' + header + "')" + } + + if (source.queryString.length) { + request += ', query = queryString' + } + + request += ', content_type("' + source.postData.mimeType + '")' + + if (typeof accept !== 'undefined') { + request += accept + } + + if (typeof cookies !== 'undefined') { + request += cookies + } + + if (source.postData.text || source.postData.jsonObj || source.postData.params) { + request += ', encode = encode' + } + + request += ')' + + code.push(request) + .blank() + + // Print response + .push('content(response, "text")') + + return code.join() +} + +module.exports.info = { + key: 'httr', + title: 'httr', + link: 'https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html', + description: 'httr: Tools for Working with URLs and HTTP' +} diff --git a/src/targets/r/index.js b/src/targets/r/index.js new file mode 100644 index 000000000..3b4fec208 --- /dev/null +++ b/src/targets/r/index.js @@ -0,0 +1,12 @@ +'use strict' + +module.exports = { + info: { + key: 'r', + title: 'R', + extname: '.r', + default: 'httr' + }, + + httr: require('./httr') +} diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index 06eeba58a..ac987596a 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -255,6 +255,20 @@ } ] }, + { + "key": "r", + "title": "R", + "extname": ".r", + "default": "httr", + "clients": [ + { + "key": "httr", + "title": "httr", + "link": "https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html", + "description": "httr: Tools for Working with URLs and HTTP" + } + ] + }, { "default": "webrequest", "extname": ".ps1", diff --git a/test/fixtures/output/r/httr/application-form-encoded.r b/test/fixtures/output/r/httr/application-form-encoded.r new file mode 100644 index 000000000..147ce2fe4 --- /dev/null +++ b/test/fixtures/output/r/httr/application-form-encoded.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "foo=bar&hello=world" + +encode <- "form" + +response <- VERB("POST", url, body = payload, content_type("application/x-www-form-urlencoded"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/application-json.r b/test/fixtures/output/r/httr/application-json.r new file mode 100644 index 000000000..7fc78099a --- /dev/null +++ b/test/fixtures/output/r/httr/application-json.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" + +encode <- "json" + +response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/cookies.r b/test/fixtures/output/r/httr/cookies.r new file mode 100644 index 000000000..c323359bb --- /dev/null +++ b/test/fixtures/output/r/httr/cookies.r @@ -0,0 +1,7 @@ +library(httr) + +url <- "http://mockbin.com/har" + +response <- VERB("POST", url, content_type("application/octet-stream"), set_cookies(`foo` = "bar", `bar` = "baz")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/custom-method.r b/test/fixtures/output/r/httr/custom-method.r new file mode 100644 index 000000000..08b4d307a --- /dev/null +++ b/test/fixtures/output/r/httr/custom-method.r @@ -0,0 +1,7 @@ +library(httr) + +url <- "http://mockbin.com/har" + +response <- VERB("PROPFIND", url, content_type("application/octet-stream")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/full.r b/test/fixtures/output/r/httr/full.r new file mode 100644 index 000000000..420ef6c6c --- /dev/null +++ b/test/fixtures/output/r/httr/full.r @@ -0,0 +1,16 @@ +library(httr) + +url <- "http://mockbin.com/har" + +queryString <- list( + foo = "bar,baz", + baz = "abc" +) + +payload <- "foo=bar" + +encode <- "form" + +response <- VERB("POST", url, body = payload, query = queryString, content_type("application/x-www-form-urlencoded"), accept("application/json"), set_cookies(`foo` = "bar", `bar` = "baz"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/headers.r b/test/fixtures/output/r/httr/headers.r new file mode 100644 index 000000000..26a20cbdb --- /dev/null +++ b/test/fixtures/output/r/httr/headers.r @@ -0,0 +1,7 @@ +library(httr) + +url <- "http://mockbin.com/har" + +response <- VERB("GET", url, add_headers(x_foo = 'Bar'), content_type("application/octet-stream"), accept("application/json")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/https.r b/test/fixtures/output/r/httr/https.r new file mode 100644 index 000000000..60068e474 --- /dev/null +++ b/test/fixtures/output/r/httr/https.r @@ -0,0 +1,7 @@ +library(httr) + +url <- "https://mockbin.com/har" + +response <- VERB("GET", url, content_type("application/octet-stream")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/jsonObj-multiline.r b/test/fixtures/output/r/httr/jsonObj-multiline.r new file mode 100644 index 000000000..551d8af11 --- /dev/null +++ b/test/fixtures/output/r/httr/jsonObj-multiline.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "{\n \"foo\": \"bar\"\n}" + +encode <- "json" + +response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/jsonObj-null-value.r b/test/fixtures/output/r/httr/jsonObj-null-value.r new file mode 100644 index 000000000..cb53d1806 --- /dev/null +++ b/test/fixtures/output/r/httr/jsonObj-null-value.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "{\"foo\":null}" + +encode <- "json" + +response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/multipart-data.r b/test/fixtures/output/r/httr/multipart-data.r new file mode 100644 index 000000000..e35ffebd7 --- /dev/null +++ b/test/fixtures/output/r/httr/multipart-data.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n" + +encode <- "multipart" + +response <- VERB("POST", url, body = payload, content_type("multipart/form-data"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/multipart-file.r b/test/fixtures/output/r/httr/multipart-file.r new file mode 100644 index 000000000..55c044270 --- /dev/null +++ b/test/fixtures/output/r/httr/multipart-file.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n" + +encode <- "multipart" + +response <- VERB("POST", url, body = payload, content_type("multipart/form-data"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/multipart-form-data.r b/test/fixtures/output/r/httr/multipart-form-data.r new file mode 100644 index 000000000..5cd514d1b --- /dev/null +++ b/test/fixtures/output/r/httr/multipart-form-data.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" + +encode <- "multipart" + +response <- VERB("POST", url, body = payload, content_type("multipart/form-data"), encode = encode) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/query.r b/test/fixtures/output/r/httr/query.r new file mode 100644 index 000000000..20f4145e7 --- /dev/null +++ b/test/fixtures/output/r/httr/query.r @@ -0,0 +1,12 @@ +library(httr) + +url <- "http://mockbin.com/har" + +queryString <- list( + foo = "bar,baz", + baz = "abc" +) + +response <- VERB("GET", url, query = queryString, content_type("application/octet-stream")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/short.r b/test/fixtures/output/r/httr/short.r new file mode 100644 index 000000000..be664c5ef --- /dev/null +++ b/test/fixtures/output/r/httr/short.r @@ -0,0 +1,7 @@ +library(httr) + +url <- "http://mockbin.com/har" + +response <- VERB("GET", url, content_type("application/octet-stream")) + +content(response, "text") diff --git a/test/fixtures/output/r/httr/text-plain.r b/test/fixtures/output/r/httr/text-plain.r new file mode 100644 index 000000000..4d86dce50 --- /dev/null +++ b/test/fixtures/output/r/httr/text-plain.r @@ -0,0 +1,11 @@ +library(httr) + +url <- "http://mockbin.com/har" + +payload <- "Hello World" + +encode <- "raw" + +response <- VERB("POST", url, body = payload, content_type("text/plain"), encode = encode) + +content(response, "text") diff --git a/test/targets/r/httr.js b/test/targets/r/httr.js new file mode 100644 index 000000000..ce4678eb9 --- /dev/null +++ b/test/targets/r/httr.js @@ -0,0 +1,6 @@ +'use strict' + +require('should') + +module.exports = function (snippet, fixtures) { +} From ac347d08f9fbe0057c1784cacea78c7e846710ef Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 16:51:15 +0200 Subject: [PATCH 045/181] index.js changes --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index ef7433c6b..c2b3ec24b 100644 --- a/src/index.js +++ b/src/index.js @@ -139,7 +139,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - // request.headersObj['Content-Type'] = request.postData.mimeType + request.headersObj['content-type'] = request.postData.mimeType } break From b73626007313d609be7d4ee047eb3f8efedb2161 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 16:55:40 +0200 Subject: [PATCH 046/181] index.js changes --- src/index.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index c2b3ec24b..87a4af185 100644 --- a/src/index.js +++ b/src/index.js @@ -35,9 +35,10 @@ var HTTPSnippet = function (data) { entry.request.headers = entry.request.headers || [] entry.request.cookies = entry.request.cookies || [] entry.request.postData = entry.request.postData || {} - if (entry.request.postData.mimeType) { - entry.request.postData.mimeType = entry.request.postData.mimeType - } + // if (entry.request.postData.mimeType) { + // entry.request.postData.mimeType = entry.request.postData.mimeType + // } + entry.request.postData.mimeType = entry.request.postData.mimeType || 'application/octet-stream' entry.request.bodySize = 0 entry.request.headersSize = 0 @@ -139,7 +140,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - request.headersObj['content-type'] = request.postData.mimeType + request.headersObj['content-type'] = request.postData.mimeType || 'multipart/form-data' } break From 8e2feec4cf7c3abd21d5766f60e3250afe221bd4 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 17:02:15 +0200 Subject: [PATCH 047/181] index.js changes --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 87a4af185..be0ba9c74 100644 --- a/src/index.js +++ b/src/index.js @@ -140,7 +140,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - request.headersObj['content-type'] = request.postData.mimeType || 'multipart/form-data' + request.headersObj['content-type'] = request.postData.mimeType } break From c67a70268020a93793695d8ef486ed7f8f08930c Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 17:02:51 +0200 Subject: [PATCH 048/181] index.js changes --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index be0ba9c74..7c656c438 100644 --- a/src/index.js +++ b/src/index.js @@ -117,7 +117,7 @@ HTTPSnippet.prototype.prepare = function (request) { if (cookies.length) { request.allHeaders.cookie = cookies.join('; ') } - + console.log(request) switch (request.postData.mimeType) { case 'multipart/mixed': case 'multipart/related': From a8d005eb5ebd95563ab75d6a9ebb890de4c62ad7 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 17:11:31 +0200 Subject: [PATCH 049/181] index.js changes --- package.json | 1 + src/index.js | 11 +- yarn.lock | 2434 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2443 insertions(+), 3 deletions(-) create mode 100644 yarn.lock diff --git a/package.json b/package.json index 6aab1f122..b53b1c1ff 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", + "lodash": "^4.17.15", "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } diff --git a/src/index.js b/src/index.js index 7c656c438..715c52850 100644 --- a/src/index.js +++ b/src/index.js @@ -8,7 +8,7 @@ var reducer = require('./helpers/reducer') var targets = require('./targets') var url = require('url') var validate = require('har-validator/lib/async') - +const get = require('lodash/get') // constructor var HTTPSnippet = function (data) { var entries @@ -117,7 +117,12 @@ HTTPSnippet.prototype.prepare = function (request) { if (cookies.length) { request.allHeaders.cookie = cookies.join('; ') } - console.log(request) + let contentType + const headers = get(request, 'headers') + if (headers && headers.length > 0) { + contentHeader = headers.find(header => header.name === 'Content-Type') + contentType = get(contentHeader, 'value') + } switch (request.postData.mimeType) { case 'multipart/mixed': case 'multipart/related': @@ -140,7 +145,7 @@ HTTPSnippet.prototype.prepare = function (request) { // request.postData.boundary = this.getBoundary() // request.headersObj['content-type'] = 'multipart/form-data; boundary=' + this.getBoundary() - request.headersObj['content-type'] = request.postData.mimeType + request.headersObj['content-type'] = contentType || request.postData.mimeType || 'application/octet-stream' } break diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..7e6da9f0b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2434 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= + +acorn@^5.5.0: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw= + +ajv@^4.7.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array.prototype.find@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" + integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +async@1.x, async@~1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + +async@^2.0.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +babel-code-frame@^6.16.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +codeclimate-test-reporter@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/codeclimate-test-reporter/-/codeclimate-test-reporter-0.5.1.tgz#2fd517e1a7932b00b0aafffc8d1dfbe91d0443cf" + integrity sha512-XCzmc8dH+R4orK11BCg5pBbXc35abxq9sept4YvUFRkFl9zb9MIVRrCKENe6U1TKAMTgvGJmrYyHn0y2lerpmg== + dependencies: + async "~1.5.2" + commander "2.9.0" + lcov-parse "0.0.10" + request "~2.88.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.19.0, commander@^2.9.0, commander@~2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug-log@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8= + +debug@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^2.1.1, debug@^2.2.0, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +deglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.1.tgz#d268e168727799862e8eac07042e165957c1f3be" + integrity sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw== + dependencies: + find-root "^1.0.0" + glob "^7.0.5" + ignore "^3.0.9" + pkg-config "^1.1.0" + run-parallel "^1.1.2" + uniq "^1.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +doctrine@1.5.0, doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +dotenv@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" + integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +echint@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/echint/-/echint-4.0.2.tgz#05ef791f68db83cd09f66f1fc553b4092542e74a" + integrity sha512-iUEHrTxUqpZ0V6ayTmjyf9/f3Iz/Pp3EGKhmfFpnZQ4tjTk3ZyO9bO2qGwgr3coSknzXdieYrcCe3JDsiI/Uvw== + dependencies: + chalk "^2.4.2" + commander "^2.19.0" + dotenv "^7.0.0" + glob "^7.1.3" + lintspaces "0.6.3" + minimatch "^3.0.4" + pkg-config "^1.1.1" + +editorconfig@^0.15.0: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.13.0, es-abstract@^1.5.1: + version "1.16.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" + integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.51, es5-ext@~0.10.14: + version "0.10.51" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz#ed2d7d9d48a12df86e0299287e93a09ff478842f" + integrity sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "^1.0.0" + +es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz#859fdd34f32e905ff06d752e7171ddd4444a7ed1" + integrity sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.51" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-standard-jsx@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1" + integrity sha512-F8fRh2WFnTek7dZH9ZaE0PCBwdVGkwVWZmizla/DDNOmg7Tx6B/IlK5+oYpiX29jpu73LszeJj5i1axEZv6VMw== + +eslint-config-standard@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" + integrity sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE= + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + integrity sha1-Wt2BBujJKNssuiMrzZ76hG49oWw= + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-module-utils@^2.0.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== + dependencies: + debug "^2.6.8" + pkg-dir "^2.0.0" + +eslint-plugin-import@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" + integrity sha1-crowb60wXWfEgWNIpGmaQimsi04= + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.5.0" + eslint-import-resolver-node "^0.2.0" + eslint-module-utils "^2.0.0" + has "^1.0.1" + lodash.cond "^4.3.0" + minimatch "^3.0.3" + pkg-up "^1.0.0" + +eslint-plugin-node@~4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz#c04390ab8dbcbb6887174023d6f3a72769e63b97" + integrity sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ== + dependencies: + ignore "^3.0.11" + minimatch "^3.0.2" + object-assign "^4.0.1" + resolve "^1.1.7" + semver "5.3.0" + +eslint-plugin-promise@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" + integrity sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o= + +eslint-plugin-react@~6.10.0: + version "6.10.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" + integrity sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g= + dependencies: + array.prototype.find "^2.0.1" + doctrine "^1.2.2" + has "^1.0.1" + jsx-ast-utils "^1.3.4" + object.assign "^4.0.4" + +eslint-plugin-standard@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" + integrity sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI= + +eslint@~3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + integrity sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw= + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0: + version "3.5.4" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" + integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== + dependencies: + acorn "^5.5.0" + acorn-jsx "^3.0.0" + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + +event-stream@3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +find-root@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +flat-cache@^1.2.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" + integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== + dependencies: + circular-json "^0.3.1" + graceful-fs "^4.1.2" + rimraf "~2.6.2" + write "^0.2.1" + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@^1.0.0-rc3: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + integrity sha1-rjFduaSQf6BlUCMEpm13M0de43w= + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + +fs-readfile-promise@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz#80023823981f9ffffe01609e8be668f69ae49e70" + integrity sha1-gAI4I5gfn//+AWCei+Zo9prknnA= + dependencies: + graceful-fs "^4.1.2" + +fs-writefile-promise@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz#e02f9b58ffc255ed822adc7a01114f445d48d063" + integrity sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM= + dependencies: + mkdirp-promise "^1.0.0" + pinkie-promise "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +generate-function@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" + integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== + dependencies: + is-property "^1.0.2" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= + dependencies: + is-property "^1.0.0" + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" + integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== + +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + 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" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.3: + version "7.1.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" + integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== + dependencies: + 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" + +globals@^9.14.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +graceful-fs@^4.1.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +handlebars@^4.0.1: + version "4.4.5" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.5.tgz#1b1f94f9bfe7379adda86a8b73fb570265a0dddd" + integrity sha512-0Ce31oWVB7YidkaTq33ZxEbN+UDxMMgThvCe8ptgQViymL5DPis9uLdTA13MiRPhgvqyxIegugrP97iK3JeBHg== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@^5.0.0, har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34= + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-my-ip-valid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" + integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== + +is-my-json-valid@^2.10.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" + integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-property@^1.0.0, is-property@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul@^0.4.0: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.5.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsx-ast-utils@^1.3.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" + integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE= + +lcov-parse@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lintspaces@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/lintspaces/-/lintspaces-0.6.3.tgz#44a7de459032bcfbcb8b92d049070be8b4c90f32" + integrity sha512-nUwq/jK+gUhpILtV9Ms2cuF16LB9a8nnecowSQD5LRNX3+h1Bl1zIvPZNQgJYeK9xxuoR+HuWnjagQsvyJbS4w== + dependencies: + deep-extend "^0.6.0" + editorconfig "^0.15.0" + rc "^1.2.8" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + integrity sha1-9HGh2khr5g9quVXRcRVSPdHSVdU= + +lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-symbols@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + +mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.0, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +mkdirp-promise@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz#2c84893ed676e0d98fb18fb9a6212fd1b2b9a819" + integrity sha1-LISJPtZ24NmPsY+5piEv0bK5qBk= + +mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +mocha@^6.1.4: + version "6.2.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.2.tgz#5d8987e28940caf8957a7d7664b910dc5b2fea20" + integrity sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A== + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" + minimatch "3.0.4" + mkdirp "0.5.1" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.0" + yargs-parser "13.1.1" + yargs-unparser "1.6.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +neo-async@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + +next-tick@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@4.1.0, object.assign@^4.0.4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +once@1.x, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + dependencies: + through "~2.3" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pinkie-promise@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + integrity sha1-0dpn9UglY7t89X8oauKCLs+/NnA= + dependencies: + pinkie "^1.0.0" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + integrity sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q= + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-conf@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" + integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= + dependencies: + find-up "^2.0.0" + load-json-file "^4.0.0" + +pkg-config@^1.1.0, pkg-config@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4" + integrity sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q= + dependencies: + debug-log "^1.0.0" + find-root "^1.0.0" + xtend "^4.0.1" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + integrity sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY= + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24: + version "1.4.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" + integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.2.2: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + 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" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +request@~2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@^1.1.6, resolve@^1.1.7: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= + dependencies: + once "^1.3.0" + +run-parallel@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +semver@^5.6.0, semver@^5.7.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +shelljs@^0.7.5: + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" + integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM= + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +should-equal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" + integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== + dependencies: + should-type "^1.4.0" + +should-format@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" + integrity sha1-m/yPdPo5IFxT04w01xcwPidxJPE= + dependencies: + should-type "^1.3.0" + should-type-adaptors "^1.0.1" + +should-type-adaptors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" + integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== + dependencies: + should-type "^1.3.0" + should-util "^1.0.0" + +should-type@^1.3.0, should-type@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" + integrity sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM= + +should-util@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" + integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== + +should@^13.2.3: + version "13.2.3" + resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" + integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== + dependencies: + should-equal "^2.0.0" + should-format "^3.0.3" + should-type "^1.4.0" + should-type-adaptors "^1.0.1" + should-util "^1.0.0" + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50= + dependencies: + amdefine ">=0.0.4" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +standard-engine@~7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-7.0.0.tgz#ebb77b9c8fc2c8165ffa353bd91ba0dff41af690" + integrity sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA= + dependencies: + deglob "^2.1.0" + get-stdin "^5.0.1" + minimist "^1.1.0" + pkg-conf "^2.0.0" + +standard@^10.0.2: + version "10.0.3" + resolved "https://registry.yarnpkg.com/standard/-/standard-10.0.3.tgz#7869bcbf422bdeeaab689a1ffb1fea9677dd50ea" + integrity sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w== + dependencies: + eslint "~3.19.0" + eslint-config-standard "10.2.1" + eslint-config-standard-jsx "4.0.2" + eslint-plugin-import "~2.2.0" + eslint-plugin-node "~4.2.2" + eslint-plugin-promise "~3.5.0" + eslint-plugin-react "~6.10.0" + eslint-plugin-standard "~3.0.1" + standard-engine "~7.0.0" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + dependencies: + duplexer "~0.1.1" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@2.0.1, strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + dependencies: + has-flag "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8= + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through@2, through@^2.3.6, through@~2.3, through@~2.3.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@^3.1.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.4.tgz#88cc880c6ed5cf9868fdfa0760654e7bed463f1d" + integrity sha512-9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA== + dependencies: + commander "~2.20.3" + source-map "~0.6.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1.3.1, which@^1.1.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= + dependencies: + mkdirp "^0.5.1" + +xtend@^4.0.0, xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yargs-parser@13.1.1, yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + +yargs@13.3.0, yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" From 9334ac7b101cd1ed2aa8623cfae098ae727b9955 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Mon, 28 Oct 2019 17:47:25 +0200 Subject: [PATCH 050/181] index.js changes --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 715c52850..4bdf3f78e 100644 --- a/src/index.js +++ b/src/index.js @@ -120,7 +120,7 @@ HTTPSnippet.prototype.prepare = function (request) { let contentType const headers = get(request, 'headers') if (headers && headers.length > 0) { - contentHeader = headers.find(header => header.name === 'Content-Type') + const contentHeader = headers.find(header => header.name === 'Content-Type') contentType = get(contentHeader, 'value') } switch (request.postData.mimeType) { From 562e8d53bc5652e4c909801df7d181450ab37f32 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Tue, 29 Oct 2019 10:40:04 +0200 Subject: [PATCH 051/181] index.js changes --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 4bdf3f78e..473bcf378 100644 --- a/src/index.js +++ b/src/index.js @@ -120,7 +120,7 @@ HTTPSnippet.prototype.prepare = function (request) { let contentType const headers = get(request, 'headers') if (headers && headers.length > 0) { - const contentHeader = headers.find(header => header.name === 'Content-Type') + const contentHeader = headers.find(header => header.name === 'Content-Type' || header.name === 'content-type') contentType = get(contentHeader, 'value') } switch (request.postData.mimeType) { From 155862be8172f4fb0fb1de3cd1bd234c4198c9a3 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Tue, 29 Oct 2019 11:06:03 +0200 Subject: [PATCH 052/181] index.js changes --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index 473bcf378..af1f0cffe 100644 --- a/src/index.js +++ b/src/index.js @@ -123,6 +123,7 @@ HTTPSnippet.prototype.prepare = function (request) { const contentHeader = headers.find(header => header.name === 'Content-Type' || header.name === 'content-type') contentType = get(contentHeader, 'value') } + console.log({ contentType, headers }) switch (request.postData.mimeType) { case 'multipart/mixed': case 'multipart/related': From a64864e6235c68059aad4e421994bf18f9e660e3 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Tue, 29 Oct 2019 11:10:58 +0200 Subject: [PATCH 053/181] index.js changes --- src/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.js b/src/index.js index af1f0cffe..473bcf378 100644 --- a/src/index.js +++ b/src/index.js @@ -123,7 +123,6 @@ HTTPSnippet.prototype.prepare = function (request) { const contentHeader = headers.find(header => header.name === 'Content-Type' || header.name === 'content-type') contentType = get(contentHeader, 'value') } - console.log({ contentType, headers }) switch (request.postData.mimeType) { case 'multipart/mixed': case 'multipart/related': From 6a4a46f784b584814a92c86377872f58f27b0ecc Mon Sep 17 00:00:00 2001 From: Jonah Snider Date: Mon, 4 Nov 2019 07:20:32 -0800 Subject: [PATCH 054/181] Use `console.error` when logging errors in JavaScript fetch (#143) --- src/targets/javascript/fetch.js | 2 +- .../output/javascript/fetch/application-form-encoded.js | 2 +- test/fixtures/output/javascript/fetch/application-json.js | 2 +- test/fixtures/output/javascript/fetch/cookies.js | 2 +- test/fixtures/output/javascript/fetch/custom-method.js | 2 +- test/fixtures/output/javascript/fetch/full.js | 2 +- test/fixtures/output/javascript/fetch/headers.js | 2 +- test/fixtures/output/javascript/fetch/https.js | 2 +- test/fixtures/output/javascript/fetch/jsonObj-multiline.js | 2 +- test/fixtures/output/javascript/fetch/jsonObj-null-value.js | 2 +- test/fixtures/output/javascript/fetch/multipart-data.js | 2 +- test/fixtures/output/javascript/fetch/multipart-file.js | 2 +- test/fixtures/output/javascript/fetch/multipart-form-data.js | 2 +- test/fixtures/output/javascript/fetch/query.js | 2 +- test/fixtures/output/javascript/fetch/short.js | 2 +- test/fixtures/output/javascript/fetch/text-plain.js | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index bba38cee0..1d0d147ea 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -69,7 +69,7 @@ module.exports = function (source, options) { .push(1, 'console.log(response);') .push('})') .push('.catch(err => {') - .push(1, 'console.log(err);') + .push(1, 'console.error(err);') .push('});') return code.join() diff --git a/test/fixtures/output/javascript/fetch/application-form-encoded.js b/test/fixtures/output/javascript/fetch/application-form-encoded.js index dbef84f44..b82f91824 100644 --- a/test/fixtures/output/javascript/fetch/application-form-encoded.js +++ b/test/fixtures/output/javascript/fetch/application-form-encoded.js @@ -12,5 +12,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/application-json.js b/test/fixtures/output/javascript/fetch/application-json.js index 57f52efe9..a99089450 100644 --- a/test/fixtures/output/javascript/fetch/application-json.js +++ b/test/fixtures/output/javascript/fetch/application-json.js @@ -28,5 +28,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/cookies.js b/test/fixtures/output/javascript/fetch/cookies.js index a6e55b17e..96a105258 100644 --- a/test/fixtures/output/javascript/fetch/cookies.js +++ b/test/fixtures/output/javascript/fetch/cookies.js @@ -8,5 +8,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/custom-method.js b/test/fixtures/output/javascript/fetch/custom-method.js index 177d6becd..cd33b8551 100644 --- a/test/fixtures/output/javascript/fetch/custom-method.js +++ b/test/fixtures/output/javascript/fetch/custom-method.js @@ -6,5 +6,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/full.js b/test/fixtures/output/javascript/fetch/full.js index 24b81af89..e5e9a3ef8 100644 --- a/test/fixtures/output/javascript/fetch/full.js +++ b/test/fixtures/output/javascript/fetch/full.js @@ -13,5 +13,5 @@ fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/headers.js b/test/fixtures/output/javascript/fetch/headers.js index 4541a5708..e6c24d267 100644 --- a/test/fixtures/output/javascript/fetch/headers.js +++ b/test/fixtures/output/javascript/fetch/headers.js @@ -9,5 +9,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/https.js b/test/fixtures/output/javascript/fetch/https.js index 859620bd4..8496082e5 100644 --- a/test/fixtures/output/javascript/fetch/https.js +++ b/test/fixtures/output/javascript/fetch/https.js @@ -6,5 +6,5 @@ fetch("https://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js index 5ca7889a8..6b08eea5b 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js @@ -11,5 +11,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js index b9bb1663b..84cca034d 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js @@ -11,5 +11,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/multipart-data.js b/test/fixtures/output/javascript/fetch/multipart-data.js index 6413c458f..bb8740063 100644 --- a/test/fixtures/output/javascript/fetch/multipart-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-data.js @@ -11,5 +11,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/multipart-file.js b/test/fixtures/output/javascript/fetch/multipart-file.js index e71b706f3..968eb3bee 100644 --- a/test/fixtures/output/javascript/fetch/multipart-file.js +++ b/test/fixtures/output/javascript/fetch/multipart-file.js @@ -11,5 +11,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/multipart-form-data.js b/test/fixtures/output/javascript/fetch/multipart-form-data.js index 38e97a631..62937b3fd 100644 --- a/test/fixtures/output/javascript/fetch/multipart-form-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-form-data.js @@ -11,5 +11,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/query.js b/test/fixtures/output/javascript/fetch/query.js index c1fafa2a7..745990a20 100644 --- a/test/fixtures/output/javascript/fetch/query.js +++ b/test/fixtures/output/javascript/fetch/query.js @@ -6,5 +6,5 @@ fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/short.js b/test/fixtures/output/javascript/fetch/short.js index 9ee22b65a..200d8d415 100644 --- a/test/fixtures/output/javascript/fetch/short.js +++ b/test/fixtures/output/javascript/fetch/short.js @@ -6,5 +6,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); diff --git a/test/fixtures/output/javascript/fetch/text-plain.js b/test/fixtures/output/javascript/fetch/text-plain.js index 9728fb732..f5256870e 100644 --- a/test/fixtures/output/javascript/fetch/text-plain.js +++ b/test/fixtures/output/javascript/fetch/text-plain.js @@ -9,5 +9,5 @@ fetch("http://mockbin.com/har", { console.log(response); }) .catch(err => { - console.log(err); + console.error(err); }); From 54554f323beb7dafdac5f715a065d4be1d0e9be4 Mon Sep 17 00:00:00 2001 From: Darren Jennings Date: Fri, 22 Nov 2019 23:34:33 -0500 Subject: [PATCH 055/181] docs(readme) give build badge more reliable link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c56795c7d..584a646dd 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ For more information on SemVer, please visit . [license-url]: https://github.com/Kong/httpsnippet/blob/master/LICENSE [travis-url]: https://travis-ci.org/Kong/httpsnippet -[travis-image]: https://img.shields.io/travis/Kong/httpsnippet.svg?style=flat-square +[travis-image]: https://api.travis-ci.org/Kong/httpsnippet.svg?branch=master [npm-url]: https://www.npmjs.com/package/httpsnippet [npm-license]: https://img.shields.io/npm/l/httpsnippet.svg?style=flat-square From de169ddb781f11f93903d13bdbfd0afbf4e53b29 Mon Sep 17 00:00:00 2001 From: jeffyongtaotang Date: Fri, 17 Jan 2020 11:34:06 -0800 Subject: [PATCH 056/181] chore(*) add `npm-force-resolutions` package --- package.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 71642f631..96f0f5e15 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,8 @@ "test": "mocha --no-timeouts", "posttest": "exit 0 && npm run coverage", "coverage": "istanbul cover --dir coverage _mocha -- --fgrep 'Request Validation' --invert -R dot", - "codeclimate": "codeclimate < coverage/lcov.info" + "codeclimate": "codeclimate < coverage/lcov.info", + "preinstall": "npx npm-force-resolutions" }, "standard": { "ignore": [ @@ -73,6 +74,7 @@ "glob": "^6.0.1", "istanbul": "^0.4.0", "mocha": "^6.1.4", + "npm-force-resolutions": "0.0.3", "require-directory": "^2.1.1", "should": "^13.2.3", "standard": "^10.0.2" @@ -88,5 +90,9 @@ "har-validator": "^5.0.0", "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" + }, + "resolutions": { + "eslint": "4.18.2", + "lodash": "4.17.12" } } From 7ac0ccde9ca58151b022ee243b949872c2e839de Mon Sep 17 00:00:00 2001 From: jeffyongtaotang Date: Fri, 17 Jan 2020 11:35:11 -0800 Subject: [PATCH 057/181] chore(*) gernerate new package-lock file --- package-lock.json | 1801 ++++++++++++++++++++++----------------------- 1 file changed, 884 insertions(+), 917 deletions(-) diff --git a/package-lock.json b/package-lock.json index b4e382277..7a9b9bf6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -38,18 +38,12 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -63,12 +57,6 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -85,7 +73,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "array.prototype.find": { @@ -94,8 +82,8 @@ "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", "dev": true, "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.13.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "asn1": { @@ -104,7 +92,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -118,7 +106,14 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", + "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==" + } } }, "asynckit": { @@ -145,9 +140,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "balanced-match": { @@ -162,7 +157,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "brace-expansion": { @@ -171,7 +166,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -199,7 +194,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -225,28 +220,25 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "1.0.1" - } - }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", @@ -259,9 +251,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -282,8 +274,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -292,7 +284,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -315,10 +307,10 @@ "integrity": "sha512-XCzmc8dH+R4orK11BCg5pBbXc35abxq9sept4YvUFRkFl9zb9MIVRrCKENe6U1TKAMTgvGJmrYyHn0y2lerpmg==", "dev": true, "requires": { - "async": "1.5.2", + "async": "~1.5.2", "commander": "2.9.0", "lcov-parse": "0.0.10", - "request": "2.88.0" + "request": "~2.88.0" }, "dependencies": { "async": { @@ -333,7 +325,7 @@ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true, "requires": { - "graceful-readlink": "1.0.1" + "graceful-readlink": ">= 1.0.0" } } } @@ -358,7 +350,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -378,10 +370,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "contains-path": { @@ -402,11 +394,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.5", - "path-key": "2.0.1", - "semver": "5.7.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "dependencies": { "semver": { @@ -417,22 +409,13 @@ } } }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.49" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "debug": { @@ -473,7 +456,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "1.1.1" + "object-keys": "^1.0.12" } }, "deglob": { @@ -482,12 +465,12 @@ "integrity": "sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==", "dev": true, "requires": { - "find-root": "1.1.0", - "glob": "7.1.3", - "ignore": "3.3.10", - "pkg-config": "1.1.1", - "run-parallel": "1.1.9", - "uniq": "1.0.1" + "find-root": "^1.0.0", + "glob": "^7.0.5", + "ignore": "^3.0.9", + "pkg-config": "^1.1.0", + "run-parallel": "^1.1.2", + "uniq": "^1.0.1" }, "dependencies": { "glob": { @@ -496,12 +479,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } } } @@ -523,7 +506,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dotenv": { @@ -543,8 +526,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "echint": { @@ -553,13 +536,13 @@ "integrity": "sha512-iUEHrTxUqpZ0V6ayTmjyf9/f3Iz/Pp3EGKhmfFpnZQ4tjTk3ZyO9bO2qGwgr3coSknzXdieYrcCe3JDsiI/Uvw==", "dev": true, "requires": { - "chalk": "2.4.2", - "commander": "2.20.0", - "dotenv": "7.0.0", - "glob": "7.1.3", + "chalk": "^2.4.2", + "commander": "^2.19.0", + "dotenv": "^7.0.0", + "glob": "^7.1.3", "lintspaces": "0.6.3", - "minimatch": "3.0.4", - "pkg-config": "1.1.1" + "minimatch": "^3.0.4", + "pkg-config": "^1.1.1" }, "dependencies": { "ansi-styles": { @@ -568,7 +551,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.3" + "color-convert": "^1.9.0" } }, "chalk": { @@ -577,9 +560,9 @@ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "glob": { @@ -588,12 +571,12 @@ "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "has-flag": { @@ -608,7 +591,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -619,10 +602,10 @@ "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", "dev": true, "requires": { - "commander": "2.20.0", - "lru-cache": "4.1.5", - "semver": "5.7.0", - "sigmund": "1.0.1" + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" }, "dependencies": { "semver": { @@ -645,7 +628,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "error-ex": { @@ -654,7 +637,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -663,12 +646,12 @@ "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", "dev": true, "requires": { - "es-to-primitive": "1.2.0", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4", - "object-keys": "1.1.1" + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" } }, "es-to-primitive": { @@ -677,80 +660,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "es5-ext": { - "version": "0.10.49", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz", - "integrity": "sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==", - "dev": true, - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "escape-string-regexp": { @@ -764,102 +676,11 @@ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } - } - }, - "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "chalk": "1.1.3", - "concat-stream": "1.6.2", - "debug": "2.6.9", - "doctrine": "2.1.0", - "escope": "3.6.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "glob": "7.1.3", - "globals": "9.18.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.19.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.13.1", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.7.8", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" } }, "eslint-config-standard": { @@ -880,9 +701,9 @@ "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", "dev": true, "requires": { - "debug": "2.6.9", - "object-assign": "4.1.1", - "resolve": "1.1.7" + "debug": "^2.2.0", + "object-assign": "^4.0.1", + "resolve": "^1.1.6" } }, "eslint-module-utils": { @@ -891,8 +712,8 @@ "integrity": "sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "2.0.0" + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" } }, "eslint-plugin-import": { @@ -901,16 +722,16 @@ "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", "dev": true, "requires": { - "builtin-modules": "1.1.1", - "contains-path": "0.1.0", - "debug": "2.6.9", + "builtin-modules": "^1.1.1", + "contains-path": "^0.1.0", + "debug": "^2.2.0", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.2.3", - "eslint-module-utils": "2.4.0", - "has": "1.0.3", - "lodash.cond": "4.5.2", - "minimatch": "3.0.4", - "pkg-up": "1.0.0" + "eslint-import-resolver-node": "^0.2.0", + "eslint-module-utils": "^2.0.0", + "has": "^1.0.1", + "lodash.cond": "^4.3.0", + "minimatch": "^3.0.3", + "pkg-up": "^1.0.0" }, "dependencies": { "doctrine": { @@ -919,8 +740,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } } } @@ -931,10 +752,10 @@ "integrity": "sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "object-assign": "4.1.1", - "resolve": "1.1.7", + "ignore": "^3.0.11", + "minimatch": "^3.0.2", + "object-assign": "^4.0.1", + "resolve": "^1.1.7", "semver": "5.3.0" } }, @@ -950,11 +771,11 @@ "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", "dev": true, "requires": { - "array.prototype.find": "2.0.4", - "doctrine": "1.5.0", - "has": "1.0.3", - "jsx-ast-utils": "1.4.1", - "object.assign": "4.1.0" + "array.prototype.find": "^2.0.1", + "doctrine": "^1.2.2", + "has": "^1.0.1", + "jsx-ast-utils": "^1.3.4", + "object.assign": "^4.0.4" }, "dependencies": { "doctrine": { @@ -963,8 +784,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } } } @@ -975,14 +796,38 @@ "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", "dev": true }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, "espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.7.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -997,7 +842,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" }, "dependencies": { "estraverse": { @@ -1014,7 +859,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" }, "dependencies": { "estraverse": { @@ -1037,28 +882,18 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.49" - } - }, "event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "requires": { - "duplexer": "0.1.1", - "from": "0.1.7", - "map-stream": "0.1.0", + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", "pause-stream": "0.0.11", - "split": "0.3.3", - "stream-combiner": "0.0.4", - "through": "2.3.8" + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" } }, "execa": { @@ -1067,27 +902,32 @@ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { - "cross-spawn": "6.0.5", - "get-stream": "4.1.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -1110,24 +950,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } - }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.4", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "find-root": { @@ -1142,7 +972,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat": { @@ -1151,7 +981,7 @@ "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", "dev": true, "requires": { - "is-buffer": "2.0.3" + "is-buffer": "~2.0.3" } }, "flat-cache": { @@ -1160,10 +990,10 @@ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, "requires": { - "circular-json": "0.3.3", - "graceful-fs": "4.1.15", - "rimraf": "2.6.3", - "write": "0.2.1" + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" } }, "forever-agent": { @@ -1177,9 +1007,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", "requires": { - "async": "2.6.2", - "combined-stream": "1.0.7", - "mime-types": "2.1.24" + "async": "^2.0.1", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" } }, "from": { @@ -1192,7 +1022,7 @@ "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz", "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=", "requires": { - "graceful-fs": "4.1.15" + "graceful-fs": "^4.1.2" } }, "fs-writefile-promise": { @@ -1200,8 +1030,8 @@ "resolved": "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz", "integrity": "sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM=", "requires": { - "mkdirp-promise": "1.1.0", - "pinkie-promise": "1.0.0" + "mkdirp-promise": "^1.0.0", + "pinkie-promise": "^1.0.0" }, "dependencies": { "pinkie-promise": { @@ -1209,7 +1039,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } } } @@ -1226,23 +1056,11 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dev": true, - "requires": { - "is-property": "1.0.2" - } - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "get-caller-file": { "version": "2.0.5", @@ -1267,7 +1085,7 @@ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "requires": { - "pump": "3.0.0" + "pump": "^3.0.0" } }, "getpass": { @@ -1276,7 +1094,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -1285,19 +1103,13 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -1321,10 +1133,10 @@ "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { - "neo-async": "2.6.0", - "optimist": "0.6.1", - "source-map": "0.6.1", - "uglify-js": "3.5.8" + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { @@ -1345,8 +1157,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", "requires": { - "ajv": "6.10.0", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has": { @@ -1355,7 +1167,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -1363,7 +1175,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -1390,9 +1202,18 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -1413,8 +1234,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1429,33 +1250,6 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.11", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -1492,26 +1286,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", - "dev": true - }, - "is-my-json-valid": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz", - "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==", - "dev": true, - "requires": { - "generate-function": "2.3.1", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "number-is-nan": "^1.0.0" } }, "is-obj": { @@ -1519,10 +1294,10 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, "is-regex": { @@ -1531,7 +1306,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-regexp": { @@ -1557,7 +1332,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "1.0.0" + "has-symbols": "^1.0.0" } }, "is-typedarray": { @@ -1590,20 +1365,20 @@ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", "dev": true, "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.8.1", - "esprima": "2.7.3", - "glob": "5.0.15", - "handlebars": "4.1.2", - "js-yaml": "3.13.1", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.1", - "wordwrap": "1.0.0" + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" }, "dependencies": { "async": { @@ -1618,11 +1393,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "supports-color": { @@ -1631,7 +1406,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1648,8 +1423,8 @@ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "dependencies": { "esprima": { @@ -1666,6 +1441,12 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, + "json-format": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-format/-/json-format-1.0.1.tgz", + "integrity": "sha1-FD9n5irxKda//tKIpGJl6iPQ3ww=", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -1683,14 +1464,11 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -1698,18 +1476,6 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -1734,7 +1500,7 @@ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "requires": { - "invert-kv": "2.0.0" + "invert-kv": "^2.0.0" } }, "lcov-parse": { @@ -1749,8 +1515,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "lintspaces": { @@ -1759,9 +1525,9 @@ "integrity": "sha512-nUwq/jK+gUhpILtV9Ms2cuF16LB9a8nnecowSQD5LRNX3+h1Bl1zIvPZNQgJYeK9xxuoR+HuWnjagQsvyJbS4w==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "editorconfig": "0.15.3", - "rc": "1.2.8" + "deep-extend": "^0.6.0", + "editorconfig": "^0.15.0", + "rc": "^1.2.8" } }, "load-json-file": { @@ -1770,10 +1536,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.15", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "locate-path": { @@ -1782,14 +1548,15 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", + "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==", + "dev": true }, "lodash.cond": { "version": "4.5.2", @@ -1803,7 +1570,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.4.2" + "chalk": "^2.0.1" }, "dependencies": { "ansi-styles": { @@ -1812,7 +1579,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.3" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1821,9 +1588,9 @@ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -1838,7 +1605,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1849,8 +1616,8 @@ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-age-cleaner": { @@ -1859,7 +1626,7 @@ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "requires": { - "p-defer": "1.0.0" + "p-defer": "^1.0.0" } }, "map-stream": { @@ -1873,9 +1640,9 @@ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { - "map-age-cleaner": "0.1.3", - "mimic-fn": "2.1.0", - "p-is-promise": "2.1.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, "mime-db": { @@ -1903,7 +1670,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1971,7 +1738,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "find-up": { @@ -1980,7 +1747,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "3.0.0" + "locate-path": "^3.0.0" } }, "glob": { @@ -1989,12 +1756,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "has-flag": { @@ -2009,8 +1776,8 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "ms": { @@ -2025,7 +1792,7 @@ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "dev": true, "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -2034,7 +1801,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.2.0" + "p-limit": "^2.0.0" } }, "p-try": { @@ -2055,7 +1822,7 @@ "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -2065,12 +1832,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -2083,12 +1844,6 @@ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -2101,8 +1856,8 @@ "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, "requires": { - "object.getownpropertydescriptors": "2.0.3", - "semver": "5.7.0" + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" }, "dependencies": { "semver": { @@ -2119,7 +1874,17 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.0.9" + "abbrev": "1" + } + }, + "npm-force-resolutions": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/npm-force-resolutions/-/npm-force-resolutions-0.0.3.tgz", + "integrity": "sha512-xbIPAGzD3nrJHDLtnRFt/O83teTA8ju5pWTf8W6OKL4D0XD9EjdRNJhzg4bSXWuucE+l1HGdTpOJR/l1Mi1Ycg==", + "dev": true, + "requires": { + "json-format": "^1.0.1", + "source-map-support": "^0.5.5" } }, "npm-run-path": { @@ -2128,7 +1893,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -2161,10 +1926,10 @@ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "define-properties": "1.1.3", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "object-keys": "1.1.1" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "object.getownpropertydescriptors": { @@ -2173,8 +1938,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.13.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "once": { @@ -2183,23 +1948,17 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { @@ -2222,31 +1981,31 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "1.0.0", - "lcid": "2.0.0", - "mem": "4.3.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -2271,7 +2030,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -2280,7 +2039,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -2295,8 +2054,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-exists": { @@ -2328,7 +2087,7 @@ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "requires": { - "through": "2.3.8" + "through": "~2.3" } }, "performance-now": { @@ -2353,7 +2112,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" }, "dependencies": { "pinkie": { @@ -2369,8 +2128,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" } }, "pkg-config": { @@ -2379,9 +2138,9 @@ "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", "dev": true, "requires": { - "debug-log": "1.0.1", - "find-root": "1.1.0", - "xtend": "4.0.1" + "debug-log": "^1.0.0", + "find-root": "^1.0.0", + "xtend": "^4.0.1" } }, "pkg-dir": { @@ -2390,7 +2149,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "pkg-up": { @@ -2399,7 +2158,7 @@ "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -2408,8 +2167,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -2418,17 +2177,11 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -2441,12 +2194,6 @@ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -2465,8 +2212,8 @@ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "punycode": { @@ -2486,10 +2233,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { @@ -2498,33 +2245,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "1.1.7" + "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" } }, "request": { @@ -2533,26 +2260,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.24", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "dependencies": { "form-data": { @@ -2561,9 +2288,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.24" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } } } @@ -2586,8 +2313,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "resolve": { @@ -2602,23 +2329,13 @@ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } - }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "7.1.3" + "glob": "^7.1.3" }, "dependencies": { "glob": { @@ -2627,25 +2344,16 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } } } }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "1.4.0" - } - }, "run-parallel": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", @@ -2658,6 +2366,15 @@ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -2688,7 +2405,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -2697,44 +2414,17 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "7.1.3", - "interpret": "1.2.0", - "rechoir": "0.6.2" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - } - } - }, "should": { "version": "13.2.3", "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", "dev": true, "requires": { - "should-equal": "2.0.0", - "should-format": "3.0.3", - "should-type": "1.4.0", - "should-type-adaptors": "1.1.0", - "should-util": "1.0.0" + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" } }, "should-equal": { @@ -2743,7 +2433,7 @@ "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", "dev": true, "requires": { - "should-type": "1.4.0" + "should-type": "^1.4.0" } }, "should-format": { @@ -2752,8 +2442,8 @@ "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", "dev": true, "requires": { - "should-type": "1.4.0", - "should-type-adaptors": "1.1.0" + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" } }, "should-type": { @@ -2768,8 +2458,8 @@ "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", "dev": true, "requires": { - "should-type": "1.4.0", - "should-util": "1.0.0" + "should-type": "^1.3.0", + "should-util": "^1.0.0" } }, "should-util": { @@ -2790,12 +2480,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, "source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", @@ -2803,7 +2487,25 @@ "dev": true, "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "dev": true + } } }, "split": { @@ -2811,7 +2513,7 @@ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "requires": { - "through": "2.3.8" + "through": "2" } }, "sprintf-js": { @@ -2826,15 +2528,15 @@ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "standard": { @@ -2843,15 +2545,331 @@ "integrity": "sha1-eGm8v0Ir3uqraJof+x/qlnfdUOo=", "dev": true, "requires": { - "eslint": "3.19.0", + "eslint": "~3.19.0", "eslint-config-standard": "10.2.1", "eslint-config-standard-jsx": "4.0.2", - "eslint-plugin-import": "2.2.0", - "eslint-plugin-node": "4.2.3", - "eslint-plugin-promise": "3.5.0", - "eslint-plugin-react": "6.10.3", - "eslint-plugin-standard": "3.0.1", - "standard-engine": "7.0.0" + "eslint-plugin-import": "~2.2.0", + "eslint-plugin-node": "~4.2.2", + "eslint-plugin-promise": "~3.5.0", + "eslint-plugin-react": "~6.10.0", + "eslint-plugin-standard": "~3.0.1", + "standard-engine": "~7.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", + "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "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" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + } } }, "standard-engine": { @@ -2860,10 +2878,10 @@ "integrity": "sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA=", "dev": true, "requires": { - "deglob": "2.1.1", - "get-stdin": "5.0.1", - "minimist": "1.2.0", - "pkg-conf": "2.1.0" + "deglob": "^2.1.0", + "get-stdin": "^5.0.1", + "minimist": "^1.1.0", + "pkg-conf": "^2.0.0" } }, "stream-combiner": { @@ -2871,16 +2889,7 @@ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "requires": { - "duplexer": "0.1.1" - } - }, - "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.2" + "duplexer": "~0.1.1" } }, "string-width": { @@ -2889,9 +2898,18 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "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" } }, "stringify-object": { @@ -2899,9 +2917,9 @@ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "requires": { - "get-own-enumerable-property-symbols": "3.0.0", - "is-obj": "1.0.1", - "is-regexp": "1.0.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" } }, "strip-ansi": { @@ -2909,7 +2927,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -2935,63 +2953,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.11", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -3003,14 +2964,23 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" }, "dependencies": { "punycode": { @@ -3027,7 +2997,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -3042,7 +3012,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -3058,8 +3028,8 @@ "dev": true, "optional": true, "requires": { - "commander": "2.20.0", - "source-map": "0.6.1" + "commander": "~2.20.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -3082,16 +3052,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { - "punycode": "2.1.1" - } - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" + "punycode": "^2.1.0" } }, "util-deprecate": { @@ -3112,9 +3073,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "which": { @@ -3123,7 +3084,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -3138,7 +3099,7 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wordwrap": { @@ -3153,8 +3114,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -3169,7 +3130,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "xtend": { @@ -3196,17 +3157,17 @@ "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "dev": true, "requires": { - "cliui": "4.1.0", - "find-up": "3.0.0", - "get-caller-file": "2.0.5", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "2.0.0", - "set-blocking": "2.0.0", - "string-width": "3.1.0", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "13.0.0" + "cliui": "^4.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" }, "dependencies": { "ansi-regex": { @@ -3221,7 +3182,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "3.0.0" + "locate-path": "^3.0.0" } }, "is-fullwidth-code-point": { @@ -3236,8 +3197,8 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "p-limit": { @@ -3246,7 +3207,7 @@ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "dev": true, "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -3255,7 +3216,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.2.0" + "p-limit": "^2.0.0" } }, "p-try": { @@ -3270,9 +3231,9 @@ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "emoji-regex": "7.0.3", - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "5.2.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { @@ -3281,7 +3242,7 @@ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "4.1.0" + "ansi-regex": "^4.1.0" } } } @@ -3292,8 +3253,8 @@ "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", "dev": true, "requires": { - "camelcase": "5.3.1", - "decamelize": "1.2.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "yargs-unparser": { @@ -3302,9 +3263,9 @@ "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", "dev": true, "requires": { - "flat": "4.1.0", - "lodash": "4.17.11", - "yargs": "12.0.5" + "flat": "^4.1.0", + "lodash": "^4.17.11", + "yargs": "^12.0.5" }, "dependencies": { "ansi-regex": { @@ -3319,7 +3280,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "3.0.0" + "locate-path": "^3.0.0" } }, "get-caller-file": { @@ -3340,17 +3301,23 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", + "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==", + "dev": true + }, "p-limit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "dev": true, "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -3359,7 +3326,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.2.0" + "p-limit": "^2.0.0" } }, "p-try": { @@ -3380,8 +3347,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3390,7 +3357,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -3399,18 +3366,18 @@ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "3.0.0", - "get-caller-file": "1.0.3", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "11.1.1" + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" } }, "yargs-parser": { @@ -3419,8 +3386,8 @@ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "5.3.1", - "decamelize": "1.2.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } From d636a22bb75a9744fc5193113db1695372f26504 Mon Sep 17 00:00:00 2001 From: jeffyongtaotang Date: Fri, 17 Jan 2020 13:37:03 -0800 Subject: [PATCH 058/181] chore(*) upgrade form-data only --- package-lock.json | 1028 ++++++++++++++++++++++++--------------------- package.json | 10 +- 2 files changed, 552 insertions(+), 486 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7a9b9bf6e..311db968e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,6 +44,12 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -57,6 +63,12 @@ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -101,26 +113,10 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "requires": { - "lodash": "^4.17.11" - }, - "dependencies": { - "lodash": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", - "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==" - } - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "aws-sign2": { "version": "0.7.0", @@ -227,18 +223,21 @@ "supports-color": "^2.0.0" } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", @@ -349,6 +348,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -409,6 +409,16 @@ } } }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -665,6 +675,89 @@ "is-symbol": "^1.0.2" } }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -683,6 +776,91 @@ "source-map": "~0.2.0" } }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "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" + } + } + } + }, "eslint-config-standard": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz", @@ -796,30 +974,6 @@ "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", "dev": true }, - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, "espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", @@ -846,9 +1000,9 @@ }, "dependencies": { "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true } } @@ -863,9 +1017,9 @@ }, "dependencies": { "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true } } @@ -882,6 +1036,16 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, "event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", @@ -911,23 +1075,35 @@ "strip-eof": "^1.0.0" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", "dev": true }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -950,6 +1126,16 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", @@ -1003,13 +1189,23 @@ "dev": true }, "form-data": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", - "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", "requires": { - "async": "^2.0.1", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.11" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + } } }, "from": { @@ -1056,11 +1252,23 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } }, "get-caller-file": { "version": "2.0.5", @@ -1110,6 +1318,12 @@ "path-is-absolute": "^1.0.0" } }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -1207,15 +1421,6 @@ "sshpk": "^1.7.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -1250,6 +1455,33 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -1289,15 +1521,34 @@ "number-is-nan": "^1.0.0" } }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz", + "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true }, "is-regex": { @@ -1441,12 +1692,6 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "json-format": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-format/-/json-format-1.0.1.tgz", - "integrity": "sha1-FD9n5irxKda//tKIpGJl6iPQ3ww=", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -1464,11 +1709,14 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify-without-jsonify": { + "json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } }, "json-stringify-safe": { "version": "5.0.1", @@ -1476,6 +1724,18 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -1553,9 +1813,9 @@ } }, "lodash": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", - "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "lodash.cond": { @@ -1832,6 +2092,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -1844,6 +2110,12 @@ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -1877,16 +2149,6 @@ "abbrev": "1" } }, - "npm-force-resolutions": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/npm-force-resolutions/-/npm-force-resolutions-0.0.3.tgz", - "integrity": "sha512-xbIPAGzD3nrJHDLtnRFt/O83teTA8ju5pWTf8W6OKL4D0XD9EjdRNJhzg4bSXWuucE+l1HGdTpOJR/l1Mi1Ycg==", - "dev": true, - "requires": { - "json-format": "^1.0.1", - "source-map-support": "^0.5.5" - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -1951,6 +2213,12 @@ "wrappy": "1" } }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -1989,6 +2257,12 @@ "wordwrap": "~1.0.0" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -2000,12 +2274,6 @@ "mem": "^4.0.0" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -2182,6 +2450,12 @@ } } }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -2189,9 +2463,15 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, "pseudomap": { @@ -2240,9 +2520,9 @@ } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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", @@ -2254,6 +2534,26 @@ "util-deprecate": "~1.0.1" } }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", @@ -2329,6 +2629,16 @@ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -2339,9 +2649,9 @@ }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "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", @@ -2354,6 +2664,15 @@ } } }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "^1.3.0" + } + }, "run-parallel": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", @@ -2366,15 +2685,6 @@ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "requires": { - "rx-lite": "*" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -2414,6 +2724,33 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "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" + } + } + } + }, "should": { "version": "13.2.3", "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", @@ -2480,6 +2817,12 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, "source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", @@ -2490,24 +2833,6 @@ "amdefine": ">=0.0.4" } }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.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==", - "dev": true - } - } - }, "split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -2554,322 +2879,6 @@ "eslint-plugin-react": "~6.10.0", "eslint-plugin-standard": "~3.0.1", "standard-engine": "~7.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "eslint": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", - "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", - "dev": true, - "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.2", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "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" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - } - } } }, "standard-engine": { @@ -2953,6 +2962,63 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -2964,15 +3030,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -3006,6 +3063,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -3055,6 +3118,15 @@ "punycode": "^2.1.0" } }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 96f0f5e15..2ba65d4f3 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,7 @@ "test": "mocha --no-timeouts", "posttest": "exit 0 && npm run coverage", "coverage": "istanbul cover --dir coverage _mocha -- --fgrep 'Request Validation' --invert -R dot", - "codeclimate": "codeclimate < coverage/lcov.info", - "preinstall": "npx npm-force-resolutions" + "codeclimate": "codeclimate < coverage/lcov.info" }, "standard": { "ignore": [ @@ -74,7 +73,6 @@ "glob": "^6.0.1", "istanbul": "^0.4.0", "mocha": "^6.1.4", - "npm-force-resolutions": "0.0.3", "require-directory": "^2.1.1", "should": "^13.2.3", "standard": "^10.0.2" @@ -84,15 +82,11 @@ "commander": "^2.9.0", "debug": "^2.2.0", "event-stream": "3.3.4", - "form-data": "^1.0.0-rc3", + "form-data": "3.0.0", "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" - }, - "resolutions": { - "eslint": "4.18.2", - "lodash": "4.17.12" } } From 91734def77c32a6a936fc3a18a594a591aecf105 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 8 May 2020 12:40:01 +0300 Subject: [PATCH 059/181] RAP2-1431 --- src/targets/node/axios.js | 2 +- src/targets/node/native.js | 2 +- src/targets/node/request.js | 2 +- src/targets/node/unirest.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 35e9e240f..d239d03bb 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -54,7 +54,7 @@ module.exports = function (source, options) { indent: ' ' }, options) - + console.log({source}) let code = new CodeBuilder(opts.indent) code.push('const axios = require("axios");') diff --git a/src/targets/node/native.js b/src/targets/node/native.js index a4ec208b1..d8a7ac1e3 100644 --- a/src/targets/node/native.js +++ b/src/targets/node/native.js @@ -17,7 +17,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - + console.log({source}) var code = new CodeBuilder(opts.indent) var reqOpts = { diff --git a/src/targets/node/request.js b/src/targets/node/request.js index 7711d63db..74a13da47 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -18,7 +18,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - + console.log({source}) var includeFS = false var code = new CodeBuilder(opts.indent) diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index dc859dace..52c5fc76f 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -16,7 +16,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - + console.log({source}) var includeFS = false var code = new CodeBuilder(opts.indent) From 7468bea1ffb8d6429097cb7e86dd91cfc56b0c29 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 8 May 2020 12:59:03 +0300 Subject: [PATCH 060/181] RAP2-1431 added useQueryString: true to nodejs snippets --- src/targets/node/axios.js | 4 ++-- src/targets/node/native.js | 4 ++-- src/targets/node/request.js | 4 ++-- src/targets/node/unirest.js | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index d239d03bb..2fa0d061d 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -54,7 +54,6 @@ module.exports = function (source, options) { indent: ' ' }, options) - console.log({source}) let code = new CodeBuilder(opts.indent) code.push('const axios = require("axios");') @@ -65,7 +64,8 @@ module.exports = function (source, options) { url: `${source.url}`, headers: { 'content-type': `${source.postData.mimeType}`, - ...(Object.keys(source.headersObj).length && source.headersObj) + ...(Object.keys(source.headersObj).length && source.headersObj), + 'useQueryString': true }, params: Object.keys(source.queryObj).length ? source.queryObj : undefined }; diff --git a/src/targets/node/native.js b/src/targets/node/native.js index d8a7ac1e3..539928eb5 100644 --- a/src/targets/node/native.js +++ b/src/targets/node/native.js @@ -17,7 +17,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - console.log({source}) + var code = new CodeBuilder(opts.indent) var reqOpts = { @@ -25,7 +25,7 @@ module.exports = function (source, options) { hostname: source.uriObj.hostname, port: source.uriObj.port, path: source.uriObj.path, - headers: source.allHeaders + headers: { ...source.allHeaders, useQueryString: true } } code.push('var http = require("%s");', source.uriObj.protocol.replace(':', '')) diff --git a/src/targets/node/request.js b/src/targets/node/request.js index 74a13da47..cb57c878b 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -18,7 +18,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - console.log({source}) + var includeFS = false var code = new CodeBuilder(opts.indent) @@ -35,7 +35,7 @@ module.exports = function (source, options) { } if (Object.keys(source.headersObj).length) { - reqOpts.headers = source.headersObj + reqOpts.headers = {...source.headersObj,useQueryString: true} } switch (source.postData.mimeType) { diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 52c5fc76f..18fee5c18 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -16,7 +16,7 @@ module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - console.log({source}) + var includeFS = false var code = new CodeBuilder(opts.indent) @@ -42,7 +42,7 @@ module.exports = function (source, options) { } if (Object.keys(source.headersObj).length) { - code.push('req.headers(%s);', JSON.stringify(source.headersObj, null, opts.indent)) + code.push('req.headers(%s);', JSON.stringify({...source.headersObj, useQueryString: true}, null, opts.indent)) .blank() } From 67f6f4bd56c71da6bb1143ad33ce77dab8ae9162 Mon Sep 17 00:00:00 2001 From: Sefi Krausz Date: Fri, 8 May 2020 13:07:22 +0300 Subject: [PATCH 061/181] Fix to request.js --- src/targets/node/request.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/node/request.js b/src/targets/node/request.js index cb57c878b..9e9363b1c 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -35,7 +35,7 @@ module.exports = function (source, options) { } if (Object.keys(source.headersObj).length) { - reqOpts.headers = {...source.headersObj,useQueryString: true} + reqOpts.headers = {...source.headersObj,'useQueryString': true} } switch (source.postData.mimeType) { From f090b1c4cc671361b9217cb73f48c0257bdf8d0c Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 21 May 2020 17:17:31 -0700 Subject: [PATCH 062/181] chore: pulling our fork back into step with upstream --- src/index.js | 3 +-- src/targets/javascript/index.js | 2 +- src/targets/javascript/{jq.js => jquery.js} | 0 src/targets/ruby/native.js | 1 + 4 files changed, 3 insertions(+), 3 deletions(-) rename src/targets/javascript/{jq.js => jquery.js} (100%) diff --git a/src/index.js b/src/index.js index 16a565448..c50e35347 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,6 @@ 'use strict' -//var debug = require('debug')('httpsnippet') -var debug = console.log; +var debug = require('debug')('httpsnippet') var es = require('event-stream') var MultiPartForm = require('form-data') var qs = require('querystring') diff --git a/src/targets/javascript/index.js b/src/targets/javascript/index.js index a8ec53fb7..27863663d 100644 --- a/src/targets/javascript/index.js +++ b/src/targets/javascript/index.js @@ -8,7 +8,7 @@ module.exports = { default: 'xhr' }, - jquery: require('./jq'), + jquery: require('./jquery'), fetch: require('./fetch'), xhr: require('./xhr') } diff --git a/src/targets/javascript/jq.js b/src/targets/javascript/jquery.js similarity index 100% rename from src/targets/javascript/jq.js rename to src/targets/javascript/jquery.js diff --git a/src/targets/ruby/native.js b/src/targets/ruby/native.js index c0433f6d6..4e24a34e0 100644 --- a/src/targets/ruby/native.js +++ b/src/targets/ruby/native.js @@ -34,6 +34,7 @@ module.exports = function (source, options) { if (source.uriObj.protocol === 'https:') { code.push('http.use_ssl = true') + .push('http.verify_mode = OpenSSL::SSL::VERIFY_NONE') } code.blank() From 0cecdd37f57bf8ba6631f7358ae7d73bc02b47f6 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 26 May 2020 14:37:49 -0700 Subject: [PATCH 063/181] Adding the ability to import custom targets and target clients. --- src/index.js | 22 +++++++++ test/fixtures/customTarget.js | 12 +++++ test/targets.js | 86 +++++++++++++++++++++++++++++++++-- 3 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/customTarget.js diff --git a/src/index.js b/src/index.js index c50e35347..acb042292 100644 --- a/src/index.js +++ b/src/index.js @@ -221,6 +221,28 @@ HTTPSnippet.prototype._matchTarget = function (target, client) { // exports module.exports = HTTPSnippet +module.exports.addTarget = function (target) { + if (!('info' in target)) { + throw new Error('The supplied custom target must contain an `info` object.') + } else if (!('key' in target.info) || !('title' in target.info) || !('extname' in target.info) || !('default' in target.info)) { + throw new Error('The supplied custom target must have an `info` object with a `key`, `title`, `extname`, and `default` property.') + } else if (targets.hasOwnProperty(target.info.key)) { + throw new Error('The supplied custom target already exists.') + } else if (Object.keys(target).length === 1) { + throw new Error('A custom target must have a client defined on it.') + } + + targets[target.info.key] = target +} + +module.exports.addTargetClient = function (target, client, plugin) { + if (!targets.hasOwnProperty(target)) { + throw new Error(`Sorry, but no ${target} target exists to add clients to.`) + } + + targets[target][client] = plugin +} + module.exports.availableTargets = function () { return Object.keys(targets).map(function (key) { var target = Object.assign({}, targets[key].info) diff --git a/test/fixtures/customTarget.js b/test/fixtures/customTarget.js new file mode 100644 index 000000000..9a6e11c41 --- /dev/null +++ b/test/fixtures/customTarget.js @@ -0,0 +1,12 @@ +'use strict' + +module.exports = { + info: { + key: 'js-variant', + title: 'JavaScript Variant', + extname: '.js', + default: 'request' + }, + + request: require('../../src/targets/node/request') +} diff --git a/test/targets.js b/test/targets.js index 319dbe0e8..41390a847 100644 --- a/test/targets.js +++ b/test/targets.js @@ -1,4 +1,4 @@ -/* global describe, it */ +/* global describe, it, beforeEach */ 'use strict' @@ -85,15 +85,93 @@ var itShouldGenerateOutput = function (request, path, target, client) { } describe('Available Targets', function () { - var targets = HTTPSnippet.availableTargets() - - targets.forEach(function (target) { + HTTPSnippet.availableTargets().forEach(function (target) { it('available-targets.json should include ' + target.title, function () { fixtures['available-targets'].should.containEql(target) }) }) }) +describe('Custom targets', function () { + describe('Adding a custom target', function () { + it('should throw if the target does has no info object', function () { + (function () { + HTTPSnippet.addTarget({}) + }).should.throw(Error) + }) + + it('should throw if the target does not have a properly constructed info object', function () { + (function () { + HTTPSnippet.addTarget({info: {key: ''}}) + }).should.throw(Error) + }) + + it('should throw if the target already exists', function () { + (function () { + HTTPSnippet.addTarget(targets.node) + }).should.throw(Error) + }) + + it('should throw if the target has no client', function () { + (function () { + HTTPSnippet.addTarget({ + info: targets.node.info + }) + }).should.throw(Error) + }) + + it('should add and convert for a new custom target', function () { + const customTarget = require('./fixtures/customTarget') + + HTTPSnippet.addTarget(customTarget) + const target = HTTPSnippet.availableTargets().find(function (target) { return target.key === customTarget.info.key }) + const client = target.clients.find(function (client) { return client.key === customTarget.info.default }) + client.should.be.an.Object() + + Object.keys(fixtures.requests).filter(clearInfo).forEach(function (request) { + // Re-using the `request` module fixtures and framework since we copied it to create a custom client. + itShouldGenerateOutput(request, 'node/request/', customTarget.info.key, customTarget.info.default) + }) + }) + }) + + describe('Adding a custom client target', function () { + let customClient + + beforeEach(function () { + // Re-using the existing request client instead of mocking out something completely new. + customClient = { + ...targets.node.request, + info: { + key: 'axios', + title: 'Axios', + link: 'https://www.npmjs.com/package/axios', + description: 'Promise based HTTP client for the browser and node.js' + } + } + }) + + it("should throw if the client's target does not exist", function () { + (function () { + HTTPSnippet.addTargetClient('node.js', 'axios', customClient) + }).should.throw(Error) + }) + + it('should add and convert for a new custom client target', function () { + HTTPSnippet.addTargetClient('node', 'axios', customClient) + + const target = HTTPSnippet.availableTargets().find(function (target) { return target.key === 'node' }) + const client = target.clients.find(function (client) { return client.key === 'axios' }) + client.should.be.an.Object() + + Object.keys(fixtures.requests).filter(clearInfo).forEach(function (request) { + // Re-using the `request` module fixtures and framework since we copied it to create a custom client target. + itShouldGenerateOutput(request, 'node/request/', 'node', 'axios') + }) + }) + }) +}) + // test all the things! describe('Targets', function () { Object.keys(targets).forEach(function (target) { From 02ef6fa4cb363331574920467f802269cd2169dd Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 26 May 2020 15:01:45 -0700 Subject: [PATCH 064/181] Simplifying the custom target client API a bit. --- src/index.js | 8 ++++++-- test/targets.js | 20 ++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/index.js b/src/index.js index acb042292..815593611 100644 --- a/src/index.js +++ b/src/index.js @@ -235,12 +235,16 @@ module.exports.addTarget = function (target) { targets[target.info.key] = target } -module.exports.addTargetClient = function (target, client, plugin) { +module.exports.addTargetClient = function (target, client) { if (!targets.hasOwnProperty(target)) { throw new Error(`Sorry, but no ${target} target exists to add clients to.`) + } else if (!('info' in client)) { + throw new Error('The supplied custom target client must contain an `info` object.') + } else if (!('key' in client.info) || !('title' in client.info)) { + throw new Error('The supplied custom target client must have an `info` object with a `key` and `title` property.') } - targets[target][client] = plugin + targets[target][client.info.key] = client } module.exports.availableTargets = function () { diff --git a/test/targets.js b/test/targets.js index 41390a847..675293540 100644 --- a/test/targets.js +++ b/test/targets.js @@ -153,20 +153,32 @@ describe('Custom targets', function () { it("should throw if the client's target does not exist", function () { (function () { - HTTPSnippet.addTargetClient('node.js', 'axios', customClient) + HTTPSnippet.addTargetClient('node.js', customClient) + }).should.throw(Error) + }) + + it('should throw if the client does has no info object', function () { + (function () { + HTTPSnippet.addTargetClient('node', {}) + }).should.throw(Error) + }) + + it('should throw if the target does not have a properly constructed info object', function () { + (function () { + HTTPSnippet.addTargetClient('node', {info: {key: ''}}) }).should.throw(Error) }) it('should add and convert for a new custom client target', function () { - HTTPSnippet.addTargetClient('node', 'axios', customClient) + HTTPSnippet.addTargetClient('node', customClient) const target = HTTPSnippet.availableTargets().find(function (target) { return target.key === 'node' }) - const client = target.clients.find(function (client) { return client.key === 'axios' }) + const client = target.clients.find(function (client) { return client.key === customClient.info.key }) client.should.be.an.Object() Object.keys(fixtures.requests).filter(clearInfo).forEach(function (request) { // Re-using the `request` module fixtures and framework since we copied it to create a custom client target. - itShouldGenerateOutput(request, 'node/request/', 'node', 'axios') + itShouldGenerateOutput(request, 'node/request/', 'node', customClient.info.key) }) }) }) From b7818e6660b16f5d572bbb06f36e2ed5f71a87a9 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 26 May 2020 15:07:28 -0700 Subject: [PATCH 065/181] Adding some docs on the new target and client APIs to the readme. --- README.md | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 584a646dd..cb59c19ba 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ snippets/ #### source -*Required* +*Required* Type: `object` Name of [conversion target](https://github.com/Mashape/httpsnippet/wiki/Targets) @@ -87,7 +87,7 @@ var snippet = new HTTPSnippet({ #### target -*Required* +*Required* Type: `string` Name of [conversion target](https://github.com/Mashape/httpsnippet/wiki/Targets) @@ -119,7 +119,7 @@ console.log(snippet.convert('node', { #### target -*Required* +*Required* Type: `string` Name of [conversion target](https://github.com/Mashape/httpsnippet/wiki/Targets) @@ -153,6 +153,39 @@ console.log(snippet.convert('shell', 'curl', { console.log(snippet.convert('node', 'unirest')); ``` +### addTarget(target) +#### target + +*Required* +Type: `object` + +Representation of a [conversion target](https://github.com/Kong/httpsnippet/wiki/Creating-Targets). Can use this to use targets that are not officially supported. + +```js +const customLanguageTarget = require('httpsnippet-for-my-lang'); +HTTPSnippet.addTarget(customLanguageTarget); +``` + +### addTargetClient(target, client) +### target + +*Required* +Type: `string` + +Name of [conversion target](https://github.com/Mashape/httpsnippet/wiki/Targets) + +### client + +*Required* +Type: `object` + +Representation of a [conversion target client](https://github.com/Kong/httpsnippet/wiki/Creating-Targets). Can use this to use target clients that are not officially supported. + +```js +const customClient = require('httpsnippet-for-my-node-http-client'); +HTTPSnippet.addTargetClient('node', customClient); +``` + ## Documentation At the heart of this module is the [HAR Format](http://www.softwareishard.com/blog/har-12-spec/#request) as the HTTP request description format, please review some of the sample JSON HAR Request objects in [test fixtures](/test/fixtures/requests), or read the [HAR Docs](http://www.softwareishard.com/blog/har-12-spec/#request) for more details. From fa57cbaf503297388513b572e762a38ae18d669e Mon Sep 17 00:00:00 2001 From: windard Date: Fri, 8 May 2020 12:43:18 +0800 Subject: [PATCH 066/181] add java async http client Change-Id: Ic28431ae73b499e929545f95d746b1606fd639f3 fix double quote Change-Id: I7a8d4aa4cfd96159886436b89fc73096c9e740c5 fixture tests Change-Id: I355747450a1b47dc356ed97ba3da3c4b48ea6adc fix travis ci Change-Id: I88295b5adf157420052793c94b74dbdcb1abdaf3 small update Change-Id: Iabdddda1142500d14da1ab9157396d9871118130 close async http clinet Change-Id: Ie61baf7f5e19ed06e3799799d1604e6bf32a54fd delete leftover code Change-Id: I67c4b6e929903bd6a6e7e79cbbb596d2f33b0696 --- src/targets/java/asynchttp.js | 55 +++++++++++++++++++ src/targets/java/index.js | 4 +- test/fixtures/available-targets.json | 6 ++ .../asynchttp/application-form-encoded.java | 10 ++++ .../java/asynchttp/application-json.java | 10 ++++ .../output/java/asynchttp/cookies.java | 9 +++ .../output/java/asynchttp/custom-method.java | 8 +++ test/fixtures/output/java/asynchttp/full.java | 12 ++++ .../output/java/asynchttp/headers.java | 10 ++++ .../fixtures/output/java/asynchttp/https.java | 8 +++ .../java/asynchttp/jsonObj-multiline.java | 10 ++++ .../java/asynchttp/jsonObj-null-value.java | 10 ++++ .../output/java/asynchttp/multipart-data.java | 10 ++++ .../output/java/asynchttp/multipart-file.java | 10 ++++ .../java/asynchttp/multipart-form-data.java | 10 ++++ .../fixtures/output/java/asynchttp/query.java | 8 +++ .../fixtures/output/java/asynchttp/short.java | 8 +++ .../output/java/asynchttp/text-plain.java | 10 ++++ test/targets/java/asynchttp.js | 5 ++ 19 files changed, 212 insertions(+), 1 deletion(-) create mode 100644 src/targets/java/asynchttp.js create mode 100644 test/fixtures/output/java/asynchttp/application-form-encoded.java create mode 100644 test/fixtures/output/java/asynchttp/application-json.java create mode 100644 test/fixtures/output/java/asynchttp/cookies.java create mode 100644 test/fixtures/output/java/asynchttp/custom-method.java create mode 100644 test/fixtures/output/java/asynchttp/full.java create mode 100644 test/fixtures/output/java/asynchttp/headers.java create mode 100644 test/fixtures/output/java/asynchttp/https.java create mode 100644 test/fixtures/output/java/asynchttp/jsonObj-multiline.java create mode 100644 test/fixtures/output/java/asynchttp/jsonObj-null-value.java create mode 100644 test/fixtures/output/java/asynchttp/multipart-data.java create mode 100644 test/fixtures/output/java/asynchttp/multipart-file.java create mode 100644 test/fixtures/output/java/asynchttp/multipart-form-data.java create mode 100644 test/fixtures/output/java/asynchttp/query.java create mode 100644 test/fixtures/output/java/asynchttp/short.java create mode 100644 test/fixtures/output/java/asynchttp/text-plain.java create mode 100644 test/targets/java/asynchttp.js diff --git a/src/targets/java/asynchttp.js b/src/targets/java/asynchttp.js new file mode 100644 index 000000000..3470e2a8b --- /dev/null +++ b/src/targets/java/asynchttp.js @@ -0,0 +1,55 @@ +/** + * @description + * Asynchronous Http and WebSocket Client library for Java + * + * @author + * @windard + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + code.push('AsyncHttpClient client = new DefaultAsyncHttpClient();') + + code.push(`client.prepare${source.method[0].toUpperCase()}${source.method.substring(1).toLowerCase()}("${source.fullUrl}")`) + + // Add headers, including the cookies + var headers = Object.keys(source.allHeaders) + + // construct headers + if (headers.length) { + headers.forEach(function (key) { + code.push(1, '.setHeader("%s", "%s")', key, source.allHeaders[key]) + }) + } + + if (source.postData.text) { + code.push(1, '.setBody(%s)', JSON.stringify(source.postData.text)) + } + + code.push(1, '.execute()') + code.push(1, '.toCompletableFuture()') + code.push(1, '.thenAccept(System.out::println)') + code.push(1, '.join();') + code.blank() + code.push('client.close();') + + return code.join() +} + +module.exports.info = { + key: 'asynchttp', + title: 'AsyncHttp', + link: 'https://github.com/AsyncHttpClient/async-http-client', + description: 'Asynchronous Http and WebSocket Client library for Java' +} diff --git a/src/targets/java/index.js b/src/targets/java/index.js index 2d13eefa1..7efd9a989 100644 --- a/src/targets/java/index.js +++ b/src/targets/java/index.js @@ -9,5 +9,7 @@ module.exports = { }, okhttp: require('./okhttp'), - unirest: require('./unirest') + unirest: require('./unirest'), + asynchttp: require('./asynchttp') + } diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index ac987596a..ce59a15b1 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -196,6 +196,12 @@ "title": "Unirest", "link": "http://unirest.io/java.html", "description": "Lightweight HTTP Request Client Library" + }, + { + "key": "asynchttp", + "title": "AsyncHttp", + "link": "https://github.com/AsyncHttpClient/async-http-client", + "description": "Asynchronous Http and WebSocket Client library for Java" } ] }, diff --git a/test/fixtures/output/java/asynchttp/application-form-encoded.java b/test/fixtures/output/java/asynchttp/application-form-encoded.java new file mode 100644 index 000000000..d93629d66 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/application-form-encoded.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "application/x-www-form-urlencoded") + .setBody("foo=bar&hello=world") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/application-json.java b/test/fixtures/output/java/asynchttp/application-json.java new file mode 100644 index 000000000..da6efc208 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/application-json.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "application/json") + .setBody("{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/cookies.java b/test/fixtures/output/java/asynchttp/cookies.java new file mode 100644 index 000000000..b84e0b226 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/cookies.java @@ -0,0 +1,9 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("cookie", "foo=bar; bar=baz") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/custom-method.java b/test/fixtures/output/java/asynchttp/custom-method.java new file mode 100644 index 000000000..50607d698 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/custom-method.java @@ -0,0 +1,8 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePropfind("http://mockbin.com/har") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/full.java b/test/fixtures/output/java/asynchttp/full.java new file mode 100644 index 000000000..b1b67eba3 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/full.java @@ -0,0 +1,12 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") + .setHeader("cookie", "foo=bar; bar=baz") + .setHeader("accept", "application/json") + .setHeader("content-type", "application/x-www-form-urlencoded") + .setBody("foo=bar") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/headers.java b/test/fixtures/output/java/asynchttp/headers.java new file mode 100644 index 000000000..f2600d581 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/headers.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.prepareGet("http://mockbin.com/har") + .setHeader("accept", "application/json") + .setHeader("x-foo", "Bar") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/https.java b/test/fixtures/output/java/asynchttp/https.java new file mode 100644 index 000000000..b37516bc4 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/https.java @@ -0,0 +1,8 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.prepareGet("https://mockbin.com/har") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/jsonObj-multiline.java b/test/fixtures/output/java/asynchttp/jsonObj-multiline.java new file mode 100644 index 000000000..117dd9269 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/jsonObj-multiline.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "application/json") + .setBody("{\n \"foo\": \"bar\"\n}") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/jsonObj-null-value.java b/test/fixtures/output/java/asynchttp/jsonObj-null-value.java new file mode 100644 index 000000000..0b9f6bd3f --- /dev/null +++ b/test/fixtures/output/java/asynchttp/jsonObj-null-value.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "application/json") + .setBody("{\"foo\":null}") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/multipart-data.java b/test/fixtures/output/java/asynchttp/multipart-data.java new file mode 100644 index 000000000..f83cc9f79 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/multipart-data.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/multipart-file.java b/test/fixtures/output/java/asynchttp/multipart-file.java new file mode 100644 index 000000000..37ebe8c16 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/multipart-file.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/multipart-form-data.java b/test/fixtures/output/java/asynchttp/multipart-form-data.java new file mode 100644 index 000000000..41149bdbb --- /dev/null +++ b/test/fixtures/output/java/asynchttp/multipart-form-data.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/query.java b/test/fixtures/output/java/asynchttp/query.java new file mode 100644 index 000000000..428dbcf7e --- /dev/null +++ b/test/fixtures/output/java/asynchttp/query.java @@ -0,0 +1,8 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.prepareGet("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/short.java b/test/fixtures/output/java/asynchttp/short.java new file mode 100644 index 000000000..30d448595 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/short.java @@ -0,0 +1,8 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.prepareGet("http://mockbin.com/har") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/asynchttp/text-plain.java b/test/fixtures/output/java/asynchttp/text-plain.java new file mode 100644 index 000000000..b902d52a5 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/text-plain.java @@ -0,0 +1,10 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.preparePost("http://mockbin.com/har") + .setHeader("content-type", "text/plain") + .setBody("Hello World") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/targets/java/asynchttp.js b/test/targets/java/asynchttp.js new file mode 100644 index 000000000..9ad8c1790 --- /dev/null +++ b/test/targets/java/asynchttp.js @@ -0,0 +1,5 @@ +'use strict' + +require('should') + +module.exports = function (snippet, fixtures) {} From 80dfecc120217138dc2815ffedb98988129ab340 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2020 13:48:28 +0000 Subject: [PATCH 067/181] chore(deps): bump handlebars from 4.1.2 to 4.7.6 Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.7.6. - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.2...v4.7.6) Signed-off-by: dependabot[bot] --- package-lock.json | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 311db968e..80913e97d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1342,17 +1342,24 @@ "dev": true }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", "dev": true, "requires": { + "minimist": "^1.2.5", "neo-async": "^2.6.0", - "optimist": "^0.6.1", "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2219,30 +2226,6 @@ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", From c72ab96235ea116f6f7d477458d3e267203766c5 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Tue, 2 Jun 2020 12:43:18 +0300 Subject: [PATCH 068/181] Comment unnecessary import --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 473bcf378..2c0874fb4 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ 'use strict' var debug = require('debug')('httpsnippet') -var es = require('event-stream') +// var es = require('event-stream') // This import is not used in the file TODO: Marked for remove var MultiPartForm = require('form-data') var qs = require('querystring') var reducer = require('./helpers/reducer') From 33446e71914135ed002ee7167aaa0da4655f5884 Mon Sep 17 00:00:00 2001 From: Atvaark Date: Fri, 4 Oct 2019 13:55:13 +0200 Subject: [PATCH 069/181] Add C# HttpClient target This target uses the default HttpClient class which doesn't require any additional NuGet Packages. --- src/targets/csharp/httpclient.js | 103 ++++++++++++++++++ src/targets/csharp/index.js | 3 +- test/fixtures/available-targets.json | 6 + .../httpclient/application-form-encoded.cs | 17 +++ .../csharp/httpclient/application-json.cs | 19 ++++ .../output/csharp/httpclient/cookies.cs | 16 +++ .../output/csharp/httpclient/custom-method.cs | 12 ++ .../fixtures/output/csharp/httpclient/full.cs | 21 ++++ .../output/csharp/httpclient/headers.cs | 17 +++ .../output/csharp/httpclient/https.cs | 12 ++ .../csharp/httpclient/jsonObj-multiline.cs | 19 ++++ .../csharp/httpclient/jsonObj-null-value.cs | 19 ++++ .../csharp/httpclient/multipart-data.cs | 27 +++++ .../csharp/httpclient/multipart-file.cs | 27 +++++ .../csharp/httpclient/multipart-form-data.cs | 25 +++++ .../output/csharp/httpclient/query.cs | 12 ++ .../output/csharp/httpclient/short.cs | 12 ++ .../output/csharp/httpclient/text-plain.cs | 19 ++++ test/targets/csharp/httpclient.js | 5 + 19 files changed, 390 insertions(+), 1 deletion(-) create mode 100644 src/targets/csharp/httpclient.js create mode 100644 test/fixtures/output/csharp/httpclient/application-form-encoded.cs create mode 100644 test/fixtures/output/csharp/httpclient/application-json.cs create mode 100644 test/fixtures/output/csharp/httpclient/cookies.cs create mode 100644 test/fixtures/output/csharp/httpclient/custom-method.cs create mode 100644 test/fixtures/output/csharp/httpclient/full.cs create mode 100644 test/fixtures/output/csharp/httpclient/headers.cs create mode 100644 test/fixtures/output/csharp/httpclient/https.cs create mode 100644 test/fixtures/output/csharp/httpclient/jsonObj-multiline.cs create mode 100644 test/fixtures/output/csharp/httpclient/jsonObj-null-value.cs create mode 100644 test/fixtures/output/csharp/httpclient/multipart-data.cs create mode 100644 test/fixtures/output/csharp/httpclient/multipart-file.cs create mode 100644 test/fixtures/output/csharp/httpclient/multipart-form-data.cs create mode 100644 test/fixtures/output/csharp/httpclient/query.cs create mode 100644 test/fixtures/output/csharp/httpclient/short.cs create mode 100644 test/fixtures/output/csharp/httpclient/text-plain.cs create mode 100644 test/targets/csharp/httpclient.js diff --git a/src/targets/csharp/httpclient.js b/src/targets/csharp/httpclient.js new file mode 100644 index 000000000..5e0469655 --- /dev/null +++ b/src/targets/csharp/httpclient.js @@ -0,0 +1,103 @@ +'use strict' + +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var indentation = ' ' + var code = new CodeBuilder(indentation) + + var clienthandler = '' + if (source.allHeaders.cookie) { + clienthandler = 'new HttpClientHandler { UseCookies = false }' + } + + code.push('var client = new HttpClient(%s);', clienthandler) + code.push('var request = new HttpRequestMessage') + code.push('{') + + var methods = [ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'TRACE' ] + var method = source.method.toUpperCase() + if (method && (methods.indexOf(method) !== -1)) { + method = `HttpMethod.${method[0]}${method.substring(1).toLowerCase()}` + } else { + method = `new HttpMethod("${method}")` + } + code.push(1, 'Method = %s,', method) + + code.push(1, 'RequestUri = new Uri("%s"),', source.fullUrl) + + var headers = Object.keys(source.allHeaders).filter(function (header) { + return header !== 'content-type' + }) + if (headers.length) { + code.push(1, 'Headers =') + code.push(1, '{') + headers.forEach(function (key) { + code.push(2, '{ "%s", "%s" },', key, source.allHeaders[key]) + }) + code.push(1, '},') + } + + if (source.postData.text) { + const contentType = source.postData.mimeType + switch (contentType) { + case 'application/x-www-form-urlencoded': + code.push(1, 'Content = new FormUrlEncodedContent(new Dictionary') + code.push(1, '{') + source.postData.params.forEach(function (param) { + code.push(2, '{ "%s", "%s" },', param.name, param.value) + }) + code.push(1, '}),') + break + case 'multipart/form-data': + code.push(1, 'Content = new MultipartFormDataContent') + code.push(1, '{') + source.postData.params.forEach(function (param) { + code.push(2, 'new StringContent(%s)', JSON.stringify(param.value || '')) + code.push(2, '{') + code.push(3, 'Headers =') + code.push(3, '{') + if (param.contentType) { + code.push(4, 'ContentType = new MediaTypeHeaderValue("%s"),', param.contentType) + } + code.push(4, 'ContentDisposition = new ContentDispositionHeaderValue("form-data")') + code.push(4, '{') + code.push(5, 'Name = "%s",', param.name) + if (param.fileName) { + code.push(5, 'FileName = "%s",', param.fileName) + } + code.push(4, '}') + code.push(3, '}') + code.push(2, '},') + }) + + code.push(1, '},') + break + default: + code.push(1, 'Content = new StringContent(%s)', JSON.stringify(source.postData.text || '')) + code.push(1, '{') + code.push(2, 'Headers =') + code.push(2, '{') + code.push(3, 'ContentType = new MediaTypeHeaderValue("%s")', contentType) + code.push(2, '}') + code.push(1, '}') + break + } + } + + code.push('};') + code.push('using (var response = await client.SendAsync(request))') + code.push('{') + code.push(1, 'response.EnsureSuccessStatusCode();') + code.push(1, 'var body = await response.Content.ReadAsStringAsync();') + code.push(1, 'Console.WriteLine(body);') + code.push('}') + return code.join() +} + +module.exports.info = { + key: 'httpclient', + title: 'HttpClient', + link: 'https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient', + description: '.NET Standard HTTP Client' +} diff --git a/src/targets/csharp/index.js b/src/targets/csharp/index.js index 226dd69f4..f266f466e 100644 --- a/src/targets/csharp/index.js +++ b/src/targets/csharp/index.js @@ -8,5 +8,6 @@ module.exports = { default: 'restsharp' }, - restsharp: require('./restsharp') + restsharp: require('./restsharp'), + httpclient: require('./httpclient') } diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index ce59a15b1..c93f06140 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -230,6 +230,12 @@ "title": "RestSharp", "link": "http://restsharp.org/", "description": "Simple REST and HTTP API Client for .NET" + }, + { + "key": "httpclient", + "title": "HttpClient", + "link": "https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient", + "description": ".NET Standard HTTP Client" } ] }, diff --git a/test/fixtures/output/csharp/httpclient/application-form-encoded.cs b/test/fixtures/output/csharp/httpclient/application-form-encoded.cs new file mode 100644 index 000000000..1fd11f8e0 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/application-form-encoded.cs @@ -0,0 +1,17 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new FormUrlEncodedContent(new Dictionary + { + { "foo", "bar" }, + { "hello", "world" }, + }), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/application-json.cs b/test/fixtures/output/csharp/httpclient/application-json.cs new file mode 100644 index 000000000..9bf3269f8 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/application-json.cs @@ -0,0 +1,19 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new StringContent("{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("application/json") + } + } +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/cookies.cs b/test/fixtures/output/csharp/httpclient/cookies.cs new file mode 100644 index 000000000..8d1b5d150 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/cookies.cs @@ -0,0 +1,16 @@ +var client = new HttpClient(new HttpClientHandler { UseCookies = false }); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Headers = + { + { "cookie", "foo=bar; bar=baz" }, + }, +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/custom-method.cs b/test/fixtures/output/csharp/httpclient/custom-method.cs new file mode 100644 index 000000000..a82173dac --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/custom-method.cs @@ -0,0 +1,12 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = new HttpMethod("PROPFIND"), + RequestUri = new Uri("http://mockbin.com/har"), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/full.cs b/test/fixtures/output/csharp/httpclient/full.cs new file mode 100644 index 000000000..86c9bd0a7 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/full.cs @@ -0,0 +1,21 @@ +var client = new HttpClient(new HttpClientHandler { UseCookies = false }); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value"), + Headers = + { + { "cookie", "foo=bar; bar=baz" }, + { "accept", "application/json" }, + }, + Content = new FormUrlEncodedContent(new Dictionary + { + { "foo", "bar" }, + }), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/headers.cs b/test/fixtures/output/csharp/httpclient/headers.cs new file mode 100644 index 000000000..ad317d71e --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/headers.cs @@ -0,0 +1,17 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Get, + RequestUri = new Uri("http://mockbin.com/har"), + Headers = + { + { "accept", "application/json" }, + { "x-foo", "Bar" }, + }, +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/https.cs b/test/fixtures/output/csharp/httpclient/https.cs new file mode 100644 index 000000000..c36e055ef --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/https.cs @@ -0,0 +1,12 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Get, + RequestUri = new Uri("https://mockbin.com/har"), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/jsonObj-multiline.cs b/test/fixtures/output/csharp/httpclient/jsonObj-multiline.cs new file mode 100644 index 000000000..dbd732960 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/jsonObj-multiline.cs @@ -0,0 +1,19 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new StringContent("{\n \"foo\": \"bar\"\n}") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("application/json") + } + } +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/jsonObj-null-value.cs b/test/fixtures/output/csharp/httpclient/jsonObj-null-value.cs new file mode 100644 index 000000000..f2451a477 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/jsonObj-null-value.cs @@ -0,0 +1,19 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new StringContent("{\"foo\":null}") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("application/json") + } + } +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/multipart-data.cs b/test/fixtures/output/csharp/httpclient/multipart-data.cs new file mode 100644 index 000000000..cba898143 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/multipart-data.cs @@ -0,0 +1,27 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new MultipartFormDataContent + { + new StringContent("Hello World") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("text/plain"), + ContentDisposition = new ContentDispositionHeaderValue("form-data") + { + Name = "foo", + FileName = "hello.txt", + } + } + }, + }, +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/multipart-file.cs b/test/fixtures/output/csharp/httpclient/multipart-file.cs new file mode 100644 index 000000000..510e051d9 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/multipart-file.cs @@ -0,0 +1,27 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new MultipartFormDataContent + { + new StringContent("") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("text/plain"), + ContentDisposition = new ContentDispositionHeaderValue("form-data") + { + Name = "foo", + FileName = "test/fixtures/files/hello.txt", + }, + } + }, + }, +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/multipart-form-data.cs b/test/fixtures/output/csharp/httpclient/multipart-form-data.cs new file mode 100644 index 000000000..68befccda --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/multipart-form-data.cs @@ -0,0 +1,25 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new MultipartFormDataContent + { + new StringContent("bar") + { + Headers = + { + ContentDisposition = new ContentDispositionHeaderValue("form-data") + { + Name = "foo", + }, + } + }, + }, +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/query.cs b/test/fixtures/output/csharp/httpclient/query.cs new file mode 100644 index 000000000..702642147 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/query.cs @@ -0,0 +1,12 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Get, + RequestUri = new Uri("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value"), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/short.cs b/test/fixtures/output/csharp/httpclient/short.cs new file mode 100644 index 000000000..265b1967d --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/short.cs @@ -0,0 +1,12 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Get, + RequestUri = new Uri("http://mockbin.com/har"), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/httpclient/text-plain.cs b/test/fixtures/output/csharp/httpclient/text-plain.cs new file mode 100644 index 000000000..cf56fa86f --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/text-plain.cs @@ -0,0 +1,19 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Post, + RequestUri = new Uri("http://mockbin.com/har"), + Content = new StringContent("Hello World") + { + Headers = + { + ContentType = new MediaTypeHeaderValue("text/plain") + } + } +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/targets/csharp/httpclient.js b/test/targets/csharp/httpclient.js new file mode 100644 index 000000000..9ad8c1790 --- /dev/null +++ b/test/targets/csharp/httpclient.js @@ -0,0 +1,5 @@ +'use strict' + +require('should') + +module.exports = function (snippet, fixtures) {} From 48e733a82d5daae5d909769dc2c425147650cf3f Mon Sep 17 00:00:00 2001 From: Atvaark Date: Fri, 4 Oct 2019 22:05:25 +0200 Subject: [PATCH 070/181] C# HttpClient target with decompression --- src/targets/csharp/httpclient.js | 58 +++++++++++++++++-- .../output/csharp/httpclient/cookies.cs | 6 +- .../fixtures/output/csharp/httpclient/full.cs | 6 +- .../csharp/httpclient/multipart-file.cs | 2 +- .../csharp/httpclient/multipart-form-data.cs | 2 +- 5 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/targets/csharp/httpclient.js b/src/targets/csharp/httpclient.js index 5e0469655..bff153c06 100644 --- a/src/targets/csharp/httpclient.js +++ b/src/targets/csharp/httpclient.js @@ -2,24 +2,64 @@ var CodeBuilder = require('../../helpers/code-builder') +function getDecompressionMethods (source) { + var acceptEncoding = source.allHeaders['accept-encoding'] + if (!acceptEncoding) { + return [] // no decompression + } + + var supportedMethods = { + gzip: 'DecompressionMethods.GZip', + deflate: 'DecompressionMethods.Deflate' + } + var methods = [] + acceptEncoding.split(',').forEach(function (encoding) { + var match = /\s*([^;\s]+)/.exec(encoding) + if (match) { + var method = supportedMethods[match[1]] + if (method) { + methods.push(method) + } + } + }) + + return methods +} + module.exports = function (source, options) { var indentation = ' ' var code = new CodeBuilder(indentation) var clienthandler = '' - if (source.allHeaders.cookie) { - clienthandler = 'new HttpClientHandler { UseCookies = false }' + var cookies = !!source.allHeaders.cookie + var decompressionMethods = getDecompressionMethods(source) + if (cookies || decompressionMethods.length) { + clienthandler = 'clientHandler' + code.push('var clientHandler = new HttpClientHandler') + code.push('{') + if (cookies) { + // enable setting the cookie header + code.push(1, 'UseCookies = false,') + } + if (decompressionMethods.length) { + // enable decompression for supported methods + code.push(1, 'AutomaticDecompression = %s,', decompressionMethods.join(' | ')) + } + code.push('};') } code.push('var client = new HttpClient(%s);', clienthandler) + code.push('var request = new HttpRequestMessage') code.push('{') var methods = [ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'TRACE' ] var method = source.method.toUpperCase() if (method && (methods.indexOf(method) !== -1)) { + // buildin method method = `HttpMethod.${method[0]}${method.substring(1).toLowerCase()}` } else { + // custom method method = `new HttpMethod("${method}")` } code.push(1, 'Method = %s,', method) @@ -27,7 +67,15 @@ module.exports = function (source, options) { code.push(1, 'RequestUri = new Uri("%s"),', source.fullUrl) var headers = Object.keys(source.allHeaders).filter(function (header) { - return header !== 'content-type' + switch (header) { + case 'content-type': + case 'content-length': + case 'accept-encoding': + // skip these headers + return false + default: + return true + } }) if (headers.length) { code.push(1, 'Headers =') @@ -84,14 +132,16 @@ module.exports = function (source, options) { break } } - code.push('};') + + // send and read response code.push('using (var response = await client.SendAsync(request))') code.push('{') code.push(1, 'response.EnsureSuccessStatusCode();') code.push(1, 'var body = await response.Content.ReadAsStringAsync();') code.push(1, 'Console.WriteLine(body);') code.push('}') + return code.join() } diff --git a/test/fixtures/output/csharp/httpclient/cookies.cs b/test/fixtures/output/csharp/httpclient/cookies.cs index 8d1b5d150..3ebced64e 100644 --- a/test/fixtures/output/csharp/httpclient/cookies.cs +++ b/test/fixtures/output/csharp/httpclient/cookies.cs @@ -1,4 +1,8 @@ -var client = new HttpClient(new HttpClientHandler { UseCookies = false }); +var clientHandler = new HttpClientHandler +{ + UseCookies = false, +}; +var client = new HttpClient(clientHandler); var request = new HttpRequestMessage { Method = HttpMethod.Post, diff --git a/test/fixtures/output/csharp/httpclient/full.cs b/test/fixtures/output/csharp/httpclient/full.cs index 86c9bd0a7..f1ae328b2 100644 --- a/test/fixtures/output/csharp/httpclient/full.cs +++ b/test/fixtures/output/csharp/httpclient/full.cs @@ -1,4 +1,8 @@ -var client = new HttpClient(new HttpClientHandler { UseCookies = false }); +var clientHandler = new HttpClientHandler +{ + UseCookies = false, +}; +var client = new HttpClient(clientHandler); var request = new HttpRequestMessage { Method = HttpMethod.Post, diff --git a/test/fixtures/output/csharp/httpclient/multipart-file.cs b/test/fixtures/output/csharp/httpclient/multipart-file.cs index 510e051d9..b150479b6 100644 --- a/test/fixtures/output/csharp/httpclient/multipart-file.cs +++ b/test/fixtures/output/csharp/httpclient/multipart-file.cs @@ -14,7 +14,7 @@ { Name = "foo", FileName = "test/fixtures/files/hello.txt", - }, + } } }, }, diff --git a/test/fixtures/output/csharp/httpclient/multipart-form-data.cs b/test/fixtures/output/csharp/httpclient/multipart-form-data.cs index 68befccda..dafa4a1ff 100644 --- a/test/fixtures/output/csharp/httpclient/multipart-form-data.cs +++ b/test/fixtures/output/csharp/httpclient/multipart-form-data.cs @@ -12,7 +12,7 @@ ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "foo", - }, + } } }, }, From 31ed16461091bea348239538a3f4c4287cf3027f Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 3 Jun 2020 12:10:21 +0300 Subject: [PATCH 071/181] Fix lodash import --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 2c0874fb4..85ea055c6 100644 --- a/src/index.js +++ b/src/index.js @@ -8,7 +8,7 @@ var reducer = require('./helpers/reducer') var targets = require('./targets') var url = require('url') var validate = require('har-validator/lib/async') -const get = require('lodash/get') +const get = require('lodash').get // constructor var HTTPSnippet = function (data) { var entries From 82cb2126aa55166a4c5de99ac6d029e760e50ffd Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Mon, 8 Jun 2020 15:16:54 -0700 Subject: [PATCH 072/181] fix(package.json) Updating dependencies --- package-lock.json | 810 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 433 insertions(+), 379 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80913e97d..fbdffa555 100644 --- a/package-lock.json +++ b/package-lock.json @@ -245,20 +245,20 @@ "dev": true }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "is-fullwidth-code-point": { @@ -268,22 +268,23 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -388,27 +389,6 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } - } - }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -632,15 +612,6 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1060,21 +1031,6 @@ "through": "~2.3.1" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -1287,15 +1243,6 @@ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -1489,12 +1436,6 @@ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -1502,9 +1443,9 @@ "dev": true }, "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", "dev": true }, "is-callable": { @@ -1578,12 +1519,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", @@ -1761,15 +1696,6 @@ "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "lcov-parse": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", @@ -1887,31 +1813,11 @@ "yallist": "^2.1.2" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-stream": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", @@ -1925,12 +1831,6 @@ "mime-db": "1.40.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1969,9 +1869,9 @@ "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=" }, "mocha": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", - "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", + "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", "dev": true, "requires": { "ansi-colors": "3.2.3", @@ -1986,7 +1886,7 @@ "js-yaml": "3.13.1", "log-symbols": "2.2.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", + "mkdirp": "0.5.4", "ms": "2.1.1", "node-environment-flags": "1.0.5", "object.assign": "4.1.0", @@ -1994,9 +1894,9 @@ "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "13.2.2", - "yargs-parser": "13.0.0", - "yargs-unparser": "1.5.0" + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" }, "dependencies": { "debug": { @@ -2047,6 +1947,21 @@ "path-exists": "^3.0.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -2054,9 +1969,9 @@ "dev": true }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -2077,12 +1992,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, "supports-color": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", @@ -2123,12 +2032,6 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "node-environment-flags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", @@ -2140,9 +2043,9 @@ }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -2156,15 +2059,6 @@ "abbrev": "1" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -2183,6 +2077,12 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -2202,13 +2102,66 @@ } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } } }, "once": { @@ -2246,35 +2199,6 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -2327,12 +2251,6 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -2469,16 +2387,6 @@ "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "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", @@ -2692,21 +2600,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", @@ -2794,12 +2687,6 @@ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", "dev": true }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, "slice-ansi": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", @@ -2895,6 +2782,260 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -2928,12 +3069,6 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -3164,13 +3299,57 @@ "dev": true }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "wrappy": { @@ -3207,22 +3386,21 @@ "dev": true }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "yargs-parser": "^13.1.2" }, "dependencies": { "ansi-regex": { @@ -3257,9 +3435,9 @@ } }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -3303,9 +3481,9 @@ } }, "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -3313,138 +3491,14 @@ } }, "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "dev": true, "requires": { "flat": "^4.1.0", - "lodash": "^4.17.11", - "yargs": "^12.0.5" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "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" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "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" - } - }, - "lodash": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", - "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==", - "dev": true - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, - "requires": { - "p-try": "^2.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" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "lodash": "^4.17.15", + "yargs": "^13.3.0" } } } diff --git a/package.json b/package.json index 2ba65d4f3..08f87e456 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "echint": "^4.0.2", "glob": "^6.0.1", "istanbul": "^0.4.0", - "mocha": "^6.1.4", + "mocha": "^6.2.0", "require-directory": "^2.1.1", "should": "^13.2.3", "standard": "^10.0.2" From 5350ca8f9061e8c282c33743de26e5bf07569c9d Mon Sep 17 00:00:00 2001 From: wtetsu Date: Sun, 21 Jun 2020 06:03:24 +0900 Subject: [PATCH 073/181] Fix uncompilable code of Java asynchttp --- src/targets/java/asynchttp.js | 2 +- .../output/java/asynchttp/application-form-encoded.java | 2 +- test/fixtures/output/java/asynchttp/application-json.java | 2 +- test/fixtures/output/java/asynchttp/cookies.java | 2 +- test/fixtures/output/java/asynchttp/custom-method.java | 2 +- test/fixtures/output/java/asynchttp/full.java | 2 +- test/fixtures/output/java/asynchttp/headers.java | 2 +- test/fixtures/output/java/asynchttp/https.java | 2 +- test/fixtures/output/java/asynchttp/jsonObj-multiline.java | 2 +- test/fixtures/output/java/asynchttp/jsonObj-null-value.java | 2 +- test/fixtures/output/java/asynchttp/multipart-data.java | 2 +- test/fixtures/output/java/asynchttp/multipart-file.java | 2 +- test/fixtures/output/java/asynchttp/multipart-form-data.java | 2 +- test/fixtures/output/java/asynchttp/query.java | 2 +- test/fixtures/output/java/asynchttp/short.java | 2 +- test/fixtures/output/java/asynchttp/text-plain.java | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/targets/java/asynchttp.js b/src/targets/java/asynchttp.js index 3470e2a8b..cf3cd23c0 100644 --- a/src/targets/java/asynchttp.js +++ b/src/targets/java/asynchttp.js @@ -21,7 +21,7 @@ module.exports = function (source, options) { code.push('AsyncHttpClient client = new DefaultAsyncHttpClient();') - code.push(`client.prepare${source.method[0].toUpperCase()}${source.method.substring(1).toLowerCase()}("${source.fullUrl}")`) + code.push(`client.prepare("${source.method.toUpperCase()}", "${source.fullUrl}")`) // Add headers, including the cookies var headers = Object.keys(source.allHeaders) diff --git a/test/fixtures/output/java/asynchttp/application-form-encoded.java b/test/fixtures/output/java/asynchttp/application-form-encoded.java index d93629d66..b4d515b1c 100644 --- a/test/fixtures/output/java/asynchttp/application-form-encoded.java +++ b/test/fixtures/output/java/asynchttp/application-form-encoded.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "application/x-www-form-urlencoded") .setBody("foo=bar&hello=world") .execute() diff --git a/test/fixtures/output/java/asynchttp/application-json.java b/test/fixtures/output/java/asynchttp/application-json.java index da6efc208..1633e36c9 100644 --- a/test/fixtures/output/java/asynchttp/application-json.java +++ b/test/fixtures/output/java/asynchttp/application-json.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "application/json") .setBody("{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}") .execute() diff --git a/test/fixtures/output/java/asynchttp/cookies.java b/test/fixtures/output/java/asynchttp/cookies.java index b84e0b226..62b6eee43 100644 --- a/test/fixtures/output/java/asynchttp/cookies.java +++ b/test/fixtures/output/java/asynchttp/cookies.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("cookie", "foo=bar; bar=baz") .execute() .toCompletableFuture() diff --git a/test/fixtures/output/java/asynchttp/custom-method.java b/test/fixtures/output/java/asynchttp/custom-method.java index 50607d698..be1e9fc46 100644 --- a/test/fixtures/output/java/asynchttp/custom-method.java +++ b/test/fixtures/output/java/asynchttp/custom-method.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePropfind("http://mockbin.com/har") +client.prepare("PROPFIND", "http://mockbin.com/har") .execute() .toCompletableFuture() .thenAccept(System.out::println) diff --git a/test/fixtures/output/java/asynchttp/full.java b/test/fixtures/output/java/asynchttp/full.java index b1b67eba3..9fd2c6ffb 100644 --- a/test/fixtures/output/java/asynchttp/full.java +++ b/test/fixtures/output/java/asynchttp/full.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") +client.prepare("POST", "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") .setHeader("cookie", "foo=bar; bar=baz") .setHeader("accept", "application/json") .setHeader("content-type", "application/x-www-form-urlencoded") diff --git a/test/fixtures/output/java/asynchttp/headers.java b/test/fixtures/output/java/asynchttp/headers.java index f2600d581..472fe09bd 100644 --- a/test/fixtures/output/java/asynchttp/headers.java +++ b/test/fixtures/output/java/asynchttp/headers.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.prepareGet("http://mockbin.com/har") +client.prepare("GET", "http://mockbin.com/har") .setHeader("accept", "application/json") .setHeader("x-foo", "Bar") .execute() diff --git a/test/fixtures/output/java/asynchttp/https.java b/test/fixtures/output/java/asynchttp/https.java index b37516bc4..779198c27 100644 --- a/test/fixtures/output/java/asynchttp/https.java +++ b/test/fixtures/output/java/asynchttp/https.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.prepareGet("https://mockbin.com/har") +client.prepare("GET", "https://mockbin.com/har") .execute() .toCompletableFuture() .thenAccept(System.out::println) diff --git a/test/fixtures/output/java/asynchttp/jsonObj-multiline.java b/test/fixtures/output/java/asynchttp/jsonObj-multiline.java index 117dd9269..25f44e5cb 100644 --- a/test/fixtures/output/java/asynchttp/jsonObj-multiline.java +++ b/test/fixtures/output/java/asynchttp/jsonObj-multiline.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "application/json") .setBody("{\n \"foo\": \"bar\"\n}") .execute() diff --git a/test/fixtures/output/java/asynchttp/jsonObj-null-value.java b/test/fixtures/output/java/asynchttp/jsonObj-null-value.java index 0b9f6bd3f..6d299feb9 100644 --- a/test/fixtures/output/java/asynchttp/jsonObj-null-value.java +++ b/test/fixtures/output/java/asynchttp/jsonObj-null-value.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "application/json") .setBody("{\"foo\":null}") .execute() diff --git a/test/fixtures/output/java/asynchttp/multipart-data.java b/test/fixtures/output/java/asynchttp/multipart-data.java index f83cc9f79..50c9f504d 100644 --- a/test/fixtures/output/java/asynchttp/multipart-data.java +++ b/test/fixtures/output/java/asynchttp/multipart-data.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n") .execute() diff --git a/test/fixtures/output/java/asynchttp/multipart-file.java b/test/fixtures/output/java/asynchttp/multipart-file.java index 37ebe8c16..cee440818 100644 --- a/test/fixtures/output/java/asynchttp/multipart-file.java +++ b/test/fixtures/output/java/asynchttp/multipart-file.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n") .execute() diff --git a/test/fixtures/output/java/asynchttp/multipart-form-data.java b/test/fixtures/output/java/asynchttp/multipart-form-data.java index 41149bdbb..06c752bf2 100644 --- a/test/fixtures/output/java/asynchttp/multipart-form-data.java +++ b/test/fixtures/output/java/asynchttp/multipart-form-data.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n") .execute() diff --git a/test/fixtures/output/java/asynchttp/query.java b/test/fixtures/output/java/asynchttp/query.java index 428dbcf7e..524cbd27a 100644 --- a/test/fixtures/output/java/asynchttp/query.java +++ b/test/fixtures/output/java/asynchttp/query.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.prepareGet("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") +client.prepare("GET", "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value") .execute() .toCompletableFuture() .thenAccept(System.out::println) diff --git a/test/fixtures/output/java/asynchttp/short.java b/test/fixtures/output/java/asynchttp/short.java index 30d448595..0ab245f40 100644 --- a/test/fixtures/output/java/asynchttp/short.java +++ b/test/fixtures/output/java/asynchttp/short.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.prepareGet("http://mockbin.com/har") +client.prepare("GET", "http://mockbin.com/har") .execute() .toCompletableFuture() .thenAccept(System.out::println) diff --git a/test/fixtures/output/java/asynchttp/text-plain.java b/test/fixtures/output/java/asynchttp/text-plain.java index b902d52a5..4b2cf1a61 100644 --- a/test/fixtures/output/java/asynchttp/text-plain.java +++ b/test/fixtures/output/java/asynchttp/text-plain.java @@ -1,5 +1,5 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); -client.preparePost("http://mockbin.com/har") +client.prepare("POST", "http://mockbin.com/har") .setHeader("content-type", "text/plain") .setBody("Hello World") .execute() From 0f558f041d10f03a15e73f301f24ebe7951d39b3 Mon Sep 17 00:00:00 2001 From: wtetsu Date: Sun, 21 Jun 2020 06:16:05 +0900 Subject: [PATCH 074/181] Add java.net.http snippet generator and test --- src/targets/java/index.js | 4 +- src/targets/java/nethttp.js | 63 +++++++++++++++++++ test/fixtures/available-targets.json | 6 ++ .../nethttp/application-form-encoded.java | 7 +++ .../output/java/nethttp/application-json.java | 7 +++ .../fixtures/output/java/nethttp/cookies.java | 7 +++ .../output/java/nethttp/custom-method.java | 6 ++ test/fixtures/output/java/nethttp/full.java | 9 +++ .../fixtures/output/java/nethttp/headers.java | 8 +++ test/fixtures/output/java/nethttp/https.java | 6 ++ .../java/nethttp/jsonObj-multiline.java | 7 +++ .../java/nethttp/jsonObj-null-value.java | 7 +++ .../output/java/nethttp/multipart-data.java | 7 +++ .../output/java/nethttp/multipart-file.java | 7 +++ .../java/nethttp/multipart-form-data.java | 7 +++ test/fixtures/output/java/nethttp/query.java | 6 ++ test/fixtures/output/java/nethttp/short.java | 6 ++ .../output/java/nethttp/text-plain.java | 7 +++ test/targets/java/nethttp.js | 5 ++ 19 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 src/targets/java/nethttp.js create mode 100644 test/fixtures/output/java/nethttp/application-form-encoded.java create mode 100644 test/fixtures/output/java/nethttp/application-json.java create mode 100644 test/fixtures/output/java/nethttp/cookies.java create mode 100644 test/fixtures/output/java/nethttp/custom-method.java create mode 100644 test/fixtures/output/java/nethttp/full.java create mode 100644 test/fixtures/output/java/nethttp/headers.java create mode 100644 test/fixtures/output/java/nethttp/https.java create mode 100644 test/fixtures/output/java/nethttp/jsonObj-multiline.java create mode 100644 test/fixtures/output/java/nethttp/jsonObj-null-value.java create mode 100644 test/fixtures/output/java/nethttp/multipart-data.java create mode 100644 test/fixtures/output/java/nethttp/multipart-file.java create mode 100644 test/fixtures/output/java/nethttp/multipart-form-data.java create mode 100644 test/fixtures/output/java/nethttp/query.java create mode 100644 test/fixtures/output/java/nethttp/short.java create mode 100644 test/fixtures/output/java/nethttp/text-plain.java create mode 100644 test/targets/java/nethttp.js diff --git a/src/targets/java/index.js b/src/targets/java/index.js index 7efd9a989..37b0db718 100644 --- a/src/targets/java/index.js +++ b/src/targets/java/index.js @@ -10,6 +10,6 @@ module.exports = { okhttp: require('./okhttp'), unirest: require('./unirest'), - asynchttp: require('./asynchttp') - + asynchttp: require('./asynchttp'), + nethttp: require('./nethttp') } diff --git a/src/targets/java/nethttp.js b/src/targets/java/nethttp.js new file mode 100644 index 000000000..41e223dad --- /dev/null +++ b/src/targets/java/nethttp.js @@ -0,0 +1,63 @@ +/** + * @description + * HTTP code snippet generator for Java using java.net.http. + * + * @author + * @wtetsu + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign( + { + indent: ' ' + }, + options + ) + + var code = new CodeBuilder(opts.indent) + + code.push('HttpRequest request = HttpRequest.newBuilder()') + code.push(2, '.uri(URI.create("%s"))', source.fullUrl) + + var headers = Object.keys(source.allHeaders) + + // construct headers + if (headers.length) { + headers.forEach(function (key) { + code.push(2, '.header("%s", "%s")', key, source.allHeaders[key]) + }) + } + + if (source.postData.text) { + code.push( + 2, + '.method("%s", HttpRequest.BodyPublishers.ofString(%s))', + source.method.toUpperCase(), + JSON.stringify(source.postData.text) + ) + } else { + code.push(2, '.method("%s", HttpRequest.BodyPublishers.noBody())', source.method.toUpperCase()) + } + + code.push(2, '.build();') + + code.push( + 'HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());' + ) + code.push('System.out.println(response.body());') + + return code.join() +} + +module.exports.info = { + key: 'nethttp', + title: 'java.net.http', + link: 'https://openjdk.java.net/groups/net/httpclient/intro.html', + description: 'Java Standardized HTTP Client API' +} diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index c93f06140..261c48160 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -202,6 +202,12 @@ "title": "AsyncHttp", "link": "https://github.com/AsyncHttpClient/async-http-client", "description": "Asynchronous Http and WebSocket Client library for Java" + }, + { + "key": "nethttp", + "title": "java.net.http", + "link": "https://openjdk.java.net/groups/net/httpclient/intro.html", + "description": "Java Standardized HTTP Client API" } ] }, diff --git a/test/fixtures/output/java/nethttp/application-form-encoded.java b/test/fixtures/output/java/nethttp/application-form-encoded.java new file mode 100644 index 000000000..bb31130e1 --- /dev/null +++ b/test/fixtures/output/java/nethttp/application-form-encoded.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "application/x-www-form-urlencoded") + .method("POST", HttpRequest.BodyPublishers.ofString("foo=bar&hello=world")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/application-json.java b/test/fixtures/output/java/nethttp/application-json.java new file mode 100644 index 000000000..60e2402b8 --- /dev/null +++ b/test/fixtures/output/java/nethttp/application-json.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "application/json") + .method("POST", HttpRequest.BodyPublishers.ofString("{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/cookies.java b/test/fixtures/output/java/nethttp/cookies.java new file mode 100644 index 000000000..7aa98347d --- /dev/null +++ b/test/fixtures/output/java/nethttp/cookies.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("cookie", "foo=bar; bar=baz") + .method("POST", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/custom-method.java b/test/fixtures/output/java/nethttp/custom-method.java new file mode 100644 index 000000000..07e71ab10 --- /dev/null +++ b/test/fixtures/output/java/nethttp/custom-method.java @@ -0,0 +1,6 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .method("PROPFIND", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/full.java b/test/fixtures/output/java/nethttp/full.java new file mode 100644 index 000000000..b6e02eedd --- /dev/null +++ b/test/fixtures/output/java/nethttp/full.java @@ -0,0 +1,9 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value")) + .header("cookie", "foo=bar; bar=baz") + .header("accept", "application/json") + .header("content-type", "application/x-www-form-urlencoded") + .method("POST", HttpRequest.BodyPublishers.ofString("foo=bar")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/headers.java b/test/fixtures/output/java/nethttp/headers.java new file mode 100644 index 000000000..2e8a09f87 --- /dev/null +++ b/test/fixtures/output/java/nethttp/headers.java @@ -0,0 +1,8 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("accept", "application/json") + .header("x-foo", "Bar") + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/https.java b/test/fixtures/output/java/nethttp/https.java new file mode 100644 index 000000000..a32c4305b --- /dev/null +++ b/test/fixtures/output/java/nethttp/https.java @@ -0,0 +1,6 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("https://mockbin.com/har")) + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/jsonObj-multiline.java b/test/fixtures/output/java/nethttp/jsonObj-multiline.java new file mode 100644 index 000000000..2a76e6bd6 --- /dev/null +++ b/test/fixtures/output/java/nethttp/jsonObj-multiline.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "application/json") + .method("POST", HttpRequest.BodyPublishers.ofString("{\n \"foo\": \"bar\"\n}")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/jsonObj-null-value.java b/test/fixtures/output/java/nethttp/jsonObj-null-value.java new file mode 100644 index 000000000..14cc4f3c8 --- /dev/null +++ b/test/fixtures/output/java/nethttp/jsonObj-null-value.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "application/json") + .method("POST", HttpRequest.BodyPublishers.ofString("{\"foo\":null}")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/multipart-data.java b/test/fixtures/output/java/nethttp/multipart-data.java new file mode 100644 index 000000000..f4cf85bfb --- /dev/null +++ b/test/fixtures/output/java/nethttp/multipart-data.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .method("POST", HttpRequest.BodyPublishers.ofString("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/multipart-file.java b/test/fixtures/output/java/nethttp/multipart-file.java new file mode 100644 index 000000000..7c86e4be3 --- /dev/null +++ b/test/fixtures/output/java/nethttp/multipart-file.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .method("POST", HttpRequest.BodyPublishers.ofString("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/multipart-form-data.java b/test/fixtures/output/java/nethttp/multipart-form-data.java new file mode 100644 index 000000000..044bb716a --- /dev/null +++ b/test/fixtures/output/java/nethttp/multipart-form-data.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .method("POST", HttpRequest.BodyPublishers.ofString("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/query.java b/test/fixtures/output/java/nethttp/query.java new file mode 100644 index 000000000..7d8f106dd --- /dev/null +++ b/test/fixtures/output/java/nethttp/query.java @@ -0,0 +1,6 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value")) + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/short.java b/test/fixtures/output/java/nethttp/short.java new file mode 100644 index 000000000..5e282c106 --- /dev/null +++ b/test/fixtures/output/java/nethttp/short.java @@ -0,0 +1,6 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/nethttp/text-plain.java b/test/fixtures/output/java/nethttp/text-plain.java new file mode 100644 index 000000000..634823835 --- /dev/null +++ b/test/fixtures/output/java/nethttp/text-plain.java @@ -0,0 +1,7 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har")) + .header("content-type", "text/plain") + .method("POST", HttpRequest.BodyPublishers.ofString("Hello World")) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/targets/java/nethttp.js b/test/targets/java/nethttp.js new file mode 100644 index 000000000..9ad8c1790 --- /dev/null +++ b/test/targets/java/nethttp.js @@ -0,0 +1,5 @@ +'use strict' + +require('should') + +module.exports = function (snippet, fixtures) {} From 3b1a49d732734b44d78aec0525528e3e8516612f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2020 23:40:26 +0000 Subject: [PATCH 075/181] chore(deps): bump lodash from 4.17.15 to 4.17.19 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbdffa555..3d31a2f12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1746,9 +1746,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "lodash.cond": { From 692f540a6a92a1779c537dfb37cafa7fdbd9ed9c Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Wed, 22 Jul 2020 13:21:48 -0700 Subject: [PATCH 076/181] chore(version bump) Release version 1.21.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3d31a2f12..f56dc1d2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "httpsnippet", - "version": "1.19.1", + "version": "1.21.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2737,7 +2737,7 @@ "standard": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/standard/-/standard-10.0.3.tgz", - "integrity": "sha1-eGm8v0Ir3uqraJof+x/qlnfdUOo=", + "integrity": "sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w==", "dev": true, "requires": { "eslint": "~3.19.0", diff --git a/package.json b/package.json index 08f87e456..638ccbb55 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.19.1", + "version": "1.21.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 95596b949714afa5f98a5c306b651ceaf69d4ae6 Mon Sep 17 00:00:00 2001 From: Yath Seanghay Date: Tue, 28 Jul 2020 12:02:42 +0700 Subject: [PATCH 077/181] Add Koltin for OkHttp Support --- src/targets/index.js | 1 + src/targets/kotlin/index.js | 12 +++ src/targets/kotlin/okhttp.js | 78 ++++++++++++++++++ test/fixtures/available-targets.json | 14 ++++ test/fixtures/output/.DS_Store | Bin 0 -> 6148 bytes .../kotlin/okhttp/application-form-encoded.kt | 11 +++ .../output/kotlin/okhttp/application-json.kt | 11 +++ test/fixtures/output/kotlin/okhttp/cookies.kt | 9 ++ .../output/kotlin/okhttp/custom-method.kt | 8 ++ test/fixtures/output/kotlin/okhttp/full.kt | 13 +++ test/fixtures/output/kotlin/okhttp/headers.kt | 10 +++ test/fixtures/output/kotlin/okhttp/https.kt | 8 ++ .../output/kotlin/okhttp/jsonObj-multiline.kt | 11 +++ .../kotlin/okhttp/jsonObj-null-value.kt | 11 +++ .../output/kotlin/okhttp/multipart-data.kt | 11 +++ .../output/kotlin/okhttp/multipart-file.kt | 11 +++ .../kotlin/okhttp/multipart-form-data.kt | 11 +++ test/fixtures/output/kotlin/okhttp/query.kt | 8 ++ test/fixtures/output/kotlin/okhttp/short.kt | 8 ++ .../output/kotlin/okhttp/text-plain.kt | 11 +++ test/targets/kotlin/okhttp.js | 5 ++ 21 files changed, 262 insertions(+) create mode 100644 src/targets/kotlin/index.js create mode 100644 src/targets/kotlin/okhttp.js create mode 100644 test/fixtures/output/.DS_Store create mode 100644 test/fixtures/output/kotlin/okhttp/application-form-encoded.kt create mode 100644 test/fixtures/output/kotlin/okhttp/application-json.kt create mode 100644 test/fixtures/output/kotlin/okhttp/cookies.kt create mode 100644 test/fixtures/output/kotlin/okhttp/custom-method.kt create mode 100644 test/fixtures/output/kotlin/okhttp/full.kt create mode 100644 test/fixtures/output/kotlin/okhttp/headers.kt create mode 100644 test/fixtures/output/kotlin/okhttp/https.kt create mode 100644 test/fixtures/output/kotlin/okhttp/jsonObj-multiline.kt create mode 100644 test/fixtures/output/kotlin/okhttp/jsonObj-null-value.kt create mode 100644 test/fixtures/output/kotlin/okhttp/multipart-data.kt create mode 100644 test/fixtures/output/kotlin/okhttp/multipart-file.kt create mode 100644 test/fixtures/output/kotlin/okhttp/multipart-form-data.kt create mode 100644 test/fixtures/output/kotlin/okhttp/query.kt create mode 100644 test/fixtures/output/kotlin/okhttp/short.kt create mode 100644 test/fixtures/output/kotlin/okhttp/text-plain.kt create mode 100644 test/targets/kotlin/okhttp.js diff --git a/src/targets/index.js b/src/targets/index.js index 68f83a6b8..dd90b4874 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -8,6 +8,7 @@ module.exports = { http: require('./http'), java: require('./java'), javascript: require('./javascript'), + kotlin: require('./kotlin'), node: require('./node'), objc: require('./objc'), ocaml: require('./ocaml'), diff --git a/src/targets/kotlin/index.js b/src/targets/kotlin/index.js new file mode 100644 index 000000000..fd9fbd698 --- /dev/null +++ b/src/targets/kotlin/index.js @@ -0,0 +1,12 @@ +'use strict' + +module.exports = { + info: { + key: 'kotlin', + title: 'Kotlin', + extname: '.kt', + default: 'okhttp' + }, + + okhttp: require('./okhttp') +} diff --git a/src/targets/kotlin/okhttp.js b/src/targets/kotlin/okhttp.js new file mode 100644 index 000000000..85391abd8 --- /dev/null +++ b/src/targets/kotlin/okhttp.js @@ -0,0 +1,78 @@ +/** + * @description + * HTTP code snippet generator for Kotlin using OkHttp. + * + * @author + * @seanghay + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + var methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'] + + var methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'] + + code.push('val client = OkHttpClient()') + .blank() + + if (source.postData.text) { + if (source.postData.boundary) { + code.push('val mediaType = MediaType.parse("%s; boundary=%s")', source.postData.mimeType, source.postData.boundary) + } else { + code.push('val mediaType = MediaType.parse("%s")', source.postData.mimeType) + } + code.push('val body = RequestBody.create(mediaType, %s)', JSON.stringify(source.postData.text)) + } + + code.push('val request = Request.Builder()') + code.push(1, '.url("%s")', source.fullUrl) + if (methods.indexOf(source.method.toUpperCase()) === -1) { + if (source.postData.text) { + code.push(1, '.method("%s", body)', source.method.toUpperCase()) + } else { + code.push(1, '.method("%s", null)', source.method.toUpperCase()) + } + } else if (methodsWithBody.indexOf(source.method.toUpperCase()) >= 0) { + if (source.postData.text) { + code.push(1, '.%s(body)', source.method.toLowerCase()) + } else { + code.push(1, '.%s(null)', source.method.toLowerCase()) + } + } else { + code.push(1, '.%s()', source.method.toLowerCase()) + } + + // Add headers, including the cookies + var headers = Object.keys(source.allHeaders) + + // construct headers + if (headers.length) { + headers.forEach(function (key) { + code.push(1, '.addHeader("%s", "%s")', key, source.allHeaders[key]) + }) + } + + code.push(1, '.build()') + .blank() + .push('val response = client.newCall(request).execute()') + + return code.join() +} + +module.exports.info = { + key: 'okhttp', + title: 'OkHttp', + link: 'http://square.github.io/okhttp/', + description: 'An HTTP Request Client Library' +} diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index 261c48160..da7e47caf 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -320,5 +320,19 @@ "title": "HTTP/1.1" } ] + }, + { + "key": "kotlin", + "title": "Kotlin", + "extname": ".kt", + "default": "okhttp", + "clients": [ + { + "key": "okhttp", + "title": "OkHttp", + "link": "http://square.github.io/okhttp/", + "description": "An HTTP Request Client Library" + } + ] } ] diff --git a/test/fixtures/output/.DS_Store b/test/fixtures/output/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..63b728b450e912f8fa3bc98e04a9fc67ff4fcf03 GIT binary patch literal 6148 zcmeH~K?=e^3`G;|qTr@Wm$UHz-e4$t0xzH-2qF~(yPl)_lL>;=wTS#c@+X-IrEk$` zL`3`haV^q`NDDWWm4%5Z@&JhP8{Tj3ht;B=96)--iS@&7q~Le>xC+1b{XuyJ79K1T}(S!u1*@b}wNMJ%>Uh~fG|1JE}{6A@7N&+PC zX9Tp_>^41KD(=>|*R%RQs Date: Tue, 28 Jul 2020 12:18:17 +0700 Subject: [PATCH 078/181] Add `kotlin` to package.json keywords --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 638ccbb55..b96294034 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "java", "javascript", "jquery", + "kotlin", "objc", "objective-c", "ocaml", From d493781044108901b860c7ce374745bb244543fe Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 15:02:13 -0700 Subject: [PATCH 079/181] fix: moving form-data usage over to using the native FormData object --- .jshintrc | 1 + package-lock.json | 89 ++++----------------------- package.json | 3 +- src/helpers/form-data.js | 128 +++++++++++++++++++++++++++++++++++++++ src/index.js | 28 +++++---- 5 files changed, 159 insertions(+), 90 deletions(-) create mode 100644 src/helpers/form-data.js diff --git a/.jshintrc b/.jshintrc index 086f6bacb..5619eb494 100644 --- a/.jshintrc +++ b/.jshintrc @@ -1,4 +1,5 @@ { "asi": true, + "browser": true, "node": true } diff --git a/package-lock.json b/package-lock.json index f56dc1d2a..30d310734 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,7 +116,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "aws-sign2": { "version": "0.7.0", @@ -482,7 +483,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "diff": { "version": "3.5.0", @@ -505,11 +507,6 @@ "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", "dev": true }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1017,20 +1014,6 @@ "es5-ext": "~0.10.14" } }, - "event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "requires": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -1144,30 +1127,10 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "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" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - } - } - }, - "from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + "formdata-polyfill": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-3.0.20.tgz", + "integrity": "sha512-TAaxIEwTBdoH1TWndtUH1T0/GisUHwmOKcV5hjkR/iTatHBJSOHb563FP86Lra5nXo3iNdhK7HPwMl5Ihg71pg==" }, "fs-readfile-promise": { "version": "2.0.1", @@ -1813,20 +1776,17 @@ "yallist": "^2.1.2" } }, - "map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" - }, "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true }, "mime-types": { "version": "2.1.24", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, "requires": { "mime-db": "1.40.0" } @@ -2251,14 +2211,6 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "requires": { - "through": "~2.3" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -2703,14 +2655,6 @@ "amdefine": ">=0.0.4" } }, - "split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "requires": { - "through": "2" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -2763,14 +2707,6 @@ "pkg-conf": "^2.0.0" } }, - "stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "requires": { - "duplexer": "~0.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -3146,7 +3082,8 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, "tough-cookie": { "version": "2.4.3", diff --git a/package.json b/package.json index 638ccbb55..43b3b0422 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,7 @@ "chalk": "^1.1.1", "commander": "^2.9.0", "debug": "^2.2.0", - "event-stream": "3.3.4", - "form-data": "3.0.0", + "formdata-polyfill": "^3.0.20", "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", diff --git a/src/helpers/form-data.js b/src/helpers/form-data.js new file mode 100644 index 000000000..343e6dc53 --- /dev/null +++ b/src/helpers/form-data.js @@ -0,0 +1,128 @@ +/** + * @license https://raw.githubusercontent.com/node-fetch/node-fetch/master/LICENSE.md + * + * The MIT License (MIT) + * + * Copyright (c) 2016 - 2020 Node Fetch Team + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +const carriage = '\r\n' +const dashes = '-'.repeat(2) +const carriageLength = Buffer.byteLength(carriage) + +const NAME = Symbol.toStringTag + +const isBlob = object => { + return ( + typeof object === 'object' && + typeof object.arrayBuffer === 'function' && + typeof object.type === 'string' && + typeof object.stream === 'function' && + typeof object.constructor === 'function' && + /^(Blob|File)$/.test(object[NAME]) + ) +} + +/** + * @param {string} boundary + */ +const getFooter = boundary => `${dashes}${boundary}${dashes}${carriage.repeat(2)}` + +/** + * @param {string} boundary + * @param {string} name + * @param {*} field + * + * @return {string} + */ +function getHeader (boundary, name, field) { + let header = '' + + header += `${dashes}${boundary}${carriage}` + header += `Content-Disposition: form-data; name="${name}"` + + if (isBlob(field)) { + header += `; filename="${field.name}"${carriage}` + header += `Content-Type: ${field.type || 'application/octet-stream'}` + } + + return `${header}${carriage.repeat(2)}` +} + +/** + * @return {string} + */ +module.exports.getBoundary = () => { + // This generates a 50 character boundary similar to those used by Firefox. + // They are optimized for boyer-moore parsing. + var boundary = '--------------------------' + for (var i = 0; i < 24; i++) { + boundary += Math.floor(Math.random() * 10).toString(16) + } + + return boundary +} + +/** + * @param {FormData} form + * @param {string} boundary + */ +module.exports.formDataIterator = function * (form, boundary) { + for (const [name, value] of form) { + yield getHeader(boundary, name, value) + + if (isBlob(value)) { + yield * value.stream() + } else { + yield value + } + + yield carriage + } + + yield getFooter(boundary) +} + +/** + * @param {FormData} form + * @param {string} boundary + */ +module.exports.getFormDataLength = function (form, boundary) { + let length = 0 + + for (const [name, value] of form) { + length += Buffer.byteLength(getHeader(boundary, name, value)) + + if (isBlob(value)) { + length += value.size + } else { + length += Buffer.byteLength(String(value)) + } + + length += carriageLength + } + + length += Buffer.byteLength(getFooter(boundary)) + + return length +} + +module.exports.isBlob = isBlob diff --git a/src/index.js b/src/index.js index 815593611..961ae344d 100644 --- a/src/index.js +++ b/src/index.js @@ -1,14 +1,17 @@ 'use strict' +/* eslint-env browser */ + +require('formdata-polyfill') var debug = require('debug')('httpsnippet') -var es = require('event-stream') -var MultiPartForm = require('form-data') var qs = require('querystring') var reducer = require('./helpers/reducer') var targets = require('./targets') var url = require('url') var validate = require('har-validator/lib/async') +const { formDataIterator, isBlob } = require('./helpers/form-data.js') + // constructor var HTTPSnippet = function (data) { var entries @@ -102,24 +105,25 @@ HTTPSnippet.prototype.prepare = function (request) { request.postData.mimeType = 'multipart/form-data' if (request.postData.params) { - var form = new MultiPartForm() + var form = new FormData() // easter egg - form._boundary = '---011000010111000001101001' + const boundary = '---011000010111000001101001' request.postData.params.forEach(function (param) { - form.append(param.name, param.value || '', { - filename: param.fileName || null, - contentType: param.contentType || null - }) + if (isBlob(param.value)) { + form.append(param.name, param.value || '', param.fileName || null) + } else { + form.append(param.name, param.value || '') + } }) - form.pipe(es.map(function (data, cb) { + for (var data of formDataIterator(form, boundary)) { request.postData.text += data - })) + } - request.postData.boundary = form.getBoundary() - request.headersObj['content-type'] = 'multipart/form-data; boundary=' + form.getBoundary() + request.postData.boundary = boundary + request.headersObj['content-type'] = 'multipart/form-data; boundary=' + boundary } break From 80015808bf7d0f41dcd704e3daee4243a40b7bfa Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 15:30:52 -0700 Subject: [PATCH 080/181] test: commenting out some tests while debugging --- src/index.js | 3 ++- src/targets/index.js | 32 ++++++++++++++++---------------- src/targets/shell/index.js | 4 ++-- test/targets.js | 14 +++++++++----- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/index.js b/src/index.js index 961ae344d..5e1f4325a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ -'use strict' /* eslint-env browser */ +'use strict' + require('formdata-polyfill') var debug = require('debug')('httpsnippet') diff --git a/src/targets/index.js b/src/targets/index.js index 68f83a6b8..e81ed081e 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -1,21 +1,21 @@ 'use strict' module.exports = { - c: require('./c'), - clojure: require('./clojure'), - csharp: require('./csharp'), - go: require('./go'), - http: require('./http'), - java: require('./java'), - javascript: require('./javascript'), - node: require('./node'), - objc: require('./objc'), - ocaml: require('./ocaml'), - php: require('./php'), - powershell: require('./powershell'), - python: require('./python'), - r: require('./r'), - ruby: require('./ruby'), +// c: require('./c'), +// clojure: require('./clojure'), +// csharp: require('./csharp'), +// go: require('./go'), +// http: require('./http'), +// java: require('./java'), +// javascript: require('./javascript'), +// node: require('./node'), +// objc: require('./objc'), +// ocaml: require('./ocaml'), +// php: require('./php'), +// powershell: require('./powershell'), +// python: require('./python'), +// r: require('./r'), +// ruby: require('./ruby'), shell: require('./shell'), - swift: require('./swift') +// swift: require('./swift') } diff --git a/src/targets/shell/index.js b/src/targets/shell/index.js index 0f5fc05f0..be2648e2f 100644 --- a/src/targets/shell/index.js +++ b/src/targets/shell/index.js @@ -9,6 +9,6 @@ module.exports = { }, curl: require('./curl'), - httpie: require('./httpie'), - wget: require('./wget') + // httpie: require('./httpie'), + // wget: require('./wget') } diff --git a/test/targets.js b/test/targets.js index 675293540..591f18058 100644 --- a/test/targets.js +++ b/test/targets.js @@ -47,7 +47,11 @@ const skipMe = { 'clj_http': ['jsonObj-null-value', 'jsonObj-multiline'] }, '*': { - '*': ['multipart-data', 'multipart-file', 'multipart-form-data'] + '*': [ + 'multipart-data', + 'multipart-file', + // 'multipart-form-data' + ] } } @@ -84,15 +88,15 @@ var itShouldGenerateOutput = function (request, path, target, client) { }) } -describe('Available Targets', function () { +/* describe('Available Targets', function () { HTTPSnippet.availableTargets().forEach(function (target) { it('available-targets.json should include ' + target.title, function () { fixtures['available-targets'].should.containEql(target) }) }) -}) +}) */ -describe('Custom targets', function () { +/* describe('Custom targets', function () { describe('Adding a custom target', function () { it('should throw if the target does has no info object', function () { (function () { @@ -182,7 +186,7 @@ describe('Custom targets', function () { }) }) }) -}) +}) */ // test all the things! describe('Targets', function () { From ce5f277068951998cf48044a1a70f0c547666cea Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 16:08:55 -0700 Subject: [PATCH 081/181] fix: coding against native FormData and form-data --- package-lock.json | 90 ++++++++++++++++++++++++++++++++------ package.json | 3 +- src/index.js | 44 +++++++++++++++---- src/targets/index.js | 32 +++++++------- src/targets/shell/index.js | 4 +- test/targets.js | 10 ++--- 6 files changed, 138 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30d310734..46458c7ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,8 +116,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "aws-sign2": { "version": "0.7.0", @@ -483,8 +482,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "diff": { "version": "3.5.0", @@ -507,6 +505,11 @@ "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", "dev": true }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1014,6 +1017,20 @@ "es5-ext": "~0.10.14" } }, + "event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "requires": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -1127,10 +1144,30 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "formdata-polyfill": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-3.0.20.tgz", - "integrity": "sha512-TAaxIEwTBdoH1TWndtUH1T0/GisUHwmOKcV5hjkR/iTatHBJSOHb563FP86Lra5nXo3iNdhK7HPwMl5Ihg71pg==" + "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" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + } + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, "fs-readfile-promise": { "version": "2.0.1", @@ -1776,17 +1813,20 @@ "yallist": "^2.1.2" } }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + }, "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { "version": "2.1.24", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, "requires": { "mime-db": "1.40.0" } @@ -2211,6 +2251,14 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -2655,6 +2703,14 @@ "amdefine": ">=0.0.4" } }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -2707,6 +2763,15 @@ "pkg-conf": "^2.0.0" } }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -3082,8 +3147,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "tough-cookie": { "version": "2.4.3", diff --git a/package.json b/package.json index 43b3b0422..c7ea06bb6 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,8 @@ "chalk": "^1.1.1", "commander": "^2.9.0", "debug": "^2.2.0", - "formdata-polyfill": "^3.0.20", + "event-stream": "^4.0.1", + "form-data": "^3.0.0", "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", diff --git a/src/index.js b/src/index.js index 5e1f4325a..03da84af1 100644 --- a/src/index.js +++ b/src/index.js @@ -2,9 +2,9 @@ 'use strict' -require('formdata-polyfill') - var debug = require('debug')('httpsnippet') +var es = require('event-stream') +var MultiPartForm = require('form-data') var qs = require('querystring') var reducer = require('./helpers/reducer') var targets = require('./targets') @@ -106,21 +106,49 @@ HTTPSnippet.prototype.prepare = function (request) { request.postData.mimeType = 'multipart/form-data' if (request.postData.params) { - var form = new FormData() + var form = new MultiPartForm() + + // The `form-data` module returns one of two things: a native FormData object, or its own polyfill. Since this + // polyfill support the full API of the native FormData object, when this library is running in a browser + // environment it'll fail on two things: + // + // - The API for `form.append()` has three arguments and the third should only be present when the second is a + // Blob or USVString. + // - `FormData.pipe()` isn't a function. + // + // Since the native FormData object is iterable, we easily detect what version of `form-data` we're working + // with here to allow `multipart/form-data` requests to be compiled under both browser and Node environments. + // This hack sucks yeah, but it's the only way we can use this library in the browser as if we code this against + // just the native FormData object, we can't polyfill it back into Node because Blob and File objects, which + // something like `formdata-polyfill` requires, don't exist there. + const isNativeFormData = (typeof form[Symbol.iterator] === 'function'); // easter egg const boundary = '---011000010111000001101001' request.postData.params.forEach(function (param) { - if (isBlob(param.value)) { - form.append(param.name, param.value || '', param.fileName || null) + if (isNativeFormData) { + if (isBlob(param.value)) { + form.append(param.name, param.value || '', param.fileName || null) + } else { + form.append(param.name, param.value || '') + } } else { - form.append(param.name, param.value || '') + form.append(param.name, param.value || '', { + filename: param.fileName || null, + contentType: param.contentType || null + }) } }) - for (var data of formDataIterator(form, boundary)) { - request.postData.text += data + if (isNativeFormData) { + for (var data of formDataIterator(form, boundary)) { + request.postData.text += data + } + } else { + form.pipe(es.map(function (data, cb) { + request.postData.text += data + })) } request.postData.boundary = boundary diff --git a/src/targets/index.js b/src/targets/index.js index e81ed081e..68f83a6b8 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -1,21 +1,21 @@ 'use strict' module.exports = { -// c: require('./c'), -// clojure: require('./clojure'), -// csharp: require('./csharp'), -// go: require('./go'), -// http: require('./http'), -// java: require('./java'), -// javascript: require('./javascript'), -// node: require('./node'), -// objc: require('./objc'), -// ocaml: require('./ocaml'), -// php: require('./php'), -// powershell: require('./powershell'), -// python: require('./python'), -// r: require('./r'), -// ruby: require('./ruby'), + c: require('./c'), + clojure: require('./clojure'), + csharp: require('./csharp'), + go: require('./go'), + http: require('./http'), + java: require('./java'), + javascript: require('./javascript'), + node: require('./node'), + objc: require('./objc'), + ocaml: require('./ocaml'), + php: require('./php'), + powershell: require('./powershell'), + python: require('./python'), + r: require('./r'), + ruby: require('./ruby'), shell: require('./shell'), -// swift: require('./swift') + swift: require('./swift') } diff --git a/src/targets/shell/index.js b/src/targets/shell/index.js index be2648e2f..0f5fc05f0 100644 --- a/src/targets/shell/index.js +++ b/src/targets/shell/index.js @@ -9,6 +9,6 @@ module.exports = { }, curl: require('./curl'), - // httpie: require('./httpie'), - // wget: require('./wget') + httpie: require('./httpie'), + wget: require('./wget') } diff --git a/test/targets.js b/test/targets.js index 591f18058..ed9502dbb 100644 --- a/test/targets.js +++ b/test/targets.js @@ -50,7 +50,7 @@ const skipMe = { '*': [ 'multipart-data', 'multipart-file', - // 'multipart-form-data' + 'multipart-form-data' ] } } @@ -88,15 +88,15 @@ var itShouldGenerateOutput = function (request, path, target, client) { }) } -/* describe('Available Targets', function () { +describe('Available Targets', function () { HTTPSnippet.availableTargets().forEach(function (target) { it('available-targets.json should include ' + target.title, function () { fixtures['available-targets'].should.containEql(target) }) }) -}) */ +}) -/* describe('Custom targets', function () { +describe('Custom targets', function () { describe('Adding a custom target', function () { it('should throw if the target does has no info object', function () { (function () { @@ -186,7 +186,7 @@ var itShouldGenerateOutput = function (request, path, target, client) { }) }) }) -}) */ +}) // test all the things! describe('Targets', function () { From 346db5866b629c8dd481fcda4f8d034b549a4b59 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 16:15:43 -0700 Subject: [PATCH 082/181] chore: rolling back dep changes --- package-lock.json | 41 ++++++++++++++++++++--------------------- package.json | 4 ++-- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46458c7ca..f56dc1d2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1018,17 +1018,17 @@ } }, "event-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", - "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "requires": { - "duplexer": "^0.1.1", - "from": "^0.1.7", - "map-stream": "0.0.7", - "pause-stream": "^0.0.11", - "split": "^1.0.1", - "stream-combiner": "^0.2.2", - "through": "^2.3.8" + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" } }, "exit-hook": { @@ -1814,9 +1814,9 @@ } }, "map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" }, "mime-db": { "version": "1.40.0", @@ -2704,9 +2704,9 @@ } }, "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "requires": { "through": "2" } @@ -2764,12 +2764,11 @@ } }, "stream-combiner": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", - "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "requires": { - "duplexer": "~0.1.1", - "through": "~2.3.4" + "duplexer": "~0.1.1" } }, "string-width": { diff --git a/package.json b/package.json index c7ea06bb6..638ccbb55 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,8 @@ "chalk": "^1.1.1", "commander": "^2.9.0", "debug": "^2.2.0", - "event-stream": "^4.0.1", - "form-data": "^3.0.0", + "event-stream": "3.3.4", + "form-data": "3.0.0", "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", From 86c52ba99e4ad36ecbd441d22f4ac525f7c9b39f Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 16:17:12 -0700 Subject: [PATCH 083/181] fix: setting the form-data boundary when under node --- src/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.js b/src/index.js index 03da84af1..c24ee892f 100644 --- a/src/index.js +++ b/src/index.js @@ -125,6 +125,9 @@ HTTPSnippet.prototype.prepare = function (request) { // easter egg const boundary = '---011000010111000001101001' + if (!isNativeFormData) { + form._boundary = boundary; + } request.postData.params.forEach(function (param) { if (isNativeFormData) { From b3268ef71c4429f2d6c98874b9516b26bc0ae8f0 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Wed, 5 Aug 2020 16:19:04 -0700 Subject: [PATCH 084/181] docs: language fixes --- src/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index c24ee892f..787787641 100644 --- a/src/index.js +++ b/src/index.js @@ -118,9 +118,10 @@ HTTPSnippet.prototype.prepare = function (request) { // // Since the native FormData object is iterable, we easily detect what version of `form-data` we're working // with here to allow `multipart/form-data` requests to be compiled under both browser and Node environments. - // This hack sucks yeah, but it's the only way we can use this library in the browser as if we code this against - // just the native FormData object, we can't polyfill it back into Node because Blob and File objects, which - // something like `formdata-polyfill` requires, don't exist there. + // + // This hack is pretty awful but it's the only way we can use this library in the browser as if we code this + // against just the native FormData object, we can't polyfill that back into Node because Blob and File objects, + // which something like `formdata-polyfill` requires, don't exist there. const isNativeFormData = (typeof form[Symbol.iterator] === 'function'); // easter egg From 02356b62fcb0eefa7bf0928386bb513d8f18a5dd Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 11:21:50 -0700 Subject: [PATCH 085/181] test: fixing broken multipart tests --- src/index.js | 4 ++-- .../output/http/1.1/application-form-encoded | 10 +++++----- .../fixtures/output/http/1.1/application-json | 10 +++++----- test/fixtures/output/http/1.1/cookies | 8 ++++---- test/fixtures/output/http/1.1/custom-method | 6 +++--- test/fixtures/output/http/1.1/full | 14 +++++++------- test/fixtures/output/http/1.1/headers | 10 +++++----- test/fixtures/output/http/1.1/https | 6 +++--- .../output/http/1.1/jsonObj-multiline | 10 +++++----- .../output/http/1.1/jsonObj-null-value | 10 +++++----- test/fixtures/output/http/1.1/multipart-data | 19 ++++++++++--------- test/fixtures/output/http/1.1/multipart-file | 19 ++++++++++--------- .../output/http/1.1/multipart-form-data | 17 +++++++++-------- test/fixtures/output/http/1.1/query | 6 +++--- test/fixtures/output/http/1.1/short | 6 +++--- test/fixtures/output/http/1.1/text-plain | 10 +++++----- .../output/node/request/multipart-data.js | 5 +---- .../output/node/request/multipart-file.js | 5 +---- .../output/php/http1/multipart-data.php | 12 ++++++------ .../output/php/http1/multipart-file.php | 12 ++++++------ .../output/php/http1/multipart-form-data.php | 10 +++++----- .../powershell/restmethod/multipart-data.ps1 | 12 +++++++----- .../powershell/restmethod/multipart-file.ps1 | 10 ++++++---- .../restmethod/multipart-form-data.ps1 | 10 ++++++---- .../powershell/webrequest/multipart-data.ps1 | 4 +++- .../powershell/webrequest/multipart-file.ps1 | 2 ++ .../webrequest/multipart-form-data.ps1 | 4 +++- .../output/shell/httpie/multipart-data.sh | 12 ++++++------ .../output/shell/httpie/multipart-file.sh | 12 ++++++------ .../shell/httpie/multipart-form-data.sh | 10 +++++----- test/targets.js | 13 ++++++------- 31 files changed, 153 insertions(+), 145 deletions(-) diff --git a/src/index.js b/src/index.js index 787787641..635a5b4a7 100644 --- a/src/index.js +++ b/src/index.js @@ -122,12 +122,12 @@ HTTPSnippet.prototype.prepare = function (request) { // This hack is pretty awful but it's the only way we can use this library in the browser as if we code this // against just the native FormData object, we can't polyfill that back into Node because Blob and File objects, // which something like `formdata-polyfill` requires, don't exist there. - const isNativeFormData = (typeof form[Symbol.iterator] === 'function'); + const isNativeFormData = (typeof form[Symbol.iterator] === 'function') // easter egg const boundary = '---011000010111000001101001' if (!isNativeFormData) { - form._boundary = boundary; + form._boundary = boundary } request.postData.params.forEach(function (param) { diff --git a/test/fixtures/output/http/1.1/application-form-encoded b/test/fixtures/output/http/1.1/application-form-encoded index ce1fea04b..723d94a90 100644 --- a/test/fixtures/output/http/1.1/application-form-encoded +++ b/test/fixtures/output/http/1.1/application-form-encoded @@ -1,6 +1,6 @@ -POST /har HTTP/1.1 -Content-Type: application/x-www-form-urlencoded -Host: mockbin.com -Content-Length: 19 - +POST /har HTTP/1.1 +Content-Type: application/x-www-form-urlencoded +Host: mockbin.com +Content-Length: 19 + foo=bar&hello=world diff --git a/test/fixtures/output/http/1.1/application-json b/test/fixtures/output/http/1.1/application-json index 6b2808eb0..ee65b5469 100644 --- a/test/fixtures/output/http/1.1/application-json +++ b/test/fixtures/output/http/1.1/application-json @@ -1,6 +1,6 @@ -POST /har HTTP/1.1 -Content-Type: application/json -Host: mockbin.com -Content-Length: 118 - +POST /har HTTP/1.1 +Content-Type: application/json +Host: mockbin.com +Content-Length: 118 + {"number":1,"string":"f\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":{}}],"boolean":false} diff --git a/test/fixtures/output/http/1.1/cookies b/test/fixtures/output/http/1.1/cookies index 6a2413d9a..15945bcc8 100644 --- a/test/fixtures/output/http/1.1/cookies +++ b/test/fixtures/output/http/1.1/cookies @@ -1,5 +1,5 @@ -POST /har HTTP/1.1 -Cookie: foo=bar; bar=baz -Host: mockbin.com - +POST /har HTTP/1.1 +Cookie: foo=bar; bar=baz +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/custom-method b/test/fixtures/output/http/1.1/custom-method index 5a818ed57..76f546524 100644 --- a/test/fixtures/output/http/1.1/custom-method +++ b/test/fixtures/output/http/1.1/custom-method @@ -1,4 +1,4 @@ -PROPFIND /har HTTP/1.1 -Host: mockbin.com - +PROPFIND /har HTTP/1.1 +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/full b/test/fixtures/output/http/1.1/full index 1a2f499d9..d4d41ecff 100644 --- a/test/fixtures/output/http/1.1/full +++ b/test/fixtures/output/http/1.1/full @@ -1,8 +1,8 @@ -POST /har?foo=bar&foo=baz&baz=abc&key=value HTTP/1.1 -Cookie: foo=bar; bar=baz -Accept: application/json -Content-Type: application/x-www-form-urlencoded -Host: mockbin.com -Content-Length: 7 - +POST /har?foo=bar&foo=baz&baz=abc&key=value HTTP/1.1 +Cookie: foo=bar; bar=baz +Accept: application/json +Content-Type: application/x-www-form-urlencoded +Host: mockbin.com +Content-Length: 7 + foo=bar diff --git a/test/fixtures/output/http/1.1/headers b/test/fixtures/output/http/1.1/headers index 0a23b57d9..7bde2bcc7 100644 --- a/test/fixtures/output/http/1.1/headers +++ b/test/fixtures/output/http/1.1/headers @@ -1,6 +1,6 @@ -GET /har HTTP/1.1 -Accept: application/json -X-Foo: Bar -Host: mockbin.com - +GET /har HTTP/1.1 +Accept: application/json +X-Foo: Bar +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/https b/test/fixtures/output/http/1.1/https index 854df52c9..122711d7a 100644 --- a/test/fixtures/output/http/1.1/https +++ b/test/fixtures/output/http/1.1/https @@ -1,4 +1,4 @@ -GET /har HTTP/1.1 -Host: mockbin.com - +GET /har HTTP/1.1 +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/jsonObj-multiline b/test/fixtures/output/http/1.1/jsonObj-multiline index 4e48138d1..ebc26ade1 100644 --- a/test/fixtures/output/http/1.1/jsonObj-multiline +++ b/test/fixtures/output/http/1.1/jsonObj-multiline @@ -1,8 +1,8 @@ -POST /har HTTP/1.1 -Content-Type: application/json -Host: mockbin.com -Content-Length: 18 - +POST /har HTTP/1.1 +Content-Type: application/json +Host: mockbin.com +Content-Length: 18 + { "foo": "bar" } diff --git a/test/fixtures/output/http/1.1/jsonObj-null-value b/test/fixtures/output/http/1.1/jsonObj-null-value index e879e2298..240a57bce 100644 --- a/test/fixtures/output/http/1.1/jsonObj-null-value +++ b/test/fixtures/output/http/1.1/jsonObj-null-value @@ -1,6 +1,6 @@ -POST /har HTTP/1.1 -Content-Type: application/json -Host: mockbin.com -Content-Length: 12 - +POST /har HTTP/1.1 +Content-Type: application/json +Host: mockbin.com +Content-Length: 12 + {"foo":null} diff --git a/test/fixtures/output/http/1.1/multipart-data b/test/fixtures/output/http/1.1/multipart-data index 4a2b44469..cbe1c5f5a 100644 --- a/test/fixtures/output/http/1.1/multipart-data +++ b/test/fixtures/output/http/1.1/multipart-data @@ -1,10 +1,11 @@ -POST /har HTTP/1.1 -Content-Type: multipart/form-data; boundary=---011000010111000001101001 -Host: mockbin.com -Content-Length: 136 - ------011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - +POST /har HTTP/1.1 +Content-Type: multipart/form-data; boundary=---011000010111000001101001 +Host: mockbin.com +Content-Length: 171 + +-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + Hello World +-----011000010111000001101001-- diff --git a/test/fixtures/output/http/1.1/multipart-file b/test/fixtures/output/http/1.1/multipart-file index 16a76e1ae..be0776f19 100644 --- a/test/fixtures/output/http/1.1/multipart-file +++ b/test/fixtures/output/http/1.1/multipart-file @@ -1,10 +1,11 @@ -POST /har HTTP/1.1 -Content-Type: multipart/form-data; boundary=---011000010111000001101001 -Host: mockbin.com -Content-Length: 125 - ------011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - +POST /har HTTP/1.1 +Content-Type: multipart/form-data; boundary=---011000010111000001101001 +Host: mockbin.com +Content-Length: 160 +-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + + +-----011000010111000001101001-- diff --git a/test/fixtures/output/http/1.1/multipart-form-data b/test/fixtures/output/http/1.1/multipart-form-data index 752acd4c9..5fd60b6f4 100644 --- a/test/fixtures/output/http/1.1/multipart-form-data +++ b/test/fixtures/output/http/1.1/multipart-form-data @@ -1,9 +1,10 @@ -POST /har HTTP/1.1 -Content-Type: multipart/form-data; boundary=---011000010111000001101001 -Host: mockbin.com -Content-Length: 80 - ------011000010111000001101001 -Content-Disposition: form-data; name="foo" - +POST /har HTTP/1.1 +Content-Type: multipart/form-data; boundary=---011000010111000001101001 +Host: mockbin.com +Content-Length: 115 + +-----011000010111000001101001 +Content-Disposition: form-data; name="foo" + bar +-----011000010111000001101001-- diff --git a/test/fixtures/output/http/1.1/query b/test/fixtures/output/http/1.1/query index 8217c2361..5d2fd5d42 100644 --- a/test/fixtures/output/http/1.1/query +++ b/test/fixtures/output/http/1.1/query @@ -1,4 +1,4 @@ -GET /har?foo=bar&foo=baz&baz=abc&key=value HTTP/1.1 -Host: mockbin.com - +GET /har?foo=bar&foo=baz&baz=abc&key=value HTTP/1.1 +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/short b/test/fixtures/output/http/1.1/short index 854df52c9..122711d7a 100644 --- a/test/fixtures/output/http/1.1/short +++ b/test/fixtures/output/http/1.1/short @@ -1,4 +1,4 @@ -GET /har HTTP/1.1 -Host: mockbin.com - +GET /har HTTP/1.1 +Host: mockbin.com + diff --git a/test/fixtures/output/http/1.1/text-plain b/test/fixtures/output/http/1.1/text-plain index e0db5c854..c341a43ac 100644 --- a/test/fixtures/output/http/1.1/text-plain +++ b/test/fixtures/output/http/1.1/text-plain @@ -1,6 +1,6 @@ -POST /har HTTP/1.1 -Content-Type: text/plain -Host: mockbin.com -Content-Length: 11 - +POST /har HTTP/1.1 +Content-Type: text/plain +Host: mockbin.com +Content-Length: 11 + Hello World diff --git a/test/fixtures/output/node/request/multipart-data.js b/test/fixtures/output/node/request/multipart-data.js index 2af993d89..16181383e 100644 --- a/test/fixtures/output/node/request/multipart-data.js +++ b/test/fixtures/output/node/request/multipart-data.js @@ -7,10 +7,7 @@ var options = { formData: { foo: { value: 'Hello World', - options: { - filename: 'hello.txt', - contentType: 'text/plain' - } + options: {filename: 'hello.txt', contentType: 'text/plain'} } } }; diff --git a/test/fixtures/output/node/request/multipart-file.js b/test/fixtures/output/node/request/multipart-file.js index 0eae5dea1..181affbb6 100644 --- a/test/fixtures/output/node/request/multipart-file.js +++ b/test/fixtures/output/node/request/multipart-file.js @@ -8,10 +8,7 @@ var options = { formData: { foo: { value: 'fs.createReadStream("test/fixtures/files/hello.txt")', - options: { - filename: 'test/fixtures/files/hello.txt', - contentType: 'text/plain' - } + options: {filename: 'test/fixtures/files/hello.txt', contentType: 'text/plain'} } } }; diff --git a/test/fixtures/output/php/http1/multipart-data.php b/test/fixtures/output/php/http1/multipart-data.php index d5e20ac4d..06a28658e 100644 --- a/test/fixtures/output/php/http1/multipart-data.php +++ b/test/fixtures/output/php/http1/multipart-data.php @@ -8,12 +8,12 @@ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' )); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - -Hello World ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + +Hello World +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/php/http1/multipart-file.php b/test/fixtures/output/php/http1/multipart-file.php index 721be8237..b2b16581a 100644 --- a/test/fixtures/output/php/http1/multipart-file.php +++ b/test/fixtures/output/php/http1/multipart-file.php @@ -8,12 +8,12 @@ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' )); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - - ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + + +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/php/http1/multipart-form-data.php b/test/fixtures/output/php/http1/multipart-form-data.php index c78c84f8e..55f536e9c 100644 --- a/test/fixtures/output/php/http1/multipart-form-data.php +++ b/test/fixtures/output/php/http1/multipart-form-data.php @@ -8,11 +8,11 @@ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' )); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo" - -bar ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo" + +bar +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/powershell/restmethod/multipart-data.ps1 b/test/fixtures/output/powershell/restmethod/multipart-data.ps1 index 5c340a95f..9324af570 100644 --- a/test/fixtures/output/powershell/restmethod/multipart-data.ps1 +++ b/test/fixtures/output/powershell/restmethod/multipart-data.ps1 @@ -1,7 +1,9 @@ $headers=@{} $headers.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") -$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - -Hello World' +$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + +Hello World +-----011000010111000001101001-- +' diff --git a/test/fixtures/output/powershell/restmethod/multipart-file.ps1 b/test/fixtures/output/powershell/restmethod/multipart-file.ps1 index a1a02c79c..e1329cb24 100644 --- a/test/fixtures/output/powershell/restmethod/multipart-file.ps1 +++ b/test/fixtures/output/powershell/restmethod/multipart-file.ps1 @@ -1,7 +1,9 @@ $headers=@{} $headers.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") -$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - +$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + + +-----011000010111000001101001-- ' diff --git a/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 b/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 index dc110e420..f389a2757 100644 --- a/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 +++ b/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 @@ -1,6 +1,8 @@ $headers=@{} $headers.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") -$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 -Content-Disposition: form-data; name="foo" - -bar' +$response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 +Content-Disposition: form-data; name="foo" + +bar +-----011000010111000001101001-- +' diff --git a/test/fixtures/output/powershell/webrequest/multipart-data.ps1 b/test/fixtures/output/powershell/webrequest/multipart-data.ps1 index 43f66f4b7..64a05c86b 100644 --- a/test/fixtures/output/powershell/webrequest/multipart-data.ps1 +++ b/test/fixtures/output/powershell/webrequest/multipart-data.ps1 @@ -4,4 +4,6 @@ $response = Invoke-WebRequest -Uri 'http://mockbin.com/har' -Method POST -Header Content-Disposition: form-data; name="foo"; filename="hello.txt" Content-Type: text/plain -Hello World' +Hello World +-----011000010111000001101001-- +' diff --git a/test/fixtures/output/powershell/webrequest/multipart-file.ps1 b/test/fixtures/output/powershell/webrequest/multipart-file.ps1 index 9ff731856..c1dc54b57 100644 --- a/test/fixtures/output/powershell/webrequest/multipart-file.ps1 +++ b/test/fixtures/output/powershell/webrequest/multipart-file.ps1 @@ -4,4 +4,6 @@ $response = Invoke-WebRequest -Uri 'http://mockbin.com/har' -Method POST -Header Content-Disposition: form-data; name="foo"; filename="hello.txt" Content-Type: text/plain + +-----011000010111000001101001-- ' diff --git a/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 b/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 index 386f30630..9fe0ed80b 100644 --- a/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 +++ b/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 @@ -3,4 +3,6 @@ $headers.Add("content-type", "multipart/form-data; boundary=---01100001011100000 $response = Invoke-WebRequest -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 Content-Disposition: form-data; name="foo" -bar' +bar +-----011000010111000001101001-- +' diff --git a/test/fixtures/output/shell/httpie/multipart-data.sh b/test/fixtures/output/shell/httpie/multipart-data.sh index 5cb1606a1..64b17a1f4 100644 --- a/test/fixtures/output/shell/httpie/multipart-data.sh +++ b/test/fixtures/output/shell/httpie/multipart-data.sh @@ -1,9 +1,9 @@ -echo '-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - -Hello World ------011000010111000001101001-- +echo '-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + +Hello World +-----011000010111000001101001-- ' | \ http POST http://mockbin.com/har \ content-type:'multipart/form-data; boundary=---011000010111000001101001' diff --git a/test/fixtures/output/shell/httpie/multipart-file.sh b/test/fixtures/output/shell/httpie/multipart-file.sh index 550a40ee1..25b7ede3e 100644 --- a/test/fixtures/output/shell/httpie/multipart-file.sh +++ b/test/fixtures/output/shell/httpie/multipart-file.sh @@ -1,9 +1,9 @@ -echo '-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - - ------011000010111000001101001-- +echo '-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + + +-----011000010111000001101001-- ' | \ http POST http://mockbin.com/har \ content-type:'multipart/form-data; boundary=---011000010111000001101001' diff --git a/test/fixtures/output/shell/httpie/multipart-form-data.sh b/test/fixtures/output/shell/httpie/multipart-form-data.sh index a177c60e5..a6d170094 100644 --- a/test/fixtures/output/shell/httpie/multipart-form-data.sh +++ b/test/fixtures/output/shell/httpie/multipart-form-data.sh @@ -1,8 +1,8 @@ -echo '-----011000010111000001101001 -Content-Disposition: form-data; name="foo" - -bar ------011000010111000001101001-- +echo '-----011000010111000001101001 +Content-Disposition: form-data; name="foo" + +bar +-----011000010111000001101001-- ' | \ http POST http://mockbin.com/har \ content-type:'multipart/form-data; boundary=---011000010111000001101001' diff --git a/test/targets.js b/test/targets.js index ed9502dbb..d26667ec3 100644 --- a/test/targets.js +++ b/test/targets.js @@ -47,11 +47,7 @@ const skipMe = { 'clj_http': ['jsonObj-null-value', 'jsonObj-multiline'] }, '*': { - '*': [ - 'multipart-data', - 'multipart-file', - 'multipart-form-data' - ] + '*': [] } } @@ -81,10 +77,13 @@ var itShouldGenerateOutput = function (request, path, target, client) { this.skip() } var instance = new HTTPSnippet(fixtures.requests[request]) - var result = instance.convert(target, client) + '\n' + + // `form-data` sets the line break as `\r\n`, but we can't easily replicate that in our fixtures so let's convert + // it to a standard line break instead. + var result = instance.convert(target, client).replace(/\r\n/g, '\n').trim() result.should.be.a.String() - result.should.equal(output[fixture].toString()) + result.should.equal(output[fixture].toString().trim()) }) } From 731d6649f914602d62188d9c03503dcaa6ef6235 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 11:53:56 -0700 Subject: [PATCH 086/181] test: cloning some data to another var to prevent test corruption --- test/requests.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/requests.js b/test/requests.js index b7cda7c72..dbc38e7e9 100644 --- a/test/requests.js +++ b/test/requests.js @@ -45,11 +45,16 @@ fixtures.cli.forEach(function (cli) { err.should.be.null() } + // Clone the fixture we're testing against to another object because for multipart/form-data cases we're + // deleting the header, and if we don't clone the fixture to another object, that deleted header will cause + // other tests to fail because it's missing where other tests are expecting it. + const fixture = JSON.parse(JSON.stringify(fixtures.requests[request])) + // make an exception for multipart/form-data - if (fixtures.requests[request].headers) { - fixtures.requests[request].headers.forEach(function (header, index) { + if (fixture.headers) { + fixture.headers.forEach(function (header, index) { if (header.name === 'content-type' && header.value === 'multipart/form-data') { - delete fixtures.requests[request].headers[index] + delete fixture.headers[index] } }) } @@ -59,7 +64,7 @@ fixtures.cli.forEach(function (cli) { har.log.entries[0].should.have.property('request') // BUG: Mockbin returns http url even when request is for https url if (request !== 'https') { - har.log.entries[0].request.should.containDeep(fixtures.requests[request]) + har.log.entries[0].request.should.containDeep(fixture) } done() }) From 89177c34634c4481aab5ef1c0da1c6bbceb78a1f Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 12:04:05 -0700 Subject: [PATCH 087/181] fix: out of date regex that was causing readstreams to be stringified --- src/targets/node/request.js | 2 +- test/fixtures/output/node/request/multipart-file.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/node/request.js b/src/targets/node/request.js index 7711d63db..e1f1c28fc 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -115,7 +115,7 @@ module.exports = function (source, options) { .push('});') .blank() - return code.join().replace('"JAR"', 'jar').replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') + return code.join().replace('"JAR"', 'jar').replace(/'fs\.createReadStream\(\"(.+)\"\)'/g, 'fs.createReadStream("$1")') } module.exports.info = { diff --git a/test/fixtures/output/node/request/multipart-file.js b/test/fixtures/output/node/request/multipart-file.js index 181affbb6..407757a0f 100644 --- a/test/fixtures/output/node/request/multipart-file.js +++ b/test/fixtures/output/node/request/multipart-file.js @@ -7,7 +7,7 @@ var options = { headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: { foo: { - value: 'fs.createReadStream("test/fixtures/files/hello.txt")', + value: fs.createReadStream("test/fixtures/files/hello.txt"), options: {filename: 'test/fixtures/files/hello.txt', contentType: 'text/plain'} } } From ea50f9909bf6a7d4325318578128abffdd8e27fb Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 13:35:20 -0700 Subject: [PATCH 088/181] fix: updating the curl target to prioritize param.fileName --- src/targets/shell/curl.js | 7 ++++--- test/fixtures/output/shell/curl/multipart-data.sh | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/targets/shell/curl.js b/src/targets/shell/curl.js index 3b6397f4a..b6a82d386 100644 --- a/src/targets/shell/curl.js +++ b/src/targets/shell/curl.js @@ -44,10 +44,11 @@ module.exports = function (source, options) { switch (source.postData.mimeType) { case 'multipart/form-data': source.postData.params.map(function (param) { - var post = util.format('%s=%s', param.name, param.value) - - if (param.fileName && !param.value) { + var post = '' + if (param.fileName) { post = util.format('%s=@%s', param.name, param.fileName) + } else { + post = util.format('%s=%s', param.name, param.value) } code.push('%s %s', opts.short ? '-F' : '--form', helpers.quote(post)) diff --git a/test/fixtures/output/shell/curl/multipart-data.sh b/test/fixtures/output/shell/curl/multipart-data.sh index 8dee5514c..40a0201c7 100644 --- a/test/fixtures/output/shell/curl/multipart-data.sh +++ b/test/fixtures/output/shell/curl/multipart-data.sh @@ -1,4 +1,4 @@ curl --request POST \ --url http://mockbin.com/har \ --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \ - --form 'foo=Hello World' + --form foo=@hello.txt From 36a1a5bd97728b716cca6012d505946e1023b03a Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 13:42:40 -0700 Subject: [PATCH 089/181] fix: updating the node request target to prioritize param.fileName --- src/targets/node/request.js | 2 +- test/fixtures/output/node/request/multipart-data.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/targets/node/request.js b/src/targets/node/request.js index e1f1c28fc..c7f2d3eca 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -61,7 +61,7 @@ module.exports = function (source, options) { return } - if (param.fileName && !param.value) { + if (param.fileName) { includeFS = true attachment.value = 'fs.createReadStream("' + param.fileName + '")' diff --git a/test/fixtures/output/node/request/multipart-data.js b/test/fixtures/output/node/request/multipart-data.js index 16181383e..418f53c9d 100644 --- a/test/fixtures/output/node/request/multipart-data.js +++ b/test/fixtures/output/node/request/multipart-data.js @@ -1,3 +1,4 @@ +var fs = require("fs"); var request = require("request"); var options = { @@ -6,7 +7,7 @@ var options = { headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: { foo: { - value: 'Hello World', + value: fs.createReadStream("hello.txt"), options: {filename: 'hello.txt', contentType: 'text/plain'} } } From f98662c03ccf3875550d55cda9c51c263af27a36 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 6 Aug 2020 14:01:25 -0700 Subject: [PATCH 090/181] fix: updating the node request target to prefer single quotes --- src/targets/node/request.js | 8 ++++---- .../output/node/request/application-form-encoded.js | 2 +- test/fixtures/output/node/request/application-json.js | 2 +- test/fixtures/output/node/request/cookies.js | 6 +++--- test/fixtures/output/node/request/custom-method.js | 2 +- test/fixtures/output/node/request/full.js | 6 +++--- test/fixtures/output/node/request/headers.js | 2 +- test/fixtures/output/node/request/https.js | 2 +- test/fixtures/output/node/request/jsonObj-multiline.js | 2 +- test/fixtures/output/node/request/jsonObj-null-value.js | 2 +- test/fixtures/output/node/request/multipart-data.js | 6 +++--- test/fixtures/output/node/request/multipart-file.js | 6 +++--- test/fixtures/output/node/request/multipart-form-data.js | 2 +- test/fixtures/output/node/request/query.js | 2 +- test/fixtures/output/node/request/short.js | 2 +- test/fixtures/output/node/request/text-plain.js | 2 +- 16 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/targets/node/request.js b/src/targets/node/request.js index c7f2d3eca..68487d201 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -22,7 +22,7 @@ module.exports = function (source, options) { var includeFS = false var code = new CodeBuilder(opts.indent) - code.push('var request = require("request");') + code.push("var request = require('request');") .blank() var reqOpts = { @@ -95,13 +95,13 @@ module.exports = function (source, options) { var url = source.url source.cookies.forEach(function (cookie) { - code.push('jar.setCookie(request.cookie("%s=%s"), "%s");', encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), url) + code.push("jar.setCookie(request.cookie('%s=%s'), '%s');", encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), url) }) code.blank() } if (includeFS) { - code.unshift('var fs = require("fs");') + code.unshift("var fs = require('fs');") } code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) @@ -115,7 +115,7 @@ module.exports = function (source, options) { .push('});') .blank() - return code.join().replace('"JAR"', 'jar').replace(/'fs\.createReadStream\(\"(.+)\"\)'/g, 'fs.createReadStream("$1")') + return code.join().replace('"JAR"', 'jar').replace(/'fs\.createReadStream\("(.+)"\)'/g, "fs.createReadStream('$1')") } module.exports.info = { diff --git a/test/fixtures/output/node/request/application-form-encoded.js b/test/fixtures/output/node/request/application-form-encoded.js index 54c6cb9d9..dca582e95 100644 --- a/test/fixtures/output/node/request/application-form-encoded.js +++ b/test/fixtures/output/node/request/application-form-encoded.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/application-json.js b/test/fixtures/output/node/request/application-json.js index 47ccb206a..4b00d0a09 100644 --- a/test/fixtures/output/node/request/application-json.js +++ b/test/fixtures/output/node/request/application-json.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/cookies.js b/test/fixtures/output/node/request/cookies.js index a739c0cef..9d3adb250 100644 --- a/test/fixtures/output/node/request/cookies.js +++ b/test/fixtures/output/node/request/cookies.js @@ -1,8 +1,8 @@ -var request = require("request"); +var request = require('request'); var jar = request.jar(); -jar.setCookie(request.cookie("foo=bar"), "http://mockbin.com/har"); -jar.setCookie(request.cookie("bar=baz"), "http://mockbin.com/har"); +jar.setCookie(request.cookie('foo=bar'), 'http://mockbin.com/har'); +jar.setCookie(request.cookie('bar=baz'), 'http://mockbin.com/har'); var options = {method: 'POST', url: 'http://mockbin.com/har', jar: 'JAR'}; diff --git a/test/fixtures/output/node/request/custom-method.js b/test/fixtures/output/node/request/custom-method.js index 947650559..3a2202282 100644 --- a/test/fixtures/output/node/request/custom-method.js +++ b/test/fixtures/output/node/request/custom-method.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = {method: 'PROPFIND', url: 'http://mockbin.com/har'}; diff --git a/test/fixtures/output/node/request/full.js b/test/fixtures/output/node/request/full.js index b24ae4bb6..3d9f30302 100644 --- a/test/fixtures/output/node/request/full.js +++ b/test/fixtures/output/node/request/full.js @@ -1,8 +1,8 @@ -var request = require("request"); +var request = require('request'); var jar = request.jar(); -jar.setCookie(request.cookie("foo=bar"), "http://mockbin.com/har"); -jar.setCookie(request.cookie("bar=baz"), "http://mockbin.com/har"); +jar.setCookie(request.cookie('foo=bar'), 'http://mockbin.com/har'); +jar.setCookie(request.cookie('bar=baz'), 'http://mockbin.com/har'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/headers.js b/test/fixtures/output/node/request/headers.js index 1e28531ff..bb46ef51d 100644 --- a/test/fixtures/output/node/request/headers.js +++ b/test/fixtures/output/node/request/headers.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'GET', diff --git a/test/fixtures/output/node/request/https.js b/test/fixtures/output/node/request/https.js index d655d6835..18998433d 100644 --- a/test/fixtures/output/node/request/https.js +++ b/test/fixtures/output/node/request/https.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = {method: 'GET', url: 'https://mockbin.com/har'}; diff --git a/test/fixtures/output/node/request/jsonObj-multiline.js b/test/fixtures/output/node/request/jsonObj-multiline.js index 3a0c3a8d0..91294f754 100644 --- a/test/fixtures/output/node/request/jsonObj-multiline.js +++ b/test/fixtures/output/node/request/jsonObj-multiline.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/jsonObj-null-value.js b/test/fixtures/output/node/request/jsonObj-null-value.js index a06dd028a..71caff935 100644 --- a/test/fixtures/output/node/request/jsonObj-null-value.js +++ b/test/fixtures/output/node/request/jsonObj-null-value.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/multipart-data.js b/test/fixtures/output/node/request/multipart-data.js index 418f53c9d..738cbc56a 100644 --- a/test/fixtures/output/node/request/multipart-data.js +++ b/test/fixtures/output/node/request/multipart-data.js @@ -1,5 +1,5 @@ -var fs = require("fs"); -var request = require("request"); +var fs = require('fs'); +var request = require('request'); var options = { method: 'POST', @@ -7,7 +7,7 @@ var options = { headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: { foo: { - value: fs.createReadStream("hello.txt"), + value: fs.createReadStream('hello.txt'), options: {filename: 'hello.txt', contentType: 'text/plain'} } } diff --git a/test/fixtures/output/node/request/multipart-file.js b/test/fixtures/output/node/request/multipart-file.js index 407757a0f..553351042 100644 --- a/test/fixtures/output/node/request/multipart-file.js +++ b/test/fixtures/output/node/request/multipart-file.js @@ -1,5 +1,5 @@ -var fs = require("fs"); -var request = require("request"); +var fs = require('fs'); +var request = require('request'); var options = { method: 'POST', @@ -7,7 +7,7 @@ var options = { headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: { foo: { - value: fs.createReadStream("test/fixtures/files/hello.txt"), + value: fs.createReadStream('test/fixtures/files/hello.txt'), options: {filename: 'test/fixtures/files/hello.txt', contentType: 'text/plain'} } } diff --git a/test/fixtures/output/node/request/multipart-form-data.js b/test/fixtures/output/node/request/multipart-form-data.js index 05ddf57dd..b0c8e28b0 100644 --- a/test/fixtures/output/node/request/multipart-form-data.js +++ b/test/fixtures/output/node/request/multipart-form-data.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', diff --git a/test/fixtures/output/node/request/query.js b/test/fixtures/output/node/request/query.js index dfcb2e763..72aa3c1a9 100644 --- a/test/fixtures/output/node/request/query.js +++ b/test/fixtures/output/node/request/query.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'GET', diff --git a/test/fixtures/output/node/request/short.js b/test/fixtures/output/node/request/short.js index 823ad63e2..0028f607d 100644 --- a/test/fixtures/output/node/request/short.js +++ b/test/fixtures/output/node/request/short.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = {method: 'GET', url: 'http://mockbin.com/har'}; diff --git a/test/fixtures/output/node/request/text-plain.js b/test/fixtures/output/node/request/text-plain.js index bf646234e..00bb443b5 100644 --- a/test/fixtures/output/node/request/text-plain.js +++ b/test/fixtures/output/node/request/text-plain.js @@ -1,4 +1,4 @@ -var request = require("request"); +var request = require('request'); var options = { method: 'POST', From 146b8c3d04b1a0912e4e29e339edcfaba9ba3040 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 7 Aug 2020 08:44:15 -0700 Subject: [PATCH 091/181] docs: adjusting some incorrect comments --- src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 635a5b4a7..7421381a2 100644 --- a/src/index.js +++ b/src/index.js @@ -108,9 +108,9 @@ HTTPSnippet.prototype.prepare = function (request) { if (request.postData.params) { var form = new MultiPartForm() - // The `form-data` module returns one of two things: a native FormData object, or its own polyfill. Since this - // polyfill support the full API of the native FormData object, when this library is running in a browser - // environment it'll fail on two things: + // The `form-data` module returns one of two things: a native FormData object, or its own polyfill. Since the + // polyfill does not support the full API of the native FormData object, when this library is running in a + // browser environment it'll fail on two things: // // - The API for `form.append()` has three arguments and the third should only be present when the second is a // Blob or USVString. From 52ef6117ba90803846172f69c1f62e31dbb1e578 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 7 Aug 2020 10:22:58 -0700 Subject: [PATCH 092/181] style: removing some unused code --- src/helpers/form-data.js | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/src/helpers/form-data.js b/src/helpers/form-data.js index 343e6dc53..c43469fb5 100644 --- a/src/helpers/form-data.js +++ b/src/helpers/form-data.js @@ -26,7 +26,6 @@ const carriage = '\r\n' const dashes = '-'.repeat(2) -const carriageLength = Buffer.byteLength(carriage) const NAME = Symbol.toStringTag @@ -101,28 +100,4 @@ module.exports.formDataIterator = function * (form, boundary) { yield getFooter(boundary) } -/** - * @param {FormData} form - * @param {string} boundary - */ -module.exports.getFormDataLength = function (form, boundary) { - let length = 0 - - for (const [name, value] of form) { - length += Buffer.byteLength(getHeader(boundary, name, value)) - - if (isBlob(value)) { - length += value.size - } else { - length += Buffer.byteLength(String(value)) - } - - length += carriageLength - } - - length += Buffer.byteLength(getFooter(boundary)) - - return length -} - module.exports.isBlob = isBlob From cd034d030b2317898ce8d5e10cbf6ff643a438a8 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 7 Aug 2020 12:22:41 -0700 Subject: [PATCH 093/181] feat: updating javascript targets to use `const` instead of `var` --- src/targets/javascript/fetch.js | 2 +- src/targets/javascript/jquery.js | 4 ++-- src/targets/javascript/xhr.js | 8 ++++---- src/targets/node/native.js | 12 ++++++------ src/targets/node/request.js | 10 +++++----- src/targets/node/unirest.js | 19 +++++++++++-------- .../output/javascript/fetch/multipart-data.js | 2 +- .../output/javascript/fetch/multipart-file.js | 2 +- .../javascript/fetch/multipart-form-data.js | 2 +- .../jquery/application-form-encoded.js | 4 ++-- .../javascript/jquery/application-json.js | 4 ++-- .../output/javascript/jquery/cookies.js | 4 ++-- .../output/javascript/jquery/custom-method.js | 4 ++-- .../fixtures/output/javascript/jquery/full.js | 4 ++-- .../output/javascript/jquery/headers.js | 4 ++-- .../output/javascript/jquery/https.js | 4 ++-- .../javascript/jquery/jsonObj-multiline.js | 4 ++-- .../javascript/jquery/jsonObj-null-value.js | 4 ++-- .../javascript/jquery/multipart-data.js | 6 +++--- .../javascript/jquery/multipart-file.js | 6 +++--- .../javascript/jquery/multipart-form-data.js | 6 +++--- .../output/javascript/jquery/query.js | 4 ++-- .../output/javascript/jquery/short.js | 4 ++-- .../output/javascript/jquery/text-plain.js | 4 ++-- .../xhr/application-form-encoded.js | 4 ++-- .../output/javascript/xhr/application-json.js | 4 ++-- .../fixtures/output/javascript/xhr/cookies.js | 4 ++-- .../output/javascript/xhr/custom-method.js | 4 ++-- test/fixtures/output/javascript/xhr/full.js | 4 ++-- .../fixtures/output/javascript/xhr/headers.js | 4 ++-- test/fixtures/output/javascript/xhr/https.js | 4 ++-- .../javascript/xhr/jsonObj-multiline.js | 4 ++-- .../javascript/xhr/jsonObj-null-value.js | 4 ++-- .../output/javascript/xhr/multipart-data.js | 4 ++-- .../output/javascript/xhr/multipart-file.js | 4 ++-- .../javascript/xhr/multipart-form-data.js | 4 ++-- test/fixtures/output/javascript/xhr/query.js | 4 ++-- test/fixtures/output/javascript/xhr/short.js | 4 ++-- .../output/javascript/xhr/text-plain.js | 4 ++-- .../node/native/application-form-encoded.js | 12 ++++++------ .../output/node/native/application-json.js | 10 +++++----- test/fixtures/output/node/native/cookies.js | 10 +++++----- .../output/node/native/custom-method.js | 10 +++++----- test/fixtures/output/node/native/full.js | 12 ++++++------ test/fixtures/output/node/native/headers.js | 10 +++++----- test/fixtures/output/node/native/https.js | 10 +++++----- .../output/node/native/jsonObj-multiline.js | 10 +++++----- .../output/node/native/jsonObj-null-value.js | 10 +++++----- .../output/node/native/multipart-data.js | 10 +++++----- .../output/node/native/multipart-file.js | 10 +++++----- .../output/node/native/multipart-form-data.js | 10 +++++----- test/fixtures/output/node/native/query.js | 10 +++++----- test/fixtures/output/node/native/short.js | 10 +++++----- .../fixtures/output/node/native/text-plain.js | 10 +++++----- .../node/request/application-form-encoded.js | 4 ++-- .../output/node/request/application-json.js | 4 ++-- test/fixtures/output/node/request/cookies.js | 10 +++++----- .../output/node/request/custom-method.js | 4 ++-- test/fixtures/output/node/request/full.js | 10 +++++----- test/fixtures/output/node/request/headers.js | 4 ++-- test/fixtures/output/node/request/https.js | 4 ++-- .../output/node/request/jsonObj-multiline.js | 4 ++-- .../output/node/request/jsonObj-null-value.js | 4 ++-- .../output/node/request/multipart-data.js | 4 ++-- .../output/node/request/multipart-file.js | 12 ++++++------ .../node/request/multipart-form-data.js | 4 ++-- test/fixtures/output/node/request/query.js | 4 ++-- test/fixtures/output/node/request/short.js | 4 ++-- .../output/node/request/text-plain.js | 4 ++-- .../node/unirest/application-form-encoded.js | 4 ++-- .../output/node/unirest/application-json.js | 4 ++-- test/fixtures/output/node/unirest/cookies.js | 7 +++---- .../output/node/unirest/custom-method.js | 5 ++--- test/fixtures/output/node/unirest/full.js | 6 +++--- test/fixtures/output/node/unirest/headers.js | 5 ++--- test/fixtures/output/node/unirest/https.js | 5 ++--- .../output/node/unirest/jsonObj-multiline.js | 4 ++-- .../output/node/unirest/jsonObj-null-value.js | 4 ++-- .../output/node/unirest/multipart-data.js | 4 ++-- .../output/node/unirest/multipart-file.js | 6 +++--- .../node/unirest/multipart-form-data.js | 4 ++-- test/fixtures/output/node/unirest/query.js | 5 ++--- test/fixtures/output/node/unirest/short.js | 5 ++--- .../output/node/unirest/text-plain.js | 6 +++--- test/targets/javascript/xhr.js | 2 +- 85 files changed, 247 insertions(+), 250 deletions(-) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index 1d0d147ea..7c7452203 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -44,7 +44,7 @@ module.exports = function (source, options) { break case 'multipart/form-data': - code.push('var form = new FormData();') + code.push('const form = new FormData();') source.postData.params.forEach(function (param) { code.push( diff --git a/src/targets/javascript/jquery.js b/src/targets/javascript/jquery.js index 8cea77477..e84e390b6 100644 --- a/src/targets/javascript/jquery.js +++ b/src/targets/javascript/jquery.js @@ -38,7 +38,7 @@ module.exports = function (source, options) { break case 'multipart/form-data': - code.push('var form = new FormData();') + code.push('const form = new FormData();') source.postData.params.forEach(function (param) { code.push('form.append(%s, %s);', JSON.stringify(param.name), JSON.stringify(param.value || param.fileName || '')) @@ -62,7 +62,7 @@ module.exports = function (source, options) { } } - code.push('var settings = ' + JSON.stringify(settings, null, opts.indent).replace('"[form]"', 'form')) + code.push('const settings = ' + JSON.stringify(settings, null, opts.indent).replace('"[form]"', 'form') + ';') .blank() .push('$.ajax(settings).done(function (response) {') .push(1, 'console.log(response);') diff --git a/src/targets/javascript/xhr.js b/src/targets/javascript/xhr.js index 64d8d7885..e2793c62b 100644 --- a/src/targets/javascript/xhr.js +++ b/src/targets/javascript/xhr.js @@ -22,12 +22,12 @@ module.exports = function (source, options) { switch (source.postData.mimeType) { case 'application/json': - code.push('var data = JSON.stringify(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + code.push('const data = JSON.stringify(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) .push(null) break case 'multipart/form-data': - code.push('var data = new FormData();') + code.push('const data = new FormData();') source.postData.params.forEach(function (param) { code.push('data.append(%s, %s);', JSON.stringify(param.name), JSON.stringify(param.value || param.fileName || '')) @@ -42,11 +42,11 @@ module.exports = function (source, options) { break default: - code.push('var data = %s;', JSON.stringify(source.postData.text || null)) + code.push('const data = %s;', JSON.stringify(source.postData.text || null)) .blank() } - code.push('var xhr = new XMLHttpRequest();') + code.push('const xhr = new XMLHttpRequest();') if (opts.cors) { code.push('xhr.withCredentials = true;') diff --git a/src/targets/node/native.js b/src/targets/node/native.js index a4ec208b1..7cbf1b746 100644 --- a/src/targets/node/native.js +++ b/src/targets/node/native.js @@ -28,20 +28,20 @@ module.exports = function (source, options) { headers: source.allHeaders } - code.push('var http = require("%s");', source.uriObj.protocol.replace(':', '')) + code.push('const http = require("%s");', source.uriObj.protocol.replace(':', '')) code.blank() - .push('var options = %s;', JSON.stringify(reqOpts, null, opts.indent)) + .push('const options = %s;', JSON.stringify(reqOpts, null, opts.indent)) .blank() - .push('var req = http.request(options, function (res) {') - .push(1, 'var chunks = [];') + .push('const req = http.request(options, function (res) {') + .push(1, 'const chunks = [];') .blank() .push(1, 'res.on("data", function (chunk) {') .push(2, 'chunks.push(chunk);') .push(1, '});') .blank() .push(1, 'res.on("end", function () {') - .push(2, 'var body = Buffer.concat(chunks);') + .push(2, 'const body = Buffer.concat(chunks);') .push(2, 'console.log(body.toString());') .push(1, '});') .push('});') @@ -50,7 +50,7 @@ module.exports = function (source, options) { switch (source.postData.mimeType) { case 'application/x-www-form-urlencoded': if (source.postData.paramsObj) { - code.unshift('var qs = require("querystring");') + code.unshift('const qs = require("querystring");') code.push('req.write(qs.stringify(%s));', stringifyObject(source.postData.paramsObj, { indent: ' ', inlineCharacterLimit: 80 diff --git a/src/targets/node/request.js b/src/targets/node/request.js index 7711d63db..d704ae19f 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -22,7 +22,7 @@ module.exports = function (source, options) { var includeFS = false var code = new CodeBuilder(opts.indent) - code.push('var request = require("request");') + code.push("const request = require('request');") .blank() var reqOpts = { @@ -90,21 +90,21 @@ module.exports = function (source, options) { if (source.cookies.length) { reqOpts.jar = 'JAR' - code.push('var jar = request.jar();') + code.push('const jar = request.jar();') var url = source.url source.cookies.forEach(function (cookie) { - code.push('jar.setCookie(request.cookie("%s=%s"), "%s");', encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), url) + code.push("jar.setCookie(request.cookie('%s=%s'), '%s');", encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), url) }) code.blank() } if (includeFS) { - code.unshift('var fs = require("fs");') + code.unshift("const fs = require('fs');") } - code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + code.push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) .blank() code.push(util.format('request(options, %s', 'function (error, response, body) {')) diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 9927be182..616805a42 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -20,20 +20,20 @@ module.exports = function (source, options) { var includeFS = false var code = new CodeBuilder(opts.indent) - code.push('var unirest = require("unirest");') + code.push('const unirest = require("unirest");') .blank() - .push('var req = unirest("%s", "%s");', source.method, source.url) + .push('const req = unirest("%s", "%s");', source.method, source.url) .blank() if (source.cookies.length) { - code.push('var CookieJar = unirest.jar();') + code.push('const CookieJar = unirest.jar();') source.cookies.forEach(function (cookie) { code.push('CookieJar.add("%s=%s","%s");', encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), source.url) }) code.push('req.jar(CookieJar);') - .blank() + .blank() } if (Object.keys(source.queryObj).length) { @@ -50,6 +50,7 @@ module.exports = function (source, options) { case 'application/x-www-form-urlencoded': if (source.postData.paramsObj) { code.push('req.form(%s);', JSON.stringify(source.postData.paramsObj, null, opts.indent)) + .blank() } break @@ -57,6 +58,7 @@ module.exports = function (source, options) { if (source.postData.jsonObj) { code.push('req.type("json");') .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + .blank() } break @@ -84,20 +86,21 @@ module.exports = function (source, options) { }) code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) + .blank() break default: if (source.postData.text) { - code.push(opts.indent + 'req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) + code.push('req.send(%s);', JSON.stringify(source.postData.text, null, opts.indent)) + .blank() } } if (includeFS) { - code.unshift('var fs = require("fs");') + code.unshift('const fs = require("fs");') } - code.blank() - .push('req.end(function (res) {') + code.push('req.end(function (res) {') .push(1, 'if (res.error) throw new Error(res.error);') .blank() .push(1, 'console.log(res.body);') diff --git a/test/fixtures/output/javascript/fetch/multipart-data.js b/test/fixtures/output/javascript/fetch/multipart-data.js index bb8740063..f90125e10 100644 --- a/test/fixtures/output/javascript/fetch/multipart-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-data.js @@ -1,4 +1,4 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "Hello World"); fetch("http://mockbin.com/har", { diff --git a/test/fixtures/output/javascript/fetch/multipart-file.js b/test/fixtures/output/javascript/fetch/multipart-file.js index 968eb3bee..a425041b5 100644 --- a/test/fixtures/output/javascript/fetch/multipart-file.js +++ b/test/fixtures/output/javascript/fetch/multipart-file.js @@ -1,4 +1,4 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "test/fixtures/files/hello.txt"); fetch("http://mockbin.com/har", { diff --git a/test/fixtures/output/javascript/fetch/multipart-form-data.js b/test/fixtures/output/javascript/fetch/multipart-form-data.js index 62937b3fd..f0c050724 100644 --- a/test/fixtures/output/javascript/fetch/multipart-form-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-form-data.js @@ -1,4 +1,4 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "bar"); fetch("http://mockbin.com/har", { diff --git a/test/fixtures/output/javascript/jquery/application-form-encoded.js b/test/fixtures/output/javascript/jquery/application-form-encoded.js index dc296cc3e..9ecf72e80 100644 --- a/test/fixtures/output/javascript/jquery/application-form-encoded.js +++ b/test/fixtures/output/javascript/jquery/application-form-encoded.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -10,7 +10,7 @@ var settings = { "foo": "bar", "hello": "world" } -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/application-json.js b/test/fixtures/output/javascript/jquery/application-json.js index 0b53728b3..5b02a22f0 100644 --- a/test/fixtures/output/javascript/jquery/application-json.js +++ b/test/fixtures/output/javascript/jquery/application-json.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -8,7 +8,7 @@ var settings = { }, "processData": false, "data": "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/cookies.js b/test/fixtures/output/javascript/jquery/cookies.js index f65a8d048..653f10d0c 100644 --- a/test/fixtures/output/javascript/jquery/cookies.js +++ b/test/fixtures/output/javascript/jquery/cookies.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -6,7 +6,7 @@ var settings = { "headers": { "cookie": "foo=bar; bar=baz" } -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/custom-method.js b/test/fixtures/output/javascript/jquery/custom-method.js index ba4185299..521c2fc00 100644 --- a/test/fixtures/output/javascript/jquery/custom-method.js +++ b/test/fixtures/output/javascript/jquery/custom-method.js @@ -1,10 +1,10 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", "method": "PROPFIND", "headers": {} -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/full.js b/test/fixtures/output/javascript/jquery/full.js index 50f7cf609..36fb5b1f9 100644 --- a/test/fixtures/output/javascript/jquery/full.js +++ b/test/fixtures/output/javascript/jquery/full.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", @@ -11,7 +11,7 @@ var settings = { "data": { "foo": "bar" } -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/headers.js b/test/fixtures/output/javascript/jquery/headers.js index 030e7f6ff..17652fa25 100644 --- a/test/fixtures/output/javascript/jquery/headers.js +++ b/test/fixtures/output/javascript/jquery/headers.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -7,7 +7,7 @@ var settings = { "accept": "application/json", "x-foo": "Bar" } -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/https.js b/test/fixtures/output/javascript/jquery/https.js index 418bfba7f..09fe852d6 100644 --- a/test/fixtures/output/javascript/jquery/https.js +++ b/test/fixtures/output/javascript/jquery/https.js @@ -1,10 +1,10 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "https://mockbin.com/har", "method": "GET", "headers": {} -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/jsonObj-multiline.js b/test/fixtures/output/javascript/jquery/jsonObj-multiline.js index 5e5096c53..f7060b4b5 100644 --- a/test/fixtures/output/javascript/jquery/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/jquery/jsonObj-multiline.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -8,7 +8,7 @@ var settings = { }, "processData": false, "data": "{\n \"foo\": \"bar\"\n}" -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/jsonObj-null-value.js b/test/fixtures/output/javascript/jquery/jsonObj-null-value.js index a8b88b785..afa5f175a 100644 --- a/test/fixtures/output/javascript/jquery/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/jquery/jsonObj-null-value.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -8,7 +8,7 @@ var settings = { }, "processData": false, "data": "{\"foo\":null}" -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/multipart-data.js b/test/fixtures/output/javascript/jquery/multipart-data.js index 8dea93d99..74f9b9752 100644 --- a/test/fixtures/output/javascript/jquery/multipart-data.js +++ b/test/fixtures/output/javascript/jquery/multipart-data.js @@ -1,7 +1,7 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "Hello World"); -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -11,7 +11,7 @@ var settings = { "contentType": false, "mimeType": "multipart/form-data", "data": form -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/multipart-file.js b/test/fixtures/output/javascript/jquery/multipart-file.js index 12006dd89..8c1a50404 100644 --- a/test/fixtures/output/javascript/jquery/multipart-file.js +++ b/test/fixtures/output/javascript/jquery/multipart-file.js @@ -1,7 +1,7 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "test/fixtures/files/hello.txt"); -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -11,7 +11,7 @@ var settings = { "contentType": false, "mimeType": "multipart/form-data", "data": form -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/multipart-form-data.js b/test/fixtures/output/javascript/jquery/multipart-form-data.js index 584b8d9ec..fc2f25e0b 100644 --- a/test/fixtures/output/javascript/jquery/multipart-form-data.js +++ b/test/fixtures/output/javascript/jquery/multipart-form-data.js @@ -1,7 +1,7 @@ -var form = new FormData(); +const form = new FormData(); form.append("foo", "bar"); -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -11,7 +11,7 @@ var settings = { "contentType": false, "mimeType": "multipart/form-data", "data": form -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/query.js b/test/fixtures/output/javascript/jquery/query.js index 15a0663e4..58baea69e 100644 --- a/test/fixtures/output/javascript/jquery/query.js +++ b/test/fixtures/output/javascript/jquery/query.js @@ -1,10 +1,10 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", "method": "GET", "headers": {} -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/short.js b/test/fixtures/output/javascript/jquery/short.js index 45e3bdd07..c87b2c8cf 100644 --- a/test/fixtures/output/javascript/jquery/short.js +++ b/test/fixtures/output/javascript/jquery/short.js @@ -1,10 +1,10 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", "method": "GET", "headers": {} -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/jquery/text-plain.js b/test/fixtures/output/javascript/jquery/text-plain.js index 58debb2de..160075d2f 100644 --- a/test/fixtures/output/javascript/jquery/text-plain.js +++ b/test/fixtures/output/javascript/jquery/text-plain.js @@ -1,4 +1,4 @@ -var settings = { +const settings = { "async": true, "crossDomain": true, "url": "http://mockbin.com/har", @@ -7,7 +7,7 @@ var settings = { "content-type": "text/plain" }, "data": "Hello World" -} +}; $.ajax(settings).done(function (response) { console.log(response); diff --git a/test/fixtures/output/javascript/xhr/application-form-encoded.js b/test/fixtures/output/javascript/xhr/application-form-encoded.js index 90cfc66a6..c6b2cdecc 100644 --- a/test/fixtures/output/javascript/xhr/application-form-encoded.js +++ b/test/fixtures/output/javascript/xhr/application-form-encoded.js @@ -1,6 +1,6 @@ -var data = "foo=bar&hello=world"; +const data = "foo=bar&hello=world"; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/application-json.js b/test/fixtures/output/javascript/xhr/application-json.js index 98508d808..853be4a3c 100644 --- a/test/fixtures/output/javascript/xhr/application-json.js +++ b/test/fixtures/output/javascript/xhr/application-json.js @@ -1,4 +1,4 @@ -var data = JSON.stringify({ +const data = JSON.stringify({ "number": 1, "string": "f\"oo", "arr": [ @@ -19,7 +19,7 @@ var data = JSON.stringify({ "boolean": false }); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/cookies.js b/test/fixtures/output/javascript/xhr/cookies.js index d110546ea..dbce36082 100644 --- a/test/fixtures/output/javascript/xhr/cookies.js +++ b/test/fixtures/output/javascript/xhr/cookies.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/custom-method.js b/test/fixtures/output/javascript/xhr/custom-method.js index 6da6675c3..40c589237 100644 --- a/test/fixtures/output/javascript/xhr/custom-method.js +++ b/test/fixtures/output/javascript/xhr/custom-method.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/full.js b/test/fixtures/output/javascript/xhr/full.js index 55547738f..a32dd52bc 100644 --- a/test/fixtures/output/javascript/xhr/full.js +++ b/test/fixtures/output/javascript/xhr/full.js @@ -1,6 +1,6 @@ -var data = "foo=bar"; +const data = "foo=bar"; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/headers.js b/test/fixtures/output/javascript/xhr/headers.js index 27e9347bc..511c4ab52 100644 --- a/test/fixtures/output/javascript/xhr/headers.js +++ b/test/fixtures/output/javascript/xhr/headers.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/https.js b/test/fixtures/output/javascript/xhr/https.js index 6f2e8f34f..0d5ce6b2b 100644 --- a/test/fixtures/output/javascript/xhr/https.js +++ b/test/fixtures/output/javascript/xhr/https.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/jsonObj-multiline.js b/test/fixtures/output/javascript/xhr/jsonObj-multiline.js index 8cc564a3d..b0bfbe099 100644 --- a/test/fixtures/output/javascript/xhr/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/xhr/jsonObj-multiline.js @@ -1,8 +1,8 @@ -var data = JSON.stringify({ +const data = JSON.stringify({ "foo": "bar" }); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/jsonObj-null-value.js b/test/fixtures/output/javascript/xhr/jsonObj-null-value.js index 8105f6446..d6948dcf9 100644 --- a/test/fixtures/output/javascript/xhr/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/xhr/jsonObj-null-value.js @@ -1,8 +1,8 @@ -var data = JSON.stringify({ +const data = JSON.stringify({ "foo": null }); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/multipart-data.js b/test/fixtures/output/javascript/xhr/multipart-data.js index 2b7f42579..5753015f5 100644 --- a/test/fixtures/output/javascript/xhr/multipart-data.js +++ b/test/fixtures/output/javascript/xhr/multipart-data.js @@ -1,7 +1,7 @@ -var data = new FormData(); +const data = new FormData(); data.append("foo", "Hello World"); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/multipart-file.js b/test/fixtures/output/javascript/xhr/multipart-file.js index a5326f2a3..44d80da5b 100644 --- a/test/fixtures/output/javascript/xhr/multipart-file.js +++ b/test/fixtures/output/javascript/xhr/multipart-file.js @@ -1,7 +1,7 @@ -var data = new FormData(); +const data = new FormData(); data.append("foo", "test/fixtures/files/hello.txt"); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/multipart-form-data.js b/test/fixtures/output/javascript/xhr/multipart-form-data.js index 574bafff5..32e25edb3 100644 --- a/test/fixtures/output/javascript/xhr/multipart-form-data.js +++ b/test/fixtures/output/javascript/xhr/multipart-form-data.js @@ -1,7 +1,7 @@ -var data = new FormData(); +const data = new FormData(); data.append("foo", "bar"); -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/query.js b/test/fixtures/output/javascript/xhr/query.js index b9cfa0d23..f620f6b37 100644 --- a/test/fixtures/output/javascript/xhr/query.js +++ b/test/fixtures/output/javascript/xhr/query.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/short.js b/test/fixtures/output/javascript/xhr/short.js index af35e7675..0993af510 100644 --- a/test/fixtures/output/javascript/xhr/short.js +++ b/test/fixtures/output/javascript/xhr/short.js @@ -1,6 +1,6 @@ -var data = null; +const data = null; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/javascript/xhr/text-plain.js b/test/fixtures/output/javascript/xhr/text-plain.js index 6b6ca5171..495fc0e4a 100644 --- a/test/fixtures/output/javascript/xhr/text-plain.js +++ b/test/fixtures/output/javascript/xhr/text-plain.js @@ -1,6 +1,6 @@ -var data = "Hello World"; +const data = "Hello World"; -var xhr = new XMLHttpRequest(); +const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { diff --git a/test/fixtures/output/node/native/application-form-encoded.js b/test/fixtures/output/node/native/application-form-encoded.js index 6d91f8974..bcd87872b 100644 --- a/test/fixtures/output/node/native/application-form-encoded.js +++ b/test/fixtures/output/node/native/application-form-encoded.js @@ -1,7 +1,7 @@ -var qs = require("querystring"); -var http = require("http"); +const qs = require("querystring"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -11,15 +11,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/application-json.js b/test/fixtures/output/node/native/application-json.js index 9ee32ee3b..4234fe283 100644 --- a/test/fixtures/output/node/native/application-json.js +++ b/test/fixtures/output/node/native/application-json.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/cookies.js b/test/fixtures/output/node/native/cookies.js index 39e75389d..56936f0eb 100644 --- a/test/fixtures/output/node/native/cookies.js +++ b/test/fixtures/output/node/native/cookies.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/custom-method.js b/test/fixtures/output/node/native/custom-method.js index f87f77499..2c44fc9b7 100644 --- a/test/fixtures/output/node/native/custom-method.js +++ b/test/fixtures/output/node/native/custom-method.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "PROPFIND", "hostname": "mockbin.com", "port": null, @@ -8,15 +8,15 @@ var options = { "headers": {} }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/full.js b/test/fixtures/output/node/native/full.js index 8701cdc42..af89775d9 100644 --- a/test/fixtures/output/node/native/full.js +++ b/test/fixtures/output/node/native/full.js @@ -1,7 +1,7 @@ -var qs = require("querystring"); -var http = require("http"); +const qs = require("querystring"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -13,15 +13,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/headers.js b/test/fixtures/output/node/native/headers.js index 21d094b48..a36dfc9c1 100644 --- a/test/fixtures/output/node/native/headers.js +++ b/test/fixtures/output/node/native/headers.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "GET", "hostname": "mockbin.com", "port": null, @@ -11,15 +11,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/https.js b/test/fixtures/output/node/native/https.js index 5dd0a44b6..e6f201a23 100644 --- a/test/fixtures/output/node/native/https.js +++ b/test/fixtures/output/node/native/https.js @@ -1,6 +1,6 @@ -var http = require("https"); +const http = require("https"); -var options = { +const options = { "method": "GET", "hostname": "mockbin.com", "port": null, @@ -8,15 +8,15 @@ var options = { "headers": {} }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/jsonObj-multiline.js b/test/fixtures/output/node/native/jsonObj-multiline.js index 2b9873b4a..2a07d1b18 100644 --- a/test/fixtures/output/node/native/jsonObj-multiline.js +++ b/test/fixtures/output/node/native/jsonObj-multiline.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/jsonObj-null-value.js b/test/fixtures/output/node/native/jsonObj-null-value.js index fa34ca357..be0dad1a0 100644 --- a/test/fixtures/output/node/native/jsonObj-null-value.js +++ b/test/fixtures/output/node/native/jsonObj-null-value.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/multipart-data.js b/test/fixtures/output/node/native/multipart-data.js index 61d527c1f..54e204013 100644 --- a/test/fixtures/output/node/native/multipart-data.js +++ b/test/fixtures/output/node/native/multipart-data.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/multipart-file.js b/test/fixtures/output/node/native/multipart-file.js index 17023a88d..23fa91116 100644 --- a/test/fixtures/output/node/native/multipart-file.js +++ b/test/fixtures/output/node/native/multipart-file.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/multipart-form-data.js b/test/fixtures/output/node/native/multipart-form-data.js index 55244c444..7d3aabd62 100644 --- a/test/fixtures/output/node/native/multipart-form-data.js +++ b/test/fixtures/output/node/native/multipart-form-data.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/query.js b/test/fixtures/output/node/native/query.js index c706f8217..c88b3a85a 100644 --- a/test/fixtures/output/node/native/query.js +++ b/test/fixtures/output/node/native/query.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "GET", "hostname": "mockbin.com", "port": null, @@ -8,15 +8,15 @@ var options = { "headers": {} }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/short.js b/test/fixtures/output/node/native/short.js index 1c25ff701..e661ca8c9 100644 --- a/test/fixtures/output/node/native/short.js +++ b/test/fixtures/output/node/native/short.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "GET", "hostname": "mockbin.com", "port": null, @@ -8,15 +8,15 @@ var options = { "headers": {} }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/native/text-plain.js b/test/fixtures/output/node/native/text-plain.js index f733d8149..3f737b843 100644 --- a/test/fixtures/output/node/native/text-plain.js +++ b/test/fixtures/output/node/native/text-plain.js @@ -1,6 +1,6 @@ -var http = require("http"); +const http = require("http"); -var options = { +const options = { "method": "POST", "hostname": "mockbin.com", "port": null, @@ -10,15 +10,15 @@ var options = { } }; -var req = http.request(options, function (res) { - var chunks = []; +const req = http.request(options, function (res) { + const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { - var body = Buffer.concat(chunks); + const body = Buffer.concat(chunks); console.log(body.toString()); }); }); diff --git a/test/fixtures/output/node/request/application-form-encoded.js b/test/fixtures/output/node/request/application-form-encoded.js index 54c6cb9d9..798c16876 100644 --- a/test/fixtures/output/node/request/application-form-encoded.js +++ b/test/fixtures/output/node/request/application-form-encoded.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'application/x-www-form-urlencoded'}, diff --git a/test/fixtures/output/node/request/application-json.js b/test/fixtures/output/node/request/application-json.js index 47ccb206a..af6ad0db3 100644 --- a/test/fixtures/output/node/request/application-json.js +++ b/test/fixtures/output/node/request/application-json.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'application/json'}, diff --git a/test/fixtures/output/node/request/cookies.js b/test/fixtures/output/node/request/cookies.js index a739c0cef..4d23a4d14 100644 --- a/test/fixtures/output/node/request/cookies.js +++ b/test/fixtures/output/node/request/cookies.js @@ -1,10 +1,10 @@ -var request = require("request"); +const request = require('request'); -var jar = request.jar(); -jar.setCookie(request.cookie("foo=bar"), "http://mockbin.com/har"); -jar.setCookie(request.cookie("bar=baz"), "http://mockbin.com/har"); +const jar = request.jar(); +jar.setCookie(request.cookie('foo=bar'), 'http://mockbin.com/har'); +jar.setCookie(request.cookie('bar=baz'), 'http://mockbin.com/har'); -var options = {method: 'POST', url: 'http://mockbin.com/har', jar: 'JAR'}; +const options = {method: 'POST', url: 'http://mockbin.com/har', jar: 'JAR'}; request(options, function (error, response, body) { if (error) throw new Error(error); diff --git a/test/fixtures/output/node/request/custom-method.js b/test/fixtures/output/node/request/custom-method.js index 947650559..3b2bff046 100644 --- a/test/fixtures/output/node/request/custom-method.js +++ b/test/fixtures/output/node/request/custom-method.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = {method: 'PROPFIND', url: 'http://mockbin.com/har'}; +const options = {method: 'PROPFIND', url: 'http://mockbin.com/har'}; request(options, function (error, response, body) { if (error) throw new Error(error); diff --git a/test/fixtures/output/node/request/full.js b/test/fixtures/output/node/request/full.js index b24ae4bb6..2dd1c8aa8 100644 --- a/test/fixtures/output/node/request/full.js +++ b/test/fixtures/output/node/request/full.js @@ -1,10 +1,10 @@ -var request = require("request"); +const request = require('request'); -var jar = request.jar(); -jar.setCookie(request.cookie("foo=bar"), "http://mockbin.com/har"); -jar.setCookie(request.cookie("bar=baz"), "http://mockbin.com/har"); +const jar = request.jar(); +jar.setCookie(request.cookie('foo=bar'), 'http://mockbin.com/har'); +jar.setCookie(request.cookie('bar=baz'), 'http://mockbin.com/har'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}, diff --git a/test/fixtures/output/node/request/headers.js b/test/fixtures/output/node/request/headers.js index 1e28531ff..a30e3fb4c 100644 --- a/test/fixtures/output/node/request/headers.js +++ b/test/fixtures/output/node/request/headers.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'GET', url: 'http://mockbin.com/har', headers: {accept: 'application/json', 'x-foo': 'Bar'} diff --git a/test/fixtures/output/node/request/https.js b/test/fixtures/output/node/request/https.js index d655d6835..b5e4390ed 100644 --- a/test/fixtures/output/node/request/https.js +++ b/test/fixtures/output/node/request/https.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = {method: 'GET', url: 'https://mockbin.com/har'}; +const options = {method: 'GET', url: 'https://mockbin.com/har'}; request(options, function (error, response, body) { if (error) throw new Error(error); diff --git a/test/fixtures/output/node/request/jsonObj-multiline.js b/test/fixtures/output/node/request/jsonObj-multiline.js index 3a0c3a8d0..b94df9ca5 100644 --- a/test/fixtures/output/node/request/jsonObj-multiline.js +++ b/test/fixtures/output/node/request/jsonObj-multiline.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'application/json'}, diff --git a/test/fixtures/output/node/request/jsonObj-null-value.js b/test/fixtures/output/node/request/jsonObj-null-value.js index a06dd028a..e12f19716 100644 --- a/test/fixtures/output/node/request/jsonObj-null-value.js +++ b/test/fixtures/output/node/request/jsonObj-null-value.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'application/json'}, diff --git a/test/fixtures/output/node/request/multipart-data.js b/test/fixtures/output/node/request/multipart-data.js index 2af993d89..84d816975 100644 --- a/test/fixtures/output/node/request/multipart-data.js +++ b/test/fixtures/output/node/request/multipart-data.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, diff --git a/test/fixtures/output/node/request/multipart-file.js b/test/fixtures/output/node/request/multipart-file.js index 0eae5dea1..61ca0c803 100644 --- a/test/fixtures/output/node/request/multipart-file.js +++ b/test/fixtures/output/node/request/multipart-file.js @@ -1,16 +1,16 @@ -var fs = require("fs"); -var request = require("request"); +const fs = require('fs'); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: { foo: { value: 'fs.createReadStream("test/fixtures/files/hello.txt")', - options: { - filename: 'test/fixtures/files/hello.txt', - contentType: 'text/plain' + options: { + filename: 'test/fixtures/files/hello.txt', + contentType: 'text/plain' } } } diff --git a/test/fixtures/output/node/request/multipart-form-data.js b/test/fixtures/output/node/request/multipart-form-data.js index 05ddf57dd..ad4b47049 100644 --- a/test/fixtures/output/node/request/multipart-form-data.js +++ b/test/fixtures/output/node/request/multipart-form-data.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, diff --git a/test/fixtures/output/node/request/query.js b/test/fixtures/output/node/request/query.js index dfcb2e763..9183840e5 100644 --- a/test/fixtures/output/node/request/query.js +++ b/test/fixtures/output/node/request/query.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'GET', url: 'http://mockbin.com/har', qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'} diff --git a/test/fixtures/output/node/request/short.js b/test/fixtures/output/node/request/short.js index 823ad63e2..4543d8a39 100644 --- a/test/fixtures/output/node/request/short.js +++ b/test/fixtures/output/node/request/short.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = {method: 'GET', url: 'http://mockbin.com/har'}; +const options = {method: 'GET', url: 'http://mockbin.com/har'}; request(options, function (error, response, body) { if (error) throw new Error(error); diff --git a/test/fixtures/output/node/request/text-plain.js b/test/fixtures/output/node/request/text-plain.js index bf646234e..e0bdcacfa 100644 --- a/test/fixtures/output/node/request/text-plain.js +++ b/test/fixtures/output/node/request/text-plain.js @@ -1,6 +1,6 @@ -var request = require("request"); +const request = require('request'); -var options = { +const options = { method: 'POST', url: 'http://mockbin.com/har', headers: {'content-type': 'text/plain'}, diff --git a/test/fixtures/output/node/unirest/application-form-encoded.js b/test/fixtures/output/node/unirest/application-form-encoded.js index 5f410768b..b8d2d15c8 100644 --- a/test/fixtures/output/node/unirest/application-form-encoded.js +++ b/test/fixtures/output/node/unirest/application-form-encoded.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "application/x-www-form-urlencoded" diff --git a/test/fixtures/output/node/unirest/application-json.js b/test/fixtures/output/node/unirest/application-json.js index ba8d8202a..c9ec7c013 100644 --- a/test/fixtures/output/node/unirest/application-json.js +++ b/test/fixtures/output/node/unirest/application-json.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "application/json" diff --git a/test/fixtures/output/node/unirest/cookies.js b/test/fixtures/output/node/unirest/cookies.js index 6d8d62d41..f14403091 100644 --- a/test/fixtures/output/node/unirest/cookies.js +++ b/test/fixtures/output/node/unirest/cookies.js @@ -1,13 +1,12 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); -var CookieJar = unirest.jar(); +const CookieJar = unirest.jar(); CookieJar.add("foo=bar","http://mockbin.com/har"); CookieJar.add("bar=baz","http://mockbin.com/har"); req.jar(CookieJar); - req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/custom-method.js b/test/fixtures/output/node/unirest/custom-method.js index 3e5bb5fa5..a2a931df2 100644 --- a/test/fixtures/output/node/unirest/custom-method.js +++ b/test/fixtures/output/node/unirest/custom-method.js @@ -1,7 +1,6 @@ -var unirest = require("unirest"); - -var req = unirest("PROPFIND", "http://mockbin.com/har"); +const unirest = require("unirest"); +const req = unirest("PROPFIND", "http://mockbin.com/har"); req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/full.js b/test/fixtures/output/node/unirest/full.js index a7b949626..2c638e450 100644 --- a/test/fixtures/output/node/unirest/full.js +++ b/test/fixtures/output/node/unirest/full.js @@ -1,8 +1,8 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); -var CookieJar = unirest.jar(); +const CookieJar = unirest.jar(); CookieJar.add("foo=bar","http://mockbin.com/har"); CookieJar.add("bar=baz","http://mockbin.com/har"); req.jar(CookieJar); diff --git a/test/fixtures/output/node/unirest/headers.js b/test/fixtures/output/node/unirest/headers.js index c36114767..a9e1939b2 100644 --- a/test/fixtures/output/node/unirest/headers.js +++ b/test/fixtures/output/node/unirest/headers.js @@ -1,13 +1,12 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("GET", "http://mockbin.com/har"); +const req = unirest("GET", "http://mockbin.com/har"); req.headers({ "accept": "application/json", "x-foo": "Bar" }); - req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/https.js b/test/fixtures/output/node/unirest/https.js index ec5faf337..52ae902f6 100644 --- a/test/fixtures/output/node/unirest/https.js +++ b/test/fixtures/output/node/unirest/https.js @@ -1,7 +1,6 @@ -var unirest = require("unirest"); - -var req = unirest("GET", "https://mockbin.com/har"); +const unirest = require("unirest"); +const req = unirest("GET", "https://mockbin.com/har"); req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/jsonObj-multiline.js b/test/fixtures/output/node/unirest/jsonObj-multiline.js index cafd8cd60..2044cfe6b 100644 --- a/test/fixtures/output/node/unirest/jsonObj-multiline.js +++ b/test/fixtures/output/node/unirest/jsonObj-multiline.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "application/json" diff --git a/test/fixtures/output/node/unirest/jsonObj-null-value.js b/test/fixtures/output/node/unirest/jsonObj-null-value.js index f898c6024..73ae28654 100644 --- a/test/fixtures/output/node/unirest/jsonObj-null-value.js +++ b/test/fixtures/output/node/unirest/jsonObj-null-value.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "application/json" diff --git a/test/fixtures/output/node/unirest/multipart-data.js b/test/fixtures/output/node/unirest/multipart-data.js index bdf8da515..dafb13368 100644 --- a/test/fixtures/output/node/unirest/multipart-data.js +++ b/test/fixtures/output/node/unirest/multipart-data.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "multipart/form-data; boundary=---011000010111000001101001" diff --git a/test/fixtures/output/node/unirest/multipart-file.js b/test/fixtures/output/node/unirest/multipart-file.js index c8efe878a..d18272287 100644 --- a/test/fixtures/output/node/unirest/multipart-file.js +++ b/test/fixtures/output/node/unirest/multipart-file.js @@ -1,7 +1,7 @@ -var fs = require("fs"); -var unirest = require("unirest"); +const fs = require("fs"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "multipart/form-data; boundary=---011000010111000001101001" diff --git a/test/fixtures/output/node/unirest/multipart-form-data.js b/test/fixtures/output/node/unirest/multipart-form-data.js index ea358a350..b13563c5a 100644 --- a/test/fixtures/output/node/unirest/multipart-form-data.js +++ b/test/fixtures/output/node/unirest/multipart-form-data.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "multipart/form-data; boundary=---011000010111000001101001" diff --git a/test/fixtures/output/node/unirest/query.js b/test/fixtures/output/node/unirest/query.js index 464e2f941..2fc6e74d8 100644 --- a/test/fixtures/output/node/unirest/query.js +++ b/test/fixtures/output/node/unirest/query.js @@ -1,6 +1,6 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("GET", "http://mockbin.com/har"); +const req = unirest("GET", "http://mockbin.com/har"); req.query({ "foo": [ @@ -11,7 +11,6 @@ req.query({ "key": "value" }); - req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/short.js b/test/fixtures/output/node/unirest/short.js index 95a778b52..666a38b54 100644 --- a/test/fixtures/output/node/unirest/short.js +++ b/test/fixtures/output/node/unirest/short.js @@ -1,7 +1,6 @@ -var unirest = require("unirest"); - -var req = unirest("GET", "http://mockbin.com/har"); +const unirest = require("unirest"); +const req = unirest("GET", "http://mockbin.com/har"); req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/fixtures/output/node/unirest/text-plain.js b/test/fixtures/output/node/unirest/text-plain.js index bffa7ee03..aa25d2db1 100644 --- a/test/fixtures/output/node/unirest/text-plain.js +++ b/test/fixtures/output/node/unirest/text-plain.js @@ -1,12 +1,12 @@ -var unirest = require("unirest"); +const unirest = require("unirest"); -var req = unirest("POST", "http://mockbin.com/har"); +const req = unirest("POST", "http://mockbin.com/har"); req.headers({ "content-type": "text/plain" }); - req.send("Hello World"); +req.send("Hello World"); req.end(function (res) { if (res.error) throw new Error(res.error); diff --git a/test/targets/javascript/xhr.js b/test/targets/javascript/xhr.js index 38c8b73d5..4e7ec3df7 100644 --- a/test/targets/javascript/xhr.js +++ b/test/targets/javascript/xhr.js @@ -11,6 +11,6 @@ module.exports = function (HTTPSnippet, fixtures) { }) result.should.be.a.String() - result.replace(/\n/g, '').should.eql('var data = null;var xhr = new XMLHttpRequest();xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); }});xhr.open("GET", "http://mockbin.com/har");xhr.send(data);') + result.replace(/\n/g, '').should.eql('const data = null;const xhr = new XMLHttpRequest();xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); }});xhr.open("GET", "http://mockbin.com/har");xhr.send(data);') }) } From 6a814abe78af59849c07cdaf8cd51ef266d71c52 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 7 Aug 2020 12:50:51 -0700 Subject: [PATCH 094/181] feat: updating php targets to use `[]` instead of `array()` --- src/targets/php/curl.js | 8 ++++---- src/targets/php/helpers.js | 4 ++-- .../php/curl/application-form-encoded.php | 8 ++++---- .../output/php/curl/application-json.php | 8 ++++---- test/fixtures/output/php/curl/cookies.php | 4 ++-- .../output/php/curl/custom-method.php | 4 ++-- test/fixtures/output/php/curl/full.php | 8 ++++---- test/fixtures/output/php/curl/headers.php | 8 ++++---- test/fixtures/output/php/curl/https.php | 4 ++-- .../output/php/curl/jsonObj-multiline.php | 8 ++++---- .../output/php/curl/jsonObj-null-value.php | 8 ++++---- .../output/php/curl/multipart-data.php | 8 ++++---- .../output/php/curl/multipart-file.php | 8 ++++---- .../output/php/curl/multipart-form-data.php | 8 ++++---- test/fixtures/output/php/curl/query.php | 4 ++-- test/fixtures/output/php/curl/short.php | 4 ++-- test/fixtures/output/php/curl/text-plain.php | 8 ++++---- .../php/http1/application-form-encoded.php | 8 ++++---- .../output/php/http1/application-json.php | 4 ++-- test/fixtures/output/php/http1/cookies.php | 4 ++-- test/fixtures/output/php/http1/full.php | 20 +++++++++---------- test/fixtures/output/php/http1/headers.php | 4 ++-- .../output/php/http1/jsonObj-multiline.php | 4 ++-- .../output/php/http1/jsonObj-null-value.php | 4 ++-- .../output/php/http1/multipart-data.php | 16 +++++++-------- .../output/php/http1/multipart-file.php | 16 +++++++-------- .../output/php/http1/multipart-form-data.php | 14 ++++++------- test/fixtures/output/php/http1/query.php | 8 ++++---- test/fixtures/output/php/http1/text-plain.php | 4 ++-- .../php/http2/application-form-encoded.php | 8 ++++---- .../output/php/http2/application-json.php | 4 ++-- test/fixtures/output/php/http2/cookies.php | 4 ++-- test/fixtures/output/php/http2/full.php | 20 +++++++++---------- test/fixtures/output/php/http2/headers.php | 4 ++-- .../output/php/http2/jsonObj-multiline.php | 4 ++-- .../output/php/http2/jsonObj-null-value.php | 4 ++-- .../output/php/http2/multipart-data.php | 8 ++++---- .../output/php/http2/multipart-file.php | 8 ++++---- .../output/php/http2/multipart-form-data.php | 4 ++-- test/fixtures/output/php/http2/query.php | 8 ++++---- test/fixtures/output/php/http2/text-plain.php | 4 ++-- 41 files changed, 149 insertions(+), 149 deletions(-) diff --git a/src/targets/php/curl.js b/src/targets/php/curl.js index e9a70324a..eebb82afa 100644 --- a/src/targets/php/curl.js +++ b/src/targets/php/curl.js @@ -72,7 +72,7 @@ module.exports = function (source, options) { value: source.postData ? source.postData.text : undefined }] - code.push('curl_setopt_array($curl, array(') + code.push('curl_setopt_array($curl, [') var curlopts = new CodeBuilder(opts.indent, '\n' + opts.indent) @@ -97,13 +97,13 @@ module.exports = function (source, options) { }) if (headers.length) { - curlopts.push('CURLOPT_HTTPHEADER => array(') + curlopts.push('CURLOPT_HTTPHEADER => [') .push(1, headers.join(',\n' + opts.indent + opts.indent)) - .push('),') + .push('],') } code.push(1, curlopts.join()) - .push('));') + .push(']);') .blank() .push('$response = curl_exec($curl);') .push('$err = curl_error($curl);') diff --git a/src/targets/php/helpers.js b/src/targets/php/helpers.js index 7f0ba3e52..3f964b647 100644 --- a/src/targets/php/helpers.js +++ b/src/targets/php/helpers.js @@ -31,7 +31,7 @@ var convert = function (obj, indent, lastIndent) { result.push(convert(item, indent + indent, indent)) }) - result = 'array(\n' + indent + result.join(',\n' + indent) + '\n' + lastIndent + ')' + result = '[\n' + indent + result.join(',\n' + indent) + '\n' + lastIndent + ']' break case '[object Object]': @@ -41,7 +41,7 @@ var convert = function (obj, indent, lastIndent) { result.push(convert(i, indent) + ' => ' + convert(obj[i], indent + indent, indent)) } } - result = 'array(\n' + indent + result.join(',\n' + indent) + '\n' + lastIndent + ')' + result = '[\n' + indent + result.join(',\n' + indent) + '\n' + lastIndent + ']' break default: diff --git a/test/fixtures/output/php/curl/application-form-encoded.php b/test/fixtures/output/php/curl/application-form-encoded.php index ca76dc0af..0892dd3ed 100644 --- a/test/fixtures/output/php/curl/application-form-encoded.php +++ b/test/fixtures/output/php/curl/application-form-encoded.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "foo=bar&hello=world", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: application/x-www-form-urlencoded" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/application-json.php b/test/fixtures/output/php/curl/application-json.php index 595bcd167..8a0f0c1e4 100644 --- a/test/fixtures/output/php/curl/application-json.php +++ b/test/fixtures/output/php/curl/application-json.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: application/json" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/cookies.php b/test/fixtures/output/php/curl/cookies.php index 1f6ab0c63..28104300e 100644 --- a/test/fixtures/output/php/curl/cookies.php +++ b/test/fixtures/output/php/curl/cookies.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,7 +11,7 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_COOKIE => "foo=bar; bar=baz", -)); +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/custom-method.php b/test/fixtures/output/php/curl/custom-method.php index b12fac445..08aa59732 100644 --- a/test/fixtures/output/php/curl/custom-method.php +++ b/test/fixtures/output/php/curl/custom-method.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -10,7 +10,7 @@ CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PROPFIND", -)); +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/full.php b/test/fixtures/output/php/curl/full.php index 4208fd484..6f342b6dd 100644 --- a/test/fixtures/output/php/curl/full.php +++ b/test/fixtures/output/php/curl/full.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -12,11 +12,11 @@ CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "foo=bar", CURLOPT_COOKIE => "foo=bar; bar=baz", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "accept: application/json", "content-type: application/x-www-form-urlencoded" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/headers.php b/test/fixtures/output/php/curl/headers.php index 1e080520d..4e8be5acf 100644 --- a/test/fixtures/output/php/curl/headers.php +++ b/test/fixtures/output/php/curl/headers.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -10,11 +10,11 @@ CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "accept: application/json", "x-foo: Bar" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/https.php b/test/fixtures/output/php/curl/https.php index 01b00b21d..7d97476ee 100644 --- a/test/fixtures/output/php/curl/https.php +++ b/test/fixtures/output/php/curl/https.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "https://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -10,7 +10,7 @@ CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", -)); +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/jsonObj-multiline.php b/test/fixtures/output/php/curl/jsonObj-multiline.php index a05b726be..19f772744 100644 --- a/test/fixtures/output/php/curl/jsonObj-multiline.php +++ b/test/fixtures/output/php/curl/jsonObj-multiline.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n \"foo\": \"bar\"\n}", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: application/json" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/jsonObj-null-value.php b/test/fixtures/output/php/curl/jsonObj-null-value.php index 91194a4a1..99a228991 100644 --- a/test/fixtures/output/php/curl/jsonObj-null-value.php +++ b/test/fixtures/output/php/curl/jsonObj-null-value.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\"foo\":null}", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: application/json" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/multipart-data.php b/test/fixtures/output/php/curl/multipart-data.php index 944a4c374..d6ce07fe3 100644 --- a/test/fixtures/output/php/curl/multipart-data.php +++ b/test/fixtures/output/php/curl/multipart-data.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: multipart/form-data; boundary=---011000010111000001101001" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/multipart-file.php b/test/fixtures/output/php/curl/multipart-file.php index 160b27705..e238b8edf 100644 --- a/test/fixtures/output/php/curl/multipart-file.php +++ b/test/fixtures/output/php/curl/multipart-file.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: multipart/form-data; boundary=---011000010111000001101001" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/multipart-form-data.php b/test/fixtures/output/php/curl/multipart-form-data.php index f815f6c56..ccce63ac5 100644 --- a/test/fixtures/output/php/curl/multipart-form-data.php +++ b/test/fixtures/output/php/curl/multipart-form-data.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: multipart/form-data; boundary=---011000010111000001101001" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/query.php b/test/fixtures/output/php/curl/query.php index d85fc7815..158e8511b 100644 --- a/test/fixtures/output/php/curl/query.php +++ b/test/fixtures/output/php/curl/query.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -10,7 +10,7 @@ CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", -)); +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/short.php b/test/fixtures/output/php/curl/short.php index c67fb150f..9188e25cc 100644 --- a/test/fixtures/output/php/curl/short.php +++ b/test/fixtures/output/php/curl/short.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -10,7 +10,7 @@ CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", -)); +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/curl/text-plain.php b/test/fixtures/output/php/curl/text-plain.php index 6306b9213..8fbb09dff 100644 --- a/test/fixtures/output/php/curl/text-plain.php +++ b/test/fixtures/output/php/curl/text-plain.php @@ -2,7 +2,7 @@ $curl = curl_init(); -curl_setopt_array($curl, array( +curl_setopt_array($curl, [ CURLOPT_URL => "http://mockbin.com/har", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", @@ -11,10 +11,10 @@ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "Hello World", - CURLOPT_HTTPHEADER => array( + CURLOPT_HTTPHEADER => [ "content-type: text/plain" - ), -)); + ], +]); $response = curl_exec($curl); $err = curl_error($curl); diff --git a/test/fixtures/output/php/http1/application-form-encoded.php b/test/fixtures/output/php/http1/application-form-encoded.php index 32d4112bd..44079b8a0 100644 --- a/test/fixtures/output/php/http1/application-form-encoded.php +++ b/test/fixtures/output/php/http1/application-form-encoded.php @@ -4,15 +4,15 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/x-www-form-urlencoded' -)); +]); $request->setContentType('application/x-www-form-urlencoded'); -$request->setPostFields(array( +$request->setPostFields([ 'foo' => 'bar', 'hello' => 'world' -)); +]); try { $response = $request->send(); diff --git a/test/fixtures/output/php/http1/application-json.php b/test/fixtures/output/php/http1/application-json.php index 2abde643d..15e736556 100644 --- a/test/fixtures/output/php/http1/application-json.php +++ b/test/fixtures/output/php/http1/application-json.php @@ -4,9 +4,9 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $request->setBody('{"number":1,"string":"f\\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":{}}],"boolean":false}'); diff --git a/test/fixtures/output/php/http1/cookies.php b/test/fixtures/output/php/http1/cookies.php index 1dfcf609b..032a4bb4f 100644 --- a/test/fixtures/output/php/http1/cookies.php +++ b/test/fixtures/output/php/http1/cookies.php @@ -4,10 +4,10 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setCookies(array( +$request->setCookies([ 'bar' => 'baz', 'foo' => 'bar' -)); +]); try { $response = $request->send(); diff --git a/test/fixtures/output/php/http1/full.php b/test/fixtures/output/php/http1/full.php index d40b63f07..f94481137 100644 --- a/test/fixtures/output/php/http1/full.php +++ b/test/fixtures/output/php/http1/full.php @@ -4,29 +4,29 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setQueryData(array( - 'foo' => array( +$request->setQueryData([ + 'foo' => [ 'bar', 'baz' - ), + ], 'baz' => 'abc', 'key' => 'value' -)); +]); -$request->setHeaders(array( +$request->setHeaders([ 'accept' => 'application/json', 'content-type' => 'application/x-www-form-urlencoded' -)); +]); -$request->setCookies(array( +$request->setCookies([ 'bar' => 'baz', 'foo' => 'bar' -)); +]); $request->setContentType('application/x-www-form-urlencoded'); -$request->setPostFields(array( +$request->setPostFields([ 'foo' => 'bar' -)); +]); try { $response = $request->send(); diff --git a/test/fixtures/output/php/http1/headers.php b/test/fixtures/output/php/http1/headers.php index 67e516286..8f819c70f 100644 --- a/test/fixtures/output/php/http1/headers.php +++ b/test/fixtures/output/php/http1/headers.php @@ -4,10 +4,10 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_GET); -$request->setHeaders(array( +$request->setHeaders([ 'accept' => 'application/json', 'x-foo' => 'Bar' -)); +]); try { $response = $request->send(); diff --git a/test/fixtures/output/php/http1/jsonObj-multiline.php b/test/fixtures/output/php/http1/jsonObj-multiline.php index a72bb2f79..88cf3d607 100644 --- a/test/fixtures/output/php/http1/jsonObj-multiline.php +++ b/test/fixtures/output/php/http1/jsonObj-multiline.php @@ -4,9 +4,9 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $request->setBody('{ "foo": "bar" diff --git a/test/fixtures/output/php/http1/jsonObj-null-value.php b/test/fixtures/output/php/http1/jsonObj-null-value.php index 216298351..1b359a36e 100644 --- a/test/fixtures/output/php/http1/jsonObj-null-value.php +++ b/test/fixtures/output/php/http1/jsonObj-null-value.php @@ -4,9 +4,9 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $request->setBody('{"foo":null}'); diff --git a/test/fixtures/output/php/http1/multipart-data.php b/test/fixtures/output/php/http1/multipart-data.php index d5e20ac4d..d93f59b65 100644 --- a/test/fixtures/output/php/http1/multipart-data.php +++ b/test/fixtures/output/php/http1/multipart-data.php @@ -4,16 +4,16 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' -)); +]); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - -Hello World ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + +Hello World +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/php/http1/multipart-file.php b/test/fixtures/output/php/http1/multipart-file.php index 721be8237..b76557918 100644 --- a/test/fixtures/output/php/http1/multipart-file.php +++ b/test/fixtures/output/php/http1/multipart-file.php @@ -4,16 +4,16 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' -)); +]); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo"; filename="hello.txt" -Content-Type: text/plain - - ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo"; filename="hello.txt" +Content-Type: text/plain + + +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/php/http1/multipart-form-data.php b/test/fixtures/output/php/http1/multipart-form-data.php index c78c84f8e..654e68e45 100644 --- a/test/fixtures/output/php/http1/multipart-form-data.php +++ b/test/fixtures/output/php/http1/multipart-form-data.php @@ -4,15 +4,15 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' -)); +]); -$request->setBody('-----011000010111000001101001 -Content-Disposition: form-data; name="foo" - -bar ------011000010111000001101001-- +$request->setBody('-----011000010111000001101001 +Content-Disposition: form-data; name="foo" + +bar +-----011000010111000001101001-- '); try { diff --git a/test/fixtures/output/php/http1/query.php b/test/fixtures/output/php/http1/query.php index ec8a949b5..76b3953c0 100644 --- a/test/fixtures/output/php/http1/query.php +++ b/test/fixtures/output/php/http1/query.php @@ -4,14 +4,14 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_GET); -$request->setQueryData(array( - 'foo' => array( +$request->setQueryData([ + 'foo' => [ 'bar', 'baz' - ), + ], 'baz' => 'abc', 'key' => 'value' -)); +]); try { $response = $request->send(); diff --git a/test/fixtures/output/php/http1/text-plain.php b/test/fixtures/output/php/http1/text-plain.php index 1e8938682..102f2fbda 100644 --- a/test/fixtures/output/php/http1/text-plain.php +++ b/test/fixtures/output/php/http1/text-plain.php @@ -4,9 +4,9 @@ $request->setUrl('http://mockbin.com/har'); $request->setMethod(HTTP_METH_POST); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'text/plain' -)); +]); $request->setBody('Hello World'); diff --git a/test/fixtures/output/php/http2/application-form-encoded.php b/test/fixtures/output/php/http2/application-form-encoded.php index 573ecbcbb..97a029089 100644 --- a/test/fixtures/output/php/http2/application-form-encoded.php +++ b/test/fixtures/output/php/http2/application-form-encoded.php @@ -4,18 +4,18 @@ $request = new http\Client\Request; $body = new http\Message\Body; -$body->append(new http\QueryString(array( +$body->append(new http\QueryString([ 'foo' => 'bar', 'hello' => 'world' -))); +])); $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); $request->setBody($body); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/x-www-form-urlencoded' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/application-json.php b/test/fixtures/output/php/http2/application-json.php index f4305c773..908bbaddf 100644 --- a/test/fixtures/output/php/http2/application-json.php +++ b/test/fixtures/output/php/http2/application-json.php @@ -10,9 +10,9 @@ $request->setRequestMethod('POST'); $request->setBody($body); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/cookies.php b/test/fixtures/output/php/http2/cookies.php index 0502c6d66..bf9a73665 100644 --- a/test/fixtures/output/php/http2/cookies.php +++ b/test/fixtures/output/php/http2/cookies.php @@ -6,10 +6,10 @@ $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); -$client->setCookies(array( +$client->setCookies([ 'bar' => 'baz', 'foo' => 'bar' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/full.php b/test/fixtures/output/php/http2/full.php index fd598c978..d90cfd671 100644 --- a/test/fixtures/output/php/http2/full.php +++ b/test/fixtures/output/php/http2/full.php @@ -4,33 +4,33 @@ $request = new http\Client\Request; $body = new http\Message\Body; -$body->append(new http\QueryString(array( +$body->append(new http\QueryString([ 'foo' => 'bar' -))); +])); $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); $request->setBody($body); -$request->setQuery(new http\QueryString(array( - 'foo' => array( +$request->setQuery(new http\QueryString([ + 'foo' => [ 'bar', 'baz' - ), + ], 'baz' => 'abc', 'key' => 'value' -))); +])); -$request->setHeaders(array( +$request->setHeaders([ 'accept' => 'application/json', 'content-type' => 'application/x-www-form-urlencoded' -)); +]); -$client->setCookies(array( +$client->setCookies([ 'bar' => 'baz', 'foo' => 'bar' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/headers.php b/test/fixtures/output/php/http2/headers.php index a15443a63..712a0275f 100644 --- a/test/fixtures/output/php/http2/headers.php +++ b/test/fixtures/output/php/http2/headers.php @@ -5,10 +5,10 @@ $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('GET'); -$request->setHeaders(array( +$request->setHeaders([ 'accept' => 'application/json', 'x-foo' => 'Bar' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/jsonObj-multiline.php b/test/fixtures/output/php/http2/jsonObj-multiline.php index 022459e39..d0ea37380 100644 --- a/test/fixtures/output/php/http2/jsonObj-multiline.php +++ b/test/fixtures/output/php/http2/jsonObj-multiline.php @@ -12,9 +12,9 @@ $request->setRequestMethod('POST'); $request->setBody($body); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/jsonObj-null-value.php b/test/fixtures/output/php/http2/jsonObj-null-value.php index d122998e8..70f50a59c 100644 --- a/test/fixtures/output/php/http2/jsonObj-null-value.php +++ b/test/fixtures/output/php/http2/jsonObj-null-value.php @@ -10,9 +10,9 @@ $request->setRequestMethod('POST'); $request->setBody($body); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'application/json' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/multipart-data.php b/test/fixtures/output/php/http2/multipart-data.php index 8ec5acf35..b2cc65dfb 100644 --- a/test/fixtures/output/php/http2/multipart-data.php +++ b/test/fixtures/output/php/http2/multipart-data.php @@ -4,14 +4,14 @@ $request = new http\Client\Request; $body = new http\Message\Body; -$body->addForm(NULL, array( - array( +$body->addForm(null, [ + [ 'name' => 'foo', 'type' => 'text/plain', 'file' => 'hello.txt', 'data' => 'Hello World' - ) -)); + ] +]); $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); diff --git a/test/fixtures/output/php/http2/multipart-file.php b/test/fixtures/output/php/http2/multipart-file.php index 2fbb7db52..ff5d55333 100644 --- a/test/fixtures/output/php/http2/multipart-file.php +++ b/test/fixtures/output/php/http2/multipart-file.php @@ -4,14 +4,14 @@ $request = new http\Client\Request; $body = new http\Message\Body; -$body->addForm(NULL, array( - array( +$body->addForm(null, [ + [ 'name' => 'foo', 'type' => 'text/plain', 'file' => 'test/fixtures/files/hello.txt', 'data' => null - ) -)); + ] +]); $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); diff --git a/test/fixtures/output/php/http2/multipart-form-data.php b/test/fixtures/output/php/http2/multipart-form-data.php index ba2799d53..e76639d9d 100644 --- a/test/fixtures/output/php/http2/multipart-form-data.php +++ b/test/fixtures/output/php/http2/multipart-form-data.php @@ -4,9 +4,9 @@ $request = new http\Client\Request; $body = new http\Message\Body; -$body->addForm(array( +$body->addForm([ 'foo' => 'bar' -), NULL); +], null); $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('POST'); diff --git a/test/fixtures/output/php/http2/query.php b/test/fixtures/output/php/http2/query.php index effd119a5..fd2b45025 100644 --- a/test/fixtures/output/php/http2/query.php +++ b/test/fixtures/output/php/http2/query.php @@ -5,14 +5,14 @@ $request->setRequestUrl('http://mockbin.com/har'); $request->setRequestMethod('GET'); -$request->setQuery(new http\QueryString(array( - 'foo' => array( +$request->setQuery(new http\QueryString([ + 'foo' => [ 'bar', 'baz' - ), + ], 'baz' => 'abc', 'key' => 'value' -))); +])); $client->enqueue($request)->send(); $response = $client->getResponse(); diff --git a/test/fixtures/output/php/http2/text-plain.php b/test/fixtures/output/php/http2/text-plain.php index 099e9c5a3..1669d62a5 100644 --- a/test/fixtures/output/php/http2/text-plain.php +++ b/test/fixtures/output/php/http2/text-plain.php @@ -10,9 +10,9 @@ $request->setRequestMethod('POST'); $request->setBody($body); -$request->setHeaders(array( +$request->setHeaders([ 'content-type' => 'text/plain' -)); +]); $client->enqueue($request)->send(); $response = $client->getResponse(); From e0263275057f265713000a16e45c939862f034b4 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 11 Aug 2020 18:44:42 +0530 Subject: [PATCH 095/181] Add Node Axios target --- src/targets/node/axios.js | 73 +++++++++++++++++++++++++++++++++++++++ src/targets/node/index.js | 3 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 src/targets/node/axios.js diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js new file mode 100644 index 000000000..a32c4a03d --- /dev/null +++ b/src/targets/node/axios.js @@ -0,0 +1,73 @@ +/** + * @description + * HTTP code snippet generator for Javascript & Node.js using Axios. + * + * @author + * @rohit-gohri + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ +'use strict' + +var util = require('util') +var stringifyObject = require('stringify-object') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + code.push('var axios = require("axios").default;') + .blank() + + var reqOpts = { + method: source.method, + url: source.url + } + + if (Object.keys(source.queryObj).length) { + reqOpts.params = source.queryObj + } + + if (Object.keys(source.allHeaders).length) { + reqOpts.headers = source.allHeaders + } + + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + reqOpts.data = source.postData.paramsObj + break + + case 'application/json': + if (source.postData.jsonObj) { + reqOpts.data = source.postData.jsonObj + } + break + + default: + if (source.postData.text) { + reqOpts.data = source.postData.text + } + } + + code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + .blank() + + code.push(util.format('axios.request(options).then(%s', 'function (response) {')) + .push(1, 'console.log(response.data);') + .push('}).catch(%s', 'function (error) {') + .push(1, 'console.error(error);') + .push('});') + + return code.join() +} + +module.exports.info = { + key: 'axios', + title: 'Axios', + link: 'https://github.com/axios/axios', + description: 'Promise based HTTP client for the browser and node.js' +} diff --git a/src/targets/node/index.js b/src/targets/node/index.js index 1e4d9e352..35aaebdf4 100644 --- a/src/targets/node/index.js +++ b/src/targets/node/index.js @@ -10,5 +10,6 @@ module.exports = { native: require('./native'), request: require('./request'), - unirest: require('./unirest') + unirest: require('./unirest'), + axios: require('./axios') } From f022d05bac546591b377b47adadc78fa9851b68b Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 11 Aug 2020 19:10:06 +0530 Subject: [PATCH 096/181] Add Javascript Axios target --- src/targets/javascript/axios.js | 89 +++++++++++++++++++++++++++++++++ src/targets/javascript/index.js | 3 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/targets/javascript/axios.js diff --git a/src/targets/javascript/axios.js b/src/targets/javascript/axios.js new file mode 100644 index 000000000..4fe9a8bed --- /dev/null +++ b/src/targets/javascript/axios.js @@ -0,0 +1,89 @@ +/** + * @description + * HTTP code snippet generator for Javascript & Node.js using Axios. + * + * @author + * @rohit-gohri + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ +'use strict' + +var util = require('util') +var stringifyObject = require('stringify-object') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + code.push('import axios from "axios";') + .blank() + + var reqOpts = { + method: source.method, + url: source.url + } + + if (Object.keys(source.queryObj).length) { + reqOpts.params = source.queryObj + } + + if (Object.keys(source.allHeaders).length) { + reqOpts.headers = source.allHeaders + } + + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + reqOpts.data = source.postData.paramsObj + break + + case 'application/json': + if (source.postData.jsonObj) { + reqOpts.data = source.postData.jsonObj + } + break + + case 'multipart/form-data': + code.push('const form = new FormData();') + + source.postData.params.forEach(function (param) { + code.push( + 'form.append(%s, %s);', + JSON.stringify(param.name), + JSON.stringify(param.value || param.fileName || '') + ) + }) + + code.blank() + + reqOpts.data = '[form]' + break + + default: + if (source.postData.text) { + reqOpts.data = source.postData.text + } + } + + code.push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }).replace('"[form]"', 'form')) + .blank() + + code.push(util.format('axios.request(options).then(%s', 'function (response) {')) + .push(1, 'console.log(response.data);') + .push('}).catch(%s', 'function (error) {') + .push(1, 'console.error(error);') + .push('});') + + return code.join() +} + +module.exports.info = { + key: 'axios', + title: 'Axios', + link: 'https://github.com/axios/axios', + description: 'Promise based HTTP client for the browser and node.js' +} diff --git a/src/targets/javascript/index.js b/src/targets/javascript/index.js index 27863663d..195c5f663 100644 --- a/src/targets/javascript/index.js +++ b/src/targets/javascript/index.js @@ -10,5 +10,6 @@ module.exports = { jquery: require('./jquery'), fetch: require('./fetch'), - xhr: require('./xhr') + xhr: require('./xhr'), + axios: require('./axios') } From 4946569f452f8f4d91de082992b006adb701c0d3 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Wed, 12 Aug 2020 10:40:09 +0530 Subject: [PATCH 097/181] fix: add check for existing clients --- src/index.js | 2 ++ test/targets.js | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 815593611..64067f608 100644 --- a/src/index.js +++ b/src/index.js @@ -242,6 +242,8 @@ module.exports.addTargetClient = function (target, client) { throw new Error('The supplied custom target client must contain an `info` object.') } else if (!('key' in client.info) || !('title' in client.info)) { throw new Error('The supplied custom target client must have an `info` object with a `key` and `title` property.') + } else if (targets[target].hasOwnProperty(client.info.key)) { + throw new Error('The supplied custom target client already exists, please use a different key') } targets[target][client.info.key] = client diff --git a/test/targets.js b/test/targets.js index 675293540..6e3e0284a 100644 --- a/test/targets.js +++ b/test/targets.js @@ -143,7 +143,7 @@ describe('Custom targets', function () { customClient = { ...targets.node.request, info: { - key: 'axios', + key: 'axios-test', title: 'Axios', link: 'https://www.npmjs.com/package/axios', description: 'Promise based HTTP client for the browser and node.js' @@ -151,6 +151,12 @@ describe('Custom targets', function () { } }) + it('should throw if client already exists', function () { + (function () { + HTTPSnippet.addTargetClient('node', {...customClient, info: {...customClient.info, key: 'axios'}}) + }).should.throw(Error) + }) + it("should throw if the client's target does not exist", function () { (function () { HTTPSnippet.addTargetClient('node.js', customClient) From 40cde9dc136be39dc203f306ec80f6a7db97d111 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Wed, 12 Aug 2020 10:40:50 +0530 Subject: [PATCH 098/181] Add tests for axios clients --- test/fixtures/available-targets.json | 12 +++++++++++ .../axios/application-form-encoded.js | 14 +++++++++++++ .../javascript/axios/application-json.js | 21 +++++++++++++++++++ .../output/javascript/axios/cookies.js | 13 ++++++++++++ .../output/javascript/axios/custom-method.js | 9 ++++++++ test/fixtures/output/javascript/axios/full.js | 19 +++++++++++++++++ .../output/javascript/axios/headers.js | 13 ++++++++++++ .../fixtures/output/javascript/axios/https.js | 9 ++++++++ .../javascript/axios/jsonObj-multiline.js | 14 +++++++++++++ .../javascript/axios/jsonObj-null-value.js | 14 +++++++++++++ .../output/javascript/axios/multipart-data.js | 17 +++++++++++++++ .../output/javascript/axios/multipart-file.js | 17 +++++++++++++++ .../javascript/axios/multipart-form-data.js | 17 +++++++++++++++ .../fixtures/output/javascript/axios/query.js | 13 ++++++++++++ .../fixtures/output/javascript/axios/short.js | 9 ++++++++ .../output/javascript/axios/text-plain.js | 14 +++++++++++++ .../node/axios/application-form-encoded.js | 14 +++++++++++++ .../output/node/axios/application-json.js | 21 +++++++++++++++++++ test/fixtures/output/node/axios/cookies.js | 13 ++++++++++++ .../output/node/axios/custom-method.js | 9 ++++++++ test/fixtures/output/node/axios/full.js | 19 +++++++++++++++++ test/fixtures/output/node/axios/headers.js | 13 ++++++++++++ test/fixtures/output/node/axios/https.js | 9 ++++++++ .../output/node/axios/jsonObj-multiline.js | 14 +++++++++++++ .../output/node/axios/jsonObj-null-value.js | 14 +++++++++++++ .../output/node/axios/multipart-data.js | 14 +++++++++++++ .../output/node/axios/multipart-file.js | 14 +++++++++++++ .../output/node/axios/multipart-form-data.js | 14 +++++++++++++ test/fixtures/output/node/axios/query.js | 13 ++++++++++++ test/fixtures/output/node/axios/short.js | 9 ++++++++ test/fixtures/output/node/axios/text-plain.js | 14 +++++++++++++ test/targets/javascript/axios.js | 3 +++ test/targets/node/axios.js | 3 +++ 33 files changed, 435 insertions(+) create mode 100644 test/fixtures/output/javascript/axios/application-form-encoded.js create mode 100644 test/fixtures/output/javascript/axios/application-json.js create mode 100644 test/fixtures/output/javascript/axios/cookies.js create mode 100644 test/fixtures/output/javascript/axios/custom-method.js create mode 100644 test/fixtures/output/javascript/axios/full.js create mode 100644 test/fixtures/output/javascript/axios/headers.js create mode 100644 test/fixtures/output/javascript/axios/https.js create mode 100644 test/fixtures/output/javascript/axios/jsonObj-multiline.js create mode 100644 test/fixtures/output/javascript/axios/jsonObj-null-value.js create mode 100644 test/fixtures/output/javascript/axios/multipart-data.js create mode 100644 test/fixtures/output/javascript/axios/multipart-file.js create mode 100644 test/fixtures/output/javascript/axios/multipart-form-data.js create mode 100644 test/fixtures/output/javascript/axios/query.js create mode 100644 test/fixtures/output/javascript/axios/short.js create mode 100644 test/fixtures/output/javascript/axios/text-plain.js create mode 100644 test/fixtures/output/node/axios/application-form-encoded.js create mode 100644 test/fixtures/output/node/axios/application-json.js create mode 100644 test/fixtures/output/node/axios/cookies.js create mode 100644 test/fixtures/output/node/axios/custom-method.js create mode 100644 test/fixtures/output/node/axios/full.js create mode 100644 test/fixtures/output/node/axios/headers.js create mode 100644 test/fixtures/output/node/axios/https.js create mode 100644 test/fixtures/output/node/axios/jsonObj-multiline.js create mode 100644 test/fixtures/output/node/axios/jsonObj-null-value.js create mode 100644 test/fixtures/output/node/axios/multipart-data.js create mode 100644 test/fixtures/output/node/axios/multipart-file.js create mode 100644 test/fixtures/output/node/axios/multipart-form-data.js create mode 100644 test/fixtures/output/node/axios/query.js create mode 100644 test/fixtures/output/node/axios/short.js create mode 100644 test/fixtures/output/node/axios/text-plain.js create mode 100644 test/targets/javascript/axios.js create mode 100644 test/targets/node/axios.js diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index 261c48160..3d806fafe 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -48,6 +48,12 @@ "title": "Unirest", "link": "http://unirest.io/nodejs.html", "description": "Lightweight HTTP Request Client Library" + }, + { + "key": "axios", + "title": "Axios", + "link": "https://github.com/axios/axios", + "description": "Promise based HTTP client for the browser and node.js" } ] }, @@ -74,6 +80,12 @@ "title": "XMLHttpRequest", "link": "https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest", "description": "W3C Standard API that provides scripted client functionality" + }, + { + "key": "axios", + "title": "Axios", + "link": "https://github.com/axios/axios", + "description": "Promise based HTTP client for the browser and node.js" } ] }, diff --git a/test/fixtures/output/javascript/axios/application-form-encoded.js b/test/fixtures/output/javascript/axios/application-form-encoded.js new file mode 100644 index 000000000..db254b59f --- /dev/null +++ b/test/fixtures/output/javascript/axios/application-form-encoded.js @@ -0,0 +1,14 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/x-www-form-urlencoded'}, + data: {foo: 'bar', hello: 'world'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/application-json.js b/test/fixtures/output/javascript/axios/application-json.js new file mode 100644 index 000000000..d84ad11f3 --- /dev/null +++ b/test/fixtures/output/javascript/axios/application-json.js @@ -0,0 +1,21 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: { + number: 1, + string: 'f"oo', + arr: [1, 2, 3], + nested: {a: 'b'}, + arr_mix: [1, 'a', {arr_mix_nested: {}}], + boolean: false + } +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/cookies.js b/test/fixtures/output/javascript/axios/cookies.js new file mode 100644 index 000000000..ef57ed14b --- /dev/null +++ b/test/fixtures/output/javascript/axios/cookies.js @@ -0,0 +1,13 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {cookie: 'foo=bar; bar=baz'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/custom-method.js b/test/fixtures/output/javascript/axios/custom-method.js new file mode 100644 index 000000000..c6b75135b --- /dev/null +++ b/test/fixtures/output/javascript/axios/custom-method.js @@ -0,0 +1,9 @@ +import axios from "axios"; + +const options = {method: 'PROPFIND', url: 'http://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/full.js b/test/fixtures/output/javascript/axios/full.js new file mode 100644 index 000000000..61f25dd9c --- /dev/null +++ b/test/fixtures/output/javascript/axios/full.js @@ -0,0 +1,19 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + params: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}, + headers: { + cookie: 'foo=bar; bar=baz', + accept: 'application/json', + 'content-type': 'application/x-www-form-urlencoded' + }, + data: {foo: 'bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/headers.js b/test/fixtures/output/javascript/axios/headers.js new file mode 100644 index 000000000..1db8b5b72 --- /dev/null +++ b/test/fixtures/output/javascript/axios/headers.js @@ -0,0 +1,13 @@ +import axios from "axios"; + +const options = { + method: 'GET', + url: 'http://mockbin.com/har', + headers: {accept: 'application/json', 'x-foo': 'Bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/https.js b/test/fixtures/output/javascript/axios/https.js new file mode 100644 index 000000000..342998c5a --- /dev/null +++ b/test/fixtures/output/javascript/axios/https.js @@ -0,0 +1,9 @@ +import axios from "axios"; + +const options = {method: 'GET', url: 'https://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/jsonObj-multiline.js b/test/fixtures/output/javascript/axios/jsonObj-multiline.js new file mode 100644 index 000000000..82196992f --- /dev/null +++ b/test/fixtures/output/javascript/axios/jsonObj-multiline.js @@ -0,0 +1,14 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: {foo: 'bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/jsonObj-null-value.js b/test/fixtures/output/javascript/axios/jsonObj-null-value.js new file mode 100644 index 000000000..eb4da09bb --- /dev/null +++ b/test/fixtures/output/javascript/axios/jsonObj-null-value.js @@ -0,0 +1,14 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: {foo: null} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/multipart-data.js b/test/fixtures/output/javascript/axios/multipart-data.js new file mode 100644 index 000000000..5890ea396 --- /dev/null +++ b/test/fixtures/output/javascript/axios/multipart-data.js @@ -0,0 +1,17 @@ +import axios from "axios"; + +const form = new FormData(); +form.append("foo", "Hello World"); + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '[form]' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/multipart-file.js b/test/fixtures/output/javascript/axios/multipart-file.js new file mode 100644 index 000000000..5bc048bdb --- /dev/null +++ b/test/fixtures/output/javascript/axios/multipart-file.js @@ -0,0 +1,17 @@ +import axios from "axios"; + +const form = new FormData(); +form.append("foo", "test/fixtures/files/hello.txt"); + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '[form]' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/multipart-form-data.js b/test/fixtures/output/javascript/axios/multipart-form-data.js new file mode 100644 index 000000000..6c2658cc8 --- /dev/null +++ b/test/fixtures/output/javascript/axios/multipart-form-data.js @@ -0,0 +1,17 @@ +import axios from "axios"; + +const form = new FormData(); +form.append("foo", "bar"); + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '[form]' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/query.js b/test/fixtures/output/javascript/axios/query.js new file mode 100644 index 000000000..1de276679 --- /dev/null +++ b/test/fixtures/output/javascript/axios/query.js @@ -0,0 +1,13 @@ +import axios from "axios"; + +const options = { + method: 'GET', + url: 'http://mockbin.com/har', + params: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/short.js b/test/fixtures/output/javascript/axios/short.js new file mode 100644 index 000000000..d35c630a9 --- /dev/null +++ b/test/fixtures/output/javascript/axios/short.js @@ -0,0 +1,9 @@ +import axios from "axios"; + +const options = {method: 'GET', url: 'http://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/axios/text-plain.js b/test/fixtures/output/javascript/axios/text-plain.js new file mode 100644 index 000000000..a199f3570 --- /dev/null +++ b/test/fixtures/output/javascript/axios/text-plain.js @@ -0,0 +1,14 @@ +import axios from "axios"; + +const options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'text/plain'}, + data: 'Hello World' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/application-form-encoded.js b/test/fixtures/output/node/axios/application-form-encoded.js new file mode 100644 index 000000000..1d35a60cb --- /dev/null +++ b/test/fixtures/output/node/axios/application-form-encoded.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/x-www-form-urlencoded'}, + data: {foo: 'bar', hello: 'world'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/application-json.js b/test/fixtures/output/node/axios/application-json.js new file mode 100644 index 000000000..277a20c55 --- /dev/null +++ b/test/fixtures/output/node/axios/application-json.js @@ -0,0 +1,21 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: { + number: 1, + string: 'f"oo', + arr: [1, 2, 3], + nested: {a: 'b'}, + arr_mix: [1, 'a', {arr_mix_nested: {}}], + boolean: false + } +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/cookies.js b/test/fixtures/output/node/axios/cookies.js new file mode 100644 index 000000000..4011d2cd4 --- /dev/null +++ b/test/fixtures/output/node/axios/cookies.js @@ -0,0 +1,13 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {cookie: 'foo=bar; bar=baz'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/custom-method.js b/test/fixtures/output/node/axios/custom-method.js new file mode 100644 index 000000000..931f34d14 --- /dev/null +++ b/test/fixtures/output/node/axios/custom-method.js @@ -0,0 +1,9 @@ +var axios = require("axios").default; + +var options = {method: 'PROPFIND', url: 'http://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/full.js b/test/fixtures/output/node/axios/full.js new file mode 100644 index 000000000..9a5a70ff2 --- /dev/null +++ b/test/fixtures/output/node/axios/full.js @@ -0,0 +1,19 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + params: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}, + headers: { + cookie: 'foo=bar; bar=baz', + accept: 'application/json', + 'content-type': 'application/x-www-form-urlencoded' + }, + data: {foo: 'bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/headers.js b/test/fixtures/output/node/axios/headers.js new file mode 100644 index 000000000..2dbe470d1 --- /dev/null +++ b/test/fixtures/output/node/axios/headers.js @@ -0,0 +1,13 @@ +var axios = require("axios").default; + +var options = { + method: 'GET', + url: 'http://mockbin.com/har', + headers: {accept: 'application/json', 'x-foo': 'Bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/https.js b/test/fixtures/output/node/axios/https.js new file mode 100644 index 000000000..9c4782877 --- /dev/null +++ b/test/fixtures/output/node/axios/https.js @@ -0,0 +1,9 @@ +var axios = require("axios").default; + +var options = {method: 'GET', url: 'https://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/jsonObj-multiline.js b/test/fixtures/output/node/axios/jsonObj-multiline.js new file mode 100644 index 000000000..d31f23370 --- /dev/null +++ b/test/fixtures/output/node/axios/jsonObj-multiline.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: {foo: 'bar'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/jsonObj-null-value.js b/test/fixtures/output/node/axios/jsonObj-null-value.js new file mode 100644 index 000000000..04efe1d9f --- /dev/null +++ b/test/fixtures/output/node/axios/jsonObj-null-value.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'application/json'}, + data: {foo: null} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/multipart-data.js b/test/fixtures/output/node/axios/multipart-data.js new file mode 100644 index 000000000..691141cb7 --- /dev/null +++ b/test/fixtures/output/node/axios/multipart-data.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="foo"; filename="hello.txt"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/multipart-file.js b/test/fixtures/output/node/axios/multipart-file.js new file mode 100644 index 000000000..41d487c5a --- /dev/null +++ b/test/fixtures/output/node/axios/multipart-file.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="foo"; filename="hello.txt"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/multipart-form-data.js b/test/fixtures/output/node/axios/multipart-form-data.js new file mode 100644 index 000000000..c529bacc4 --- /dev/null +++ b/test/fixtures/output/node/axios/multipart-form-data.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="foo"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/query.js b/test/fixtures/output/node/axios/query.js new file mode 100644 index 000000000..d190362c2 --- /dev/null +++ b/test/fixtures/output/node/axios/query.js @@ -0,0 +1,13 @@ +var axios = require("axios").default; + +var options = { + method: 'GET', + url: 'http://mockbin.com/har', + params: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/short.js b/test/fixtures/output/node/axios/short.js new file mode 100644 index 000000000..e2f516913 --- /dev/null +++ b/test/fixtures/output/node/axios/short.js @@ -0,0 +1,9 @@ +var axios = require("axios").default; + +var options = {method: 'GET', url: 'http://mockbin.com/har'}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/axios/text-plain.js b/test/fixtures/output/node/axios/text-plain.js new file mode 100644 index 000000000..3e46d3922 --- /dev/null +++ b/test/fixtures/output/node/axios/text-plain.js @@ -0,0 +1,14 @@ +var axios = require("axios").default; + +var options = { + method: 'POST', + url: 'http://mockbin.com/har', + headers: {'content-type': 'text/plain'}, + data: 'Hello World' +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/targets/javascript/axios.js b/test/targets/javascript/axios.js new file mode 100644 index 000000000..b77cc77e7 --- /dev/null +++ b/test/targets/javascript/axios.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = function (snippet, fixtures) {} diff --git a/test/targets/node/axios.js b/test/targets/node/axios.js new file mode 100644 index 000000000..b77cc77e7 --- /dev/null +++ b/test/targets/node/axios.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = function (snippet, fixtures) {} From 6dbb2b70575fec160c417a74d49ab3fc613947bd Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Mon, 17 Aug 2020 11:10:58 -0700 Subject: [PATCH 099/181] fix: using `null` instead of `NULL` --- src/targets/php/http2.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/targets/php/http2.js b/src/targets/php/http2.js index 9c3afc28e..9f48e45a8 100644 --- a/src/targets/php/http2.js +++ b/src/targets/php/http2.js @@ -60,8 +60,8 @@ module.exports = function (source, options) { code.push('$body = new http\\Message\\Body;') .push('$body->addForm(%s, %s);', - Object.keys(fields).length ? helpers.convert(fields, opts.indent) : 'NULL', - files.length ? helpers.convert(files, opts.indent) : 'NULL' + Object.keys(fields).length ? helpers.convert(fields, opts.indent) : 'null', + files.length ? helpers.convert(files, opts.indent) : 'null' ) // remove the contentType header From 1f13fb7194a3db31e4f9fa87e6c530aeb13af5cb Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Mon, 17 Aug 2020 14:39:59 -0700 Subject: [PATCH 100/181] chore(package.json) Bumping package version for release --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f56dc1d2a..9565990c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "httpsnippet", - "version": "1.21.0", + "version": "1.22.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b96294034..484b7f440 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.21.0", + "version": "1.22.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From d1fa29b700a2a55474ae4a8f190f225e16ea611e Mon Sep 17 00:00:00 2001 From: Opender Singh Date: Thu, 20 Aug 2020 12:47:58 +1200 Subject: [PATCH 101/181] Remove ds store --- test/fixtures/output/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/fixtures/output/.DS_Store diff --git a/test/fixtures/output/.DS_Store b/test/fixtures/output/.DS_Store deleted file mode 100644 index 63b728b450e912f8fa3bc98e04a9fc67ff4fcf03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~K?=e^3`G;|qTr@Wm$UHz-e4$t0xzH-2qF~(yPl)_lL>;=wTS#c@+X-IrEk$` zL`3`haV^q`NDDWWm4%5Z@&JhP8{Tj3ht;B=96)--iS@&7q~Le>xC+1b{XuyJ79K1T}(S!u1*@b}wNMJ%>Uh~fG|1JE}{6A@7N&+PC zX9Tp_>^41KD(=>|*R%RQs Date: Thu, 20 Aug 2020 15:06:55 -0700 Subject: [PATCH 102/181] style: addressing some feedback from pr review --- src/helpers/form-data.js | 2 ++ src/index.js | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/helpers/form-data.js b/src/helpers/form-data.js index c43469fb5..6a9e917aa 100644 --- a/src/helpers/form-data.js +++ b/src/helpers/form-data.js @@ -22,6 +22,8 @@ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. + * + * Extracted from https://github.com/node-fetch/node-fetch/blob/64c5c296a0250b852010746c76144cb9e14698d9/src/utils/form-data.js */ const carriage = '\r\n' diff --git a/src/index.js b/src/index.js index bf85fc7d1..c943e7adb 100644 --- a/src/index.js +++ b/src/index.js @@ -5,6 +5,7 @@ var debug = require('debug')('httpsnippet') var es = require('event-stream') var MultiPartForm = require('form-data') +var FormDataPolyfill = require('form-data/lib/form_data') var qs = require('querystring') var reducer = require('./helpers/reducer') var targets = require('./targets') @@ -122,7 +123,7 @@ HTTPSnippet.prototype.prepare = function (request) { // This hack is pretty awful but it's the only way we can use this library in the browser as if we code this // against just the native FormData object, we can't polyfill that back into Node because Blob and File objects, // which something like `formdata-polyfill` requires, don't exist there. - const isNativeFormData = (typeof form[Symbol.iterator] === 'function') + const isNativeFormData = !(form instanceof FormDataPolyfill) // easter egg const boundary = '---011000010111000001101001' @@ -131,15 +132,19 @@ HTTPSnippet.prototype.prepare = function (request) { } request.postData.params.forEach(function (param) { + const name = param.name + const value = param.value || '' + const filename = param.fileName || null + if (isNativeFormData) { - if (isBlob(param.value)) { - form.append(param.name, param.value || '', param.fileName || null) + if (isBlob(value)) { + form.append(name, value, filename) } else { - form.append(param.name, param.value || '') + form.append(name, value) } } else { - form.append(param.name, param.value || '', { - filename: param.fileName || null, + form.append(name, value, { + filename: filename, contentType: param.contentType || null }) } From b7f2da1aaf641544ba90c095d82c937bc1f762b8 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 16:56:44 +0300 Subject: [PATCH 103/181] WIP --- src/targets/rapidql/index.js | 12 ++++++ src/targets/rapidql/rapidql.js | 73 ++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/targets/rapidql/index.js create mode 100644 src/targets/rapidql/rapidql.js diff --git a/src/targets/rapidql/index.js b/src/targets/rapidql/index.js new file mode 100644 index 000000000..80fb16b6a --- /dev/null +++ b/src/targets/rapidql/index.js @@ -0,0 +1,12 @@ +'use strict' + +module.exports = { + info: { + key: 'rapidql', + title: 'RapidQL', + extname: '.js', + default: 'rapidql' + }, + + rapidql: require('./rapidql'), +} diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js new file mode 100644 index 000000000..39edbb844 --- /dev/null +++ b/src/targets/rapidql/rapidql.js @@ -0,0 +1,73 @@ +/** + * @description + * HTTP code snippet generator for Javascript & Node.js using Axios. + * + * @author + * @rohit-gohri + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ +'use strict' + +var util = require('util') +var stringifyObject = require('stringify-object') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + code.push('var axios = require("axios").default;') + .blank() + + var reqOpts = { + method: source.method, + url: source.url + } + + if (Object.keys(source.queryObj).length) { + reqOpts.params = source.queryObj + } + + if (Object.keys(source.allHeaders).length) { + reqOpts.headers = source.allHeaders + } + + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + reqOpts.data = source.postData.paramsObj + break + + case 'application/json': + if (source.postData.jsonObj) { + reqOpts.data = source.postData.jsonObj + } + break + + default: + if (source.postData.text) { + reqOpts.data = source.postData.text + } + } + + code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + .blank() + + code.push(util.format('axios.request(options).then(%s', 'function (response) {')) + .push(1, 'console.log(response.data);') + .push('}).catch(%s', 'function (error) {') + .push(1, 'console.error(error);') + .push('});') + + return code.join() +} + +module.exports.info = { + key: 'rapidql', + title: 'RapidQL', + link: 'https://github.com/RapidAPI/rapidql', + description: '' +} From 648572eaf107c2f90409f0161aa63f3ea90b7dbb Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 16:59:46 +0300 Subject: [PATCH 104/181] Added rapidql to supported langauges --- src/targets/index.js | 1 + src/targets/rapidql/rapidql.js | 9 --------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/targets/index.js b/src/targets/index.js index dd90b4874..09ed49e07 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -16,6 +16,7 @@ module.exports = { powershell: require('./powershell'), python: require('./python'), r: require('./r'), + rapidql: require('./rapidql'), ruby: require('./ruby'), shell: require('./shell'), swift: require('./swift') diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index 39edbb844..81e456a6b 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -1,12 +1,3 @@ -/** - * @description - * HTTP code snippet generator for Javascript & Node.js using Axios. - * - * @author - * @rohit-gohri - * - * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. - */ 'use strict' var util = require('util') From 6f558b51b85519103e3c43358120330521f89f41 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 17:07:09 +0300 Subject: [PATCH 105/181] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 79d88a087..3416e3046 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.0", + "version": "1.22.1", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 3793d4ef12d6208683b5f42c959a7fee23eb1ed0 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 18:21:35 +0300 Subject: [PATCH 106/181] WIP --- src/targets/rapidql/rapidql.js | 69 +++++++++++++++++----------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index 81e456a6b..7d6a4f7ee 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -11,49 +11,50 @@ module.exports = function (source, options) { var code = new CodeBuilder(opts.indent) - code.push('var axios = require("axios").default;') + code.push('// For more information about RapidQL, checkout docs.rapidql.com!') + .push('') .blank() + code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); + code.push("const RapidQL = require('RapidQL');"); + code.push('let rql = new RapidQL({'); + code.push('});'); + code.push(''); + code.push('rql.query(`{'); + code.push(` Http.${(source.method || '').toLowerCase()}(`); + code.push(` url:"${helpers.quote(source.fullUrl)}"`); - var reqOpts = { - method: source.method, - url: source.url + if (source.headers.length) { + lines.push(` headers : {\n${Object.entries(source.allHeaders).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); } - if (Object.keys(source.queryObj).length) { - reqOpts.params = source.queryObj - } - - if (Object.keys(source.allHeaders).length) { - reqOpts.headers = source.allHeaders - } - - switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - reqOpts.data = source.postData.paramsObj - break - - case 'application/json': - if (source.postData.jsonObj) { - reqOpts.data = source.postData.jsonObj - } - break + // if (parameters.length) { + // appendComma(lines.length - 1); + // lines.push(` form : {\n${parameters.join(",\n")}\n }`); + // } - default: - if (source.postData.text) { - reqOpts.data = source.postData.text - } + if (source?.postData?.text) { + code.push(` json: true,`) + code.push(` body: ${source?.postData?.text}`) } - code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) - .blank() + // builder.forPayload((payload) => { + // appendComma(lines.length - 1); + // if (payload.format === "JSON") { + // lines.push(` json : true,`); + // lines.push(` body : ${helpers.escapePayload(payload, true)}`); + // } else { + // lines.push(` body : "${helpers.escapePayload(payload)}"`); + // } + // }); - code.push(util.format('axios.request(options).then(%s', 'function (response) {')) - .push(1, 'console.log(response.data);') - .push('}).catch(%s', 'function (error) {') - .push(1, 'console.error(error);') - .push('});') + code.push(" ) {"); + code.push(""); + code.push(" }"); + code.push("}`)"); + code.push(".then((res) => console.log(res))"); + code.push(".catch((err) => console.log(err));"); - return code.join() + return code.join(); } module.exports.info = { From 70d8bd731ef12a9152cc388f63448928ce03df16 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 18:55:50 +0300 Subject: [PATCH 107/181] Implemented rapidql --- src/targets/rapidql/rapidql.js | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index 7d6a4f7ee..abb2d0061 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -27,26 +27,16 @@ module.exports = function (source, options) { lines.push(` headers : {\n${Object.entries(source.allHeaders).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); } - // if (parameters.length) { - // appendComma(lines.length - 1); - // lines.push(` form : {\n${parameters.join(",\n")}\n }`); - // } - if (source?.postData?.text) { + if (source?.postData?.jsonObj) { code.push(` json: true,`) code.push(` body: ${source?.postData?.text}`) + } else if(source?.postData?.params) { + code.push(` form : {\n${Object.entries(source.postData.params).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); + } else { + code.push(` body : ${source?.postData?.text}`); } - // builder.forPayload((payload) => { - // appendComma(lines.length - 1); - // if (payload.format === "JSON") { - // lines.push(` json : true,`); - // lines.push(` body : ${helpers.escapePayload(payload, true)}`); - // } else { - // lines.push(` body : "${helpers.escapePayload(payload)}"`); - // } - // }); - code.push(" ) {"); code.push(""); code.push(" }"); From 2b1d3b79c2c1c15f0c062dca849ef8915466e586 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 19:32:30 +0300 Subject: [PATCH 108/181] Fix Typo --- src/targets/rapidql/rapidql.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index abb2d0061..fbacb40c1 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -24,7 +24,7 @@ module.exports = function (source, options) { code.push(` url:"${helpers.quote(source.fullUrl)}"`); if (source.headers.length) { - lines.push(` headers : {\n${Object.entries(source.allHeaders).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); + code.push(` headers : {\n${Object.entries(source.allHeaders).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); } From c6703cefb698c4916e59663cb379d6d6d5c97442 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 19:33:07 +0300 Subject: [PATCH 109/181] Fix typo --- src/targets/rapidql/rapidql.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index fbacb40c1..c0592ee6e 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -11,9 +11,9 @@ module.exports = function (source, options) { var code = new CodeBuilder(opts.indent) - code.push('// For more information about RapidQL, checkout docs.rapidql.com!') - .push('') - .blank() + code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); + code.push(''); + code.blank(); code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); code.push("const RapidQL = require('RapidQL');"); code.push('let rql = new RapidQL({'); From ff8363e500406f2f9906ebcfd1bd41be4201630f Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 19:35:35 +0300 Subject: [PATCH 110/181] Remove null chain --- src/targets/rapidql/rapidql.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index c0592ee6e..140927596 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -28,13 +28,13 @@ module.exports = function (source, options) { } - if (source?.postData?.jsonObj) { + if (source.postData.jsonObj) { code.push(` json: true,`) - code.push(` body: ${source?.postData?.text}`) - } else if(source?.postData?.params) { + code.push(` body: ${source.postData.text}`) + } else if(source.postData.params) { code.push(` form : {\n${Object.entries(source.postData.params).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); } else { - code.push(` body : ${source?.postData?.text}`); + code.push(` body : ${source.postData.text}`); } code.push(" ) {"); From 5bd79e8d3fe5c0dccedbe2117f21e9c550811c33 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 19:46:45 +0300 Subject: [PATCH 111/181] Fix Typo --- src/targets/rapidql/rapidql.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index 140927596..3ca21447e 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -14,14 +14,13 @@ module.exports = function (source, options) { code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); code.push(''); code.blank(); - code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); code.push("const RapidQL = require('RapidQL');"); code.push('let rql = new RapidQL({'); code.push('});'); code.push(''); code.push('rql.query(`{'); code.push(` Http.${(source.method || '').toLowerCase()}(`); - code.push(` url:"${helpers.quote(source.fullUrl)}"`); + code.push(` url:"${source.fullUrl}"`); if (source.headers.length) { code.push(` headers : {\n${Object.entries(source.allHeaders).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); From f8fa87194d4baded64e7423c27c8a19fdff62b64 Mon Sep 17 00:00:00 2001 From: Omri Peleg Date: Wed, 16 Sep 2020 19:52:14 +0300 Subject: [PATCH 112/181] Fix Typo --- src/targets/rapidql/rapidql.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index 3ca21447e..bd4b79867 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -31,7 +31,7 @@ module.exports = function (source, options) { code.push(` json: true,`) code.push(` body: ${source.postData.text}`) } else if(source.postData.params) { - code.push(` form : {\n${Object.entries(source.postData.params).map(([key, val]) => `"${key}":"${val}"`).join(",\n")}\n }`); + code.push(` form : {\n${source.postData.params.map(param => `"${param.name}":"${param.value}"`).join(",\n")}\n }`); } else { code.push(` body : ${source.postData.text}`); } From 6afa231ec6bb30f47b19e08c7d4887637eef5d8e Mon Sep 17 00:00:00 2001 From: Julien Giovaresco Date: Thu, 17 Sep 2020 23:38:43 +0200 Subject: [PATCH 113/181] fix: don't convert header names to lowercase (#178) * test(headers): failing test for case sensitive headers * fix: convert header names to lowercase only for HTTP/2 request Closes #74 Co-authored-by: Darren Jennings --- src/index.js | 9 +++++++-- test/index.js | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index c943e7adb..8ec9394ac 100644 --- a/src/index.js +++ b/src/index.js @@ -73,9 +73,14 @@ HTTPSnippet.prototype.prepare = function (request) { // construct headers objects if (request.headers && request.headers.length) { - // loweCase header keys + var http2VersionRegex = /^HTTP\/2/ request.headersObj = request.headers.reduce(function (headers, header) { - headers[header.name.toLowerCase()] = header.value + var headerName = header.name + if (request.httpVersion.match(http2VersionRegex)) { + headerName = headerName.toLowerCase() + } + + headers[headerName] = header.value return headers }, {}) } diff --git a/test/index.js b/test/index.js index 6974b4d3a..29ba5cf56 100644 --- a/test/index.js +++ b/test/index.js @@ -166,6 +166,44 @@ describe('HTTPSnippet', function () { done() }) + it('should add "headersObj" to source object case insensitive when HTTP/1.0', function (done) { + var fixture = Object.assign({}, fixtures.requests.headers) + fixture.httpVersion = 'HTTP/1.1' + fixture.headers = fixture.headers.concat({ + name: 'Kong-Admin-Token', + value: 'Hunter1' + }) + + var req = new HTTPSnippet(fixture).requests[0] + req.headersObj.should.be.an.Object() + req.headersObj.should.eql({ + 'Kong-Admin-Token': 'Hunter1', + 'accept': 'application/json', + 'x-foo': 'Bar' + }) + + done() + }) + + it('should add "headersObj" to source object in lowercase when HTTP/2.x', function (done) { + var fixture = Object.assign({}, fixtures.requests.headers) + fixture.httpVersion = 'HTTP/2' + fixture.headers = fixture.headers.concat({ + name: 'Kong-Admin-Token', + value: 'Hunter1' + }) + + var req = new HTTPSnippet(fixture).requests[0] + req.headersObj.should.be.an.Object() + req.headersObj.should.eql({ + 'kong-admin-token': 'Hunter1', + 'accept': 'application/json', + 'x-foo': 'Bar' + }) + + done() + }) + it('should modify orignal url to strip query string', function (done) { var req = new HTTPSnippet(fixtures.requests.query).requests[0] From 2f7789c92169363be2cd4b4eff496b20966e43d0 Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Fri, 25 Sep 2020 10:17:40 -0700 Subject: [PATCH 114/181] chore(package.json) bump version in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 484b7f440..7b551fad9 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.0", + "version": "1.23.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 55249d79dab76ef51966a9401c2c2e70d5c05852 Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Fri, 25 Sep 2020 10:25:58 -0700 Subject: [PATCH 115/181] chore(package.json) update lock file --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 9565990c3..4c68fc315 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "httpsnippet", - "version": "1.22.0", + "version": "1.23.0", "lockfileVersion": 1, "requires": true, "dependencies": { From e2fa9107ca2c51fa1507f29fff50b11def6bc483 Mon Sep 17 00:00:00 2001 From: Julien Giovaresco Date: Tue, 29 Sep 2020 00:29:09 +0200 Subject: [PATCH 116/181] Encode to JSON body for js-fetch target (#179) Closes #158 --- src/targets/javascript/fetch.js | 2 +- .../javascript/fetch/application-json.js | 21 +------------------ .../javascript/fetch/jsonObj-multiline.js | 4 +--- .../javascript/fetch/jsonObj-null-value.js | 4 +--- 4 files changed, 4 insertions(+), 27 deletions(-) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index 7c7452203..3099d7cfa 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -40,7 +40,7 @@ module.exports = function (source, options) { break case 'application/json': - options.body = source.postData.jsonObj + options.body = JSON.stringify(source.postData.jsonObj) break case 'multipart/form-data': diff --git a/test/fixtures/output/javascript/fetch/application-json.js b/test/fixtures/output/javascript/fetch/application-json.js index a99089450..22ef64a12 100644 --- a/test/fixtures/output/javascript/fetch/application-json.js +++ b/test/fixtures/output/javascript/fetch/application-json.js @@ -3,26 +3,7 @@ fetch("http://mockbin.com/har", { "headers": { "content-type": "application/json" }, - "body": { - "number": 1, - "string": "f\"oo", - "arr": [ - 1, - 2, - 3 - ], - "nested": { - "a": "b" - }, - "arr_mix": [ - 1, - "a", - { - "arr_mix_nested": {} - } - ], - "boolean": false - } + "body": "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" }) .then(response => { console.log(response); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js index 6b08eea5b..e9bac2bb9 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js @@ -3,9 +3,7 @@ fetch("http://mockbin.com/har", { "headers": { "content-type": "application/json" }, - "body": { - "foo": "bar" - } + "body": "{\"foo\":\"bar\"}" }) .then(response => { console.log(response); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js index 84cca034d..90d15d0e1 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js @@ -3,9 +3,7 @@ fetch("http://mockbin.com/har", { "headers": { "content-type": "application/json" }, - "body": { - "foo": null - } + "body": "{\"foo\":null}" }) .then(response => { console.log(response); From 225d9dcdfbb1355cc40f3278dc61ae8df38bb790 Mon Sep 17 00:00:00 2001 From: Hiren Shah Date: Thu, 1 Oct 2020 20:40:14 +0200 Subject: [PATCH 117/181] Adding node-fetch target (#180) @hirenoble is the original author (#154). I've just resolve conflicts and fix tests that were failing. @develohpanda noticed that JSON body should be stringified (https://github.com/node-fetch/node-fetch#post-with-json) And looking at fetch options (https://github.com/node-fetch/node-fetch#fetch-options) I noticed that `json` attribute does not exist, so I've removed it. Co-authored-by: Julien Giovaresco --- src/targets/node/fetch.js | 111 ++++++++++++++++++ src/targets/node/index.js | 3 +- test/fixtures/available-targets.json | 6 + .../node/fetch/application-form-encoded.js | 14 +++ .../output/node/fetch/application-json.js | 14 +++ test/fixtures/output/node/fetch/cookies.js | 10 ++ .../output/node/fetch/custom-method.js | 10 ++ test/fixtures/output/node/fetch/full.js | 19 +++ test/fixtures/output/node/fetch/headers.js | 10 ++ test/fixtures/output/node/fetch/https.js | 10 ++ .../output/node/fetch/jsonObj-multiline.js | 14 +++ .../output/node/fetch/jsonObj-null-value.js | 14 +++ .../output/node/fetch/multipart-data.js | 20 ++++ .../output/node/fetch/multipart-file.js | 20 ++++ .../output/node/fetch/multipart-form-data.js | 18 +++ test/fixtures/output/node/fetch/query.js | 10 ++ test/fixtures/output/node/fetch/short.js | 10 ++ test/fixtures/output/node/fetch/text-plain.js | 10 ++ test/targets/node/fetch.js | 3 + 19 files changed, 325 insertions(+), 1 deletion(-) create mode 100644 src/targets/node/fetch.js create mode 100644 test/fixtures/output/node/fetch/application-form-encoded.js create mode 100644 test/fixtures/output/node/fetch/application-json.js create mode 100644 test/fixtures/output/node/fetch/cookies.js create mode 100644 test/fixtures/output/node/fetch/custom-method.js create mode 100644 test/fixtures/output/node/fetch/full.js create mode 100644 test/fixtures/output/node/fetch/headers.js create mode 100644 test/fixtures/output/node/fetch/https.js create mode 100644 test/fixtures/output/node/fetch/jsonObj-multiline.js create mode 100644 test/fixtures/output/node/fetch/jsonObj-null-value.js create mode 100644 test/fixtures/output/node/fetch/multipart-data.js create mode 100644 test/fixtures/output/node/fetch/multipart-file.js create mode 100644 test/fixtures/output/node/fetch/multipart-form-data.js create mode 100644 test/fixtures/output/node/fetch/query.js create mode 100644 test/fixtures/output/node/fetch/short.js create mode 100644 test/fixtures/output/node/fetch/text-plain.js create mode 100644 test/targets/node/fetch.js diff --git a/src/targets/node/fetch.js b/src/targets/node/fetch.js new file mode 100644 index 000000000..ac8e1c7aa --- /dev/null +++ b/src/targets/node/fetch.js @@ -0,0 +1,111 @@ +/** + * @description + * HTTP code snippet generator for Node.js using node-fetch. + * + * @author + * @hirenoble + * + * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. + */ + +'use strict' + +var stringifyObject = require('stringify-object') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ' + }, options) + + var includeFS = false + var code = new CodeBuilder(opts.indent) + + code.push('const fetch = require(\'node-fetch\');') + var url = source.url + var reqOpts = { + method: source.method + } + + if (Object.keys(source.queryObj).length) { + reqOpts.qs = source.queryObj + } + + if (Object.keys(source.headersObj).length) { + reqOpts.headers = source.headersObj + } + + switch (source.postData.mimeType) { + case 'application/x-www-form-urlencoded': + reqOpts.body = source.postData.paramsObj + break + + case 'application/json': + if (source.postData.jsonObj) { + reqOpts.body = JSON.stringify(source.postData.jsonObj) + } + break + + case 'multipart/form-data': + code.unshift('const FormData = require(\'form-data\');') + code.push('const formData = new FormData();') + source.postData.params.forEach(function (param) { + if (!param.fileName && !param.fileName && !param.contentType) { + code.push('formData.append(\'' + param.name + '\',\'' + param.value + '\');') + return + } + + if (param.fileName) { + includeFS = true + code.blank() + code.push('formData.append(\'' + param.name + '\', fs.createReadStream(\'' + param.fileName + '\'));') + } + }) + break + + default: + if (source.postData.text) { + reqOpts.body = source.postData.text + } + } + + // construct cookies argument + if (source.cookies.length) { + var cookies = '' + source.cookies.forEach(function (cookie) { + cookies = cookies + encodeURIComponent(cookie.name) + '=' + encodeURIComponent(cookie.value) + '; ' + }) + if (reqOpts.headers) { + reqOpts.headers.cookie = cookies + } else { + reqOpts.headers = {} + reqOpts.headers.cookie = cookies + } + } + code.blank() + code.push('let url = \'' + url + '\';') + .blank() + code.push('let options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + .blank() + + if (includeFS) { + code.unshift('const fs = require(\'fs\');') + } + if (source.postData.mimeType === 'multipart/form-data') { + code.push('options.body = formData;') + .blank() + } + code.push('fetch(url, options)') + .push(1, '.then(res => res.json())') + .push(1, '.then(json => console.log(json))') + .push(1, '.catch(err => console.error(\'error:\' + err));') + + return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') +} + +module.exports.info = { + key: 'fetch', + title: 'Fetch', + link: 'https://github.com/bitinn/node-fetch', + description: 'Simplified HTTP node-fetch client' +} diff --git a/src/targets/node/index.js b/src/targets/node/index.js index 35aaebdf4..3942f03d5 100644 --- a/src/targets/node/index.js +++ b/src/targets/node/index.js @@ -11,5 +11,6 @@ module.exports = { native: require('./native'), request: require('./request'), unirest: require('./unirest'), - axios: require('./axios') + axios: require('./axios'), + fetch: require('./fetch') } diff --git a/test/fixtures/available-targets.json b/test/fixtures/available-targets.json index ec39f47aa..7ad7857ab 100644 --- a/test/fixtures/available-targets.json +++ b/test/fixtures/available-targets.json @@ -54,6 +54,12 @@ "title": "Axios", "link": "https://github.com/axios/axios", "description": "Promise based HTTP client for the browser and node.js" + }, + { + "key": "fetch", + "title": "Fetch", + "link": "https://github.com/bitinn/node-fetch", + "description": "Simplified HTTP node-fetch client" } ] }, diff --git a/test/fixtures/output/node/fetch/application-form-encoded.js b/test/fixtures/output/node/fetch/application-form-encoded.js new file mode 100644 index 000000000..412fa20a0 --- /dev/null +++ b/test/fixtures/output/node/fetch/application-form-encoded.js @@ -0,0 +1,14 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'application/x-www-form-urlencoded'}, + body: {foo: 'bar', hello: 'world'} +}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/application-json.js b/test/fixtures/output/node/fetch/application-json.js new file mode 100644 index 000000000..618d55e99 --- /dev/null +++ b/test/fixtures/output/node/fetch/application-json.js @@ -0,0 +1,14 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"number":1,"string":"f\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":{}}],"boolean":false}' +}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/cookies.js b/test/fixtures/output/node/fetch/cookies.js new file mode 100644 index 000000000..b24beaad1 --- /dev/null +++ b/test/fixtures/output/node/fetch/cookies.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'POST', headers: {cookie: 'foo=bar; bar=baz; '}}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/custom-method.js b/test/fixtures/output/node/fetch/custom-method.js new file mode 100644 index 000000000..195f83dc3 --- /dev/null +++ b/test/fixtures/output/node/fetch/custom-method.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'PROPFIND'}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/full.js b/test/fixtures/output/node/fetch/full.js new file mode 100644 index 000000000..d94c4b6d8 --- /dev/null +++ b/test/fixtures/output/node/fetch/full.js @@ -0,0 +1,19 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}, + headers: { + accept: 'application/json', + 'content-type': 'application/x-www-form-urlencoded', + cookie: 'foo=bar; bar=baz; ' + }, + body: {foo: 'bar'} +}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/headers.js b/test/fixtures/output/node/fetch/headers.js new file mode 100644 index 000000000..7fa29488b --- /dev/null +++ b/test/fixtures/output/node/fetch/headers.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'GET', headers: {accept: 'application/json', 'x-foo': 'Bar'}}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/https.js b/test/fixtures/output/node/fetch/https.js new file mode 100644 index 000000000..608306631 --- /dev/null +++ b/test/fixtures/output/node/fetch/https.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'https://mockbin.com/har'; + +let options = {method: 'GET'}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/jsonObj-multiline.js b/test/fixtures/output/node/fetch/jsonObj-multiline.js new file mode 100644 index 000000000..b3bac3894 --- /dev/null +++ b/test/fixtures/output/node/fetch/jsonObj-multiline.js @@ -0,0 +1,14 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"foo":"bar"}' +}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/jsonObj-null-value.js b/test/fixtures/output/node/fetch/jsonObj-null-value.js new file mode 100644 index 000000000..d61ec0ec1 --- /dev/null +++ b/test/fixtures/output/node/fetch/jsonObj-null-value.js @@ -0,0 +1,14 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"foo":null}' +}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/multipart-data.js b/test/fixtures/output/node/fetch/multipart-data.js new file mode 100644 index 000000000..fe1b41778 --- /dev/null +++ b/test/fixtures/output/node/fetch/multipart-data.js @@ -0,0 +1,20 @@ +const fs = require('fs'); +const FormData = require('form-data'); +const fetch = require('node-fetch'); +const formData = new FormData(); + +formData.append('foo', fs.createReadStream('hello.txt')); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = formData; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/multipart-file.js b/test/fixtures/output/node/fetch/multipart-file.js new file mode 100644 index 000000000..8d5a7657c --- /dev/null +++ b/test/fixtures/output/node/fetch/multipart-file.js @@ -0,0 +1,20 @@ +const fs = require('fs'); +const FormData = require('form-data'); +const fetch = require('node-fetch'); +const formData = new FormData(); + +formData.append('foo', fs.createReadStream('test/fixtures/files/hello.txt')); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = formData; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/multipart-form-data.js b/test/fixtures/output/node/fetch/multipart-form-data.js new file mode 100644 index 000000000..523deaad6 --- /dev/null +++ b/test/fixtures/output/node/fetch/multipart-form-data.js @@ -0,0 +1,18 @@ +const FormData = require('form-data'); +const fetch = require('node-fetch'); +const formData = new FormData(); +formData.append('foo','bar'); + +let url = 'http://mockbin.com/har'; + +let options = { + method: 'POST', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = formData; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/query.js b/test/fixtures/output/node/fetch/query.js new file mode 100644 index 000000000..5cca728b2 --- /dev/null +++ b/test/fixtures/output/node/fetch/query.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'GET', qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/short.js b/test/fixtures/output/node/fetch/short.js new file mode 100644 index 000000000..4e27d88d6 --- /dev/null +++ b/test/fixtures/output/node/fetch/short.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'GET'}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/fetch/text-plain.js b/test/fixtures/output/node/fetch/text-plain.js new file mode 100644 index 000000000..86b86249c --- /dev/null +++ b/test/fixtures/output/node/fetch/text-plain.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har'; + +let options = {method: 'POST', headers: {'content-type': 'text/plain'}, body: 'Hello World'}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/targets/node/fetch.js b/test/targets/node/fetch.js new file mode 100644 index 000000000..b77cc77e7 --- /dev/null +++ b/test/targets/node/fetch.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = function (snippet, fixtures) {} From 73d5000ba7434f20da914338c5e5f7da41021907 Mon Sep 17 00:00:00 2001 From: Julien Giovaresco Date: Mon, 5 Oct 2020 04:43:12 +0200 Subject: [PATCH 118/181] Print explicit error when using an invalid target (#182) Closes #87 --- bin/httpsnippet | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/httpsnippet b/bin/httpsnippet index fa2383a61..bc503d59e 100755 --- a/bin/httpsnippet +++ b/bin/httpsnippet @@ -56,6 +56,11 @@ cmd.args.forEach(function (fileName) { }) .then(function (output) { + if (!output) { + var targetNames = HTTPSnippet.availableTargets().map(function (t) { return t.key }).join(', ') + return console.error('%s %s is not a valid target. Valid targets: %s', chalk.red('✖'), chalk.red(cmd.target), chalk.cyan(targetNames)) + } + // print if (!cmd.output) { return console.log('%s %s > %s [%s] :\n%s', chalk.green('✓'), chalk.cyan.bold(file), chalk.yellow(cmd.target), chalk.yellow(cmd.client ? cmd.client : 'default'), output) From 0fc7f4a42cafadf00d1f2c0463ac93f9a8e7258b Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 6 Oct 2020 14:04:03 -0700 Subject: [PATCH 119/181] fix: can't load the form-data polyfill in browsers because fs doesn't exist (#184) --- src/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index 8ec9394ac..29fcb389b 100644 --- a/src/index.js +++ b/src/index.js @@ -5,7 +5,6 @@ var debug = require('debug')('httpsnippet') var es = require('event-stream') var MultiPartForm = require('form-data') -var FormDataPolyfill = require('form-data/lib/form_data') var qs = require('querystring') var reducer = require('./helpers/reducer') var targets = require('./targets') @@ -128,7 +127,7 @@ HTTPSnippet.prototype.prepare = function (request) { // This hack is pretty awful but it's the only way we can use this library in the browser as if we code this // against just the native FormData object, we can't polyfill that back into Node because Blob and File objects, // which something like `formdata-polyfill` requires, don't exist there. - const isNativeFormData = !(form instanceof FormDataPolyfill) + const isNativeFormData = (typeof form[Symbol.iterator] === 'function') // easter egg const boundary = '---011000010111000001101001' From dc08d8338a5e27caa3bdddb0131c3ed8eb92080c Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Wed, 18 Nov 2020 14:52:22 -0800 Subject: [PATCH 120/181] chore(package.json) 1.24.0 version bump --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c68fc315..c007145d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "httpsnippet", - "version": "1.23.0", + "version": "1.24.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7b551fad9..c8db03587 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.23.0", + "version": "1.24.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 86e7b0e2e0cd9384db5d7dc7ed5608a1d4e3e7b3 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Thu, 26 Nov 2020 21:29:52 -0600 Subject: [PATCH 121/181] fix: regression in header case-insensitivity (#188) --- src/helpers/headers.js | 38 ++++++++++++++++ src/index.js | 10 ++++- src/targets/clojure/clj_http.js | 13 +++--- src/targets/csharp/httpclient.js | 5 ++- src/targets/csharp/restsharp.js | 7 ++- src/targets/javascript/jquery.js | 8 +++- src/targets/javascript/xhr.js | 7 ++- src/targets/php/http2.js | 7 ++- src/targets/powershell/common.js | 3 +- src/targets/r/httr.js | 6 +-- .../output/c/libcurl/multipart-form-data.c | 2 +- .../csharp/restsharp/multipart-form-data.cs | 2 +- .../output/go/native/multipart-form-data.go | 2 +- .../java/asynchttp/multipart-form-data.java | 2 +- .../java/nethttp/multipart-form-data.java | 2 +- .../java/okhttp/multipart-form-data.java | 2 +- .../java/unirest/multipart-form-data.java | 2 +- .../javascript/axios/multipart-form-data.js | 2 +- .../javascript/fetch/multipart-form-data.js | 2 +- .../kotlin/okhttp/multipart-form-data.kt | 2 +- .../output/node/axios/multipart-form-data.js | 2 +- .../output/node/fetch/multipart-form-data.js | 2 +- .../output/node/native/multipart-form-data.js | 2 +- .../node/request/multipart-form-data.js | 2 +- .../node/unirest/multipart-form-data.js | 2 +- .../objc/nsurlsession/multipart-form-data.m | 2 +- .../ocaml/cohttp/multipart-form-data.ml | 2 +- .../output/php/curl/multipart-form-data.php | 2 +- .../output/php/http1/multipart-form-data.php | 2 +- .../restmethod/multipart-form-data.ps1 | 2 +- .../webrequest/multipart-form-data.ps1 | 2 +- .../python/python3/multipart-form-data.py | 2 +- .../python/requests/multipart-form-data.py | 2 +- .../output/ruby/native/multipart-form-data.rb | 2 +- .../output/shell/curl/multipart-form-data.sh | 2 +- .../shell/httpie/multipart-form-data.sh | 2 +- .../output/shell/wget/multipart-form-data.sh | 2 +- .../nsurlsession/multipart-form-data.swift | 2 +- .../requests/multipart-form-data.json | 2 +- test/headers.js | 43 +++++++++++++++++++ test/requests.js | 2 +- 41 files changed, 157 insertions(+), 50 deletions(-) create mode 100644 src/helpers/headers.js create mode 100644 test/headers.js diff --git a/src/helpers/headers.js b/src/helpers/headers.js new file mode 100644 index 000000000..5e01605c9 --- /dev/null +++ b/src/helpers/headers.js @@ -0,0 +1,38 @@ +module.exports = { + /** + * Given a headers object retrieve the contents of a header out of it via a case-insensitive key. + * + * @param {object} headers + * @param {string} name + * @return {string} + */ + getHeader: (headers, name) => { + return headers[Object.keys(headers).find(k => k.toLowerCase() === name.toLowerCase())] + }, + + /** + * Given a headers object retrieve a specific header out of it via a case-insensitive key. + * + * @param {object} headers + * @param {string} name + * @return {string} + */ + getHeaderName: (headers, name) => { + return Object.keys(headers).find(k => { + if (k.toLowerCase() === name.toLowerCase()) { + return k + } + }) + }, + + /** + * Determine if a given case-insensitive header exists within a header object. + * + * @param {object} headers + * @param {string} name + * @return {(integer|boolean)} + */ + hasHeader: (headers, name) => { + return Boolean(Object.keys(headers).find(k => k.toLowerCase() === name.toLowerCase())) + } +} diff --git a/src/index.js b/src/index.js index 29fcb389b..353c6e210 100644 --- a/src/index.js +++ b/src/index.js @@ -7,6 +7,7 @@ var es = require('event-stream') var MultiPartForm = require('form-data') var qs = require('querystring') var reducer = require('./helpers/reducer') +var helpers = require('./helpers/headers') var targets = require('./targets') var url = require('url') var validate = require('har-validator/lib/async') @@ -165,7 +166,14 @@ HTTPSnippet.prototype.prepare = function (request) { } request.postData.boundary = boundary - request.headersObj['content-type'] = 'multipart/form-data; boundary=' + boundary + + // Since headers are case-sensitive we need to see if there's an existing `Content-Type` header that we can + // override. + const contentTypeHeader = helpers.hasHeader(request.headersObj, 'content-type') + ? helpers.getHeaderName(request.headersObj, 'content-type') + : 'content-type' + + request.headersObj[contentTypeHeader] = 'multipart/form-data; boundary=' + boundary } break diff --git a/src/targets/clojure/clj_http.js b/src/targets/clojure/clj_http.js index ec13d5364..694a2761b 100644 --- a/src/targets/clojure/clj_http.js +++ b/src/targets/clojure/clj_http.js @@ -11,6 +11,7 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') var Keyword = function (name) { this.name = name @@ -101,15 +102,15 @@ module.exports = function (source, options) { case 'application/json': params['content-type'] = new Keyword('json') params['form-params'] = source.postData.jsonObj - delete params.headers['content-type'] + delete params.headers[helpers.getHeaderName(params.headers, 'content-type')] break case 'application/x-www-form-urlencoded': params['form-params'] = source.postData.paramsObj - delete params.headers['content-type'] + delete params.headers[helpers.getHeaderName(params.headers, 'content-type')] break case 'text/plain': params.body = source.postData.text - delete params.headers['content-type'] + delete params.headers[helpers.getHeaderName(params.headers, 'content-type')] break case 'multipart/form-data': params.multipart = source.postData.params.map(function (x) { @@ -121,14 +122,14 @@ module.exports = function (source, options) { content: x.value} } }) - delete params.headers['content-type'] + delete params.headers[helpers.getHeaderName(params.headers, 'content-type')] break } - switch (params.headers.accept) { + switch (helpers.getHeader(params.headers, 'accept')) { case 'application/json': params.accept = new Keyword('json') - delete params.headers.accept + delete params.headers[helpers.getHeaderName(params.headers, 'accept')] break } diff --git a/src/targets/csharp/httpclient.js b/src/targets/csharp/httpclient.js index bff153c06..da1f52a30 100644 --- a/src/targets/csharp/httpclient.js +++ b/src/targets/csharp/httpclient.js @@ -1,9 +1,10 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') function getDecompressionMethods (source) { - var acceptEncoding = source.allHeaders['accept-encoding'] + var acceptEncoding = helpers.getHeader(source.allHeaders, 'accept-encoding') if (!acceptEncoding) { return [] // no decompression } @@ -67,7 +68,7 @@ module.exports = function (source, options) { code.push(1, 'RequestUri = new Uri("%s"),', source.fullUrl) var headers = Object.keys(source.allHeaders).filter(function (header) { - switch (header) { + switch (header.toLowerCase()) { case 'content-type': case 'content-length': case 'accept-encoding': diff --git a/src/targets/csharp/restsharp.js b/src/targets/csharp/restsharp.js index 0b8fc2735..a42b0f542 100644 --- a/src/targets/csharp/restsharp.js +++ b/src/targets/csharp/restsharp.js @@ -1,6 +1,7 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') module.exports = function (source, options) { var code = new CodeBuilder() @@ -31,7 +32,11 @@ module.exports = function (source, options) { } if (source.postData.text) { - code.push('request.AddParameter("%s", %s, ParameterType.RequestBody);', source.allHeaders['content-type'], JSON.stringify(source.postData.text)) + code.push( + 'request.AddParameter("%s", %s, ParameterType.RequestBody);', + helpers.getHeader(source.allHeaders, 'content-type'), + JSON.stringify(source.postData.text) + ) } code.push('IRestResponse response = client.Execute(request);') diff --git a/src/targets/javascript/jquery.js b/src/targets/javascript/jquery.js index e84e390b6..2de37bf08 100644 --- a/src/targets/javascript/jquery.js +++ b/src/targets/javascript/jquery.js @@ -11,6 +11,7 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') module.exports = function (source, options) { var opts = Object.assign({ @@ -50,9 +51,12 @@ module.exports = function (source, options) { settings.data = '[form]' // remove the contentType header - if (~settings.headers['content-type'].indexOf('boundary')) { - delete settings.headers['content-type'] + if (helpers.hasHeader(settings.headers, 'content-type')) { + if (helpers.getHeader(settings.headers, 'content-type').indexOf('boundary')) { + delete settings.headers[helpers.getHeaderName(settings.headers, 'content-type')] + } } + code.blank() break diff --git a/src/targets/javascript/xhr.js b/src/targets/javascript/xhr.js index e2793c62b..3f7134132 100644 --- a/src/targets/javascript/xhr.js +++ b/src/targets/javascript/xhr.js @@ -11,6 +11,7 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') module.exports = function (source, options) { var opts = Object.assign({ @@ -34,8 +35,10 @@ module.exports = function (source, options) { }) // remove the contentType header - if (source.allHeaders['content-type'].indexOf('boundary')) { - delete source.allHeaders['content-type'] + if (helpers.hasHeader(source.allHeaders, 'content-type')) { + if (helpers.getHeader(source.allHeaders, 'content-type').indexOf('boundary')) { + delete source.allHeaders[helpers.getHeaderName(source.allHeaders, 'content-type')] + } } code.blank() diff --git a/src/targets/php/http2.js b/src/targets/php/http2.js index 9f48e45a8..a5defa4dc 100644 --- a/src/targets/php/http2.js +++ b/src/targets/php/http2.js @@ -11,6 +11,7 @@ 'use strict' var helpers = require('./helpers') +var headerHelpers = require('../../helpers/headers') var CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { @@ -65,8 +66,10 @@ module.exports = function (source, options) { ) // remove the contentType header - if (~source.headersObj['content-type'].indexOf('boundary')) { - delete source.headersObj['content-type'] + if (headerHelpers.hasHeader(source.headersObj, 'content-type')) { + if (headerHelpers.getHeader(source.headersObj, 'content-type').indexOf('boundary')) { + delete source.headersObj[headerHelpers.getHeaderName(source.headersObj, 'content-type')] + } } code.blank() diff --git a/src/targets/powershell/common.js b/src/targets/powershell/common.js index 38339d091..5cfbae3d8 100644 --- a/src/targets/powershell/common.js +++ b/src/targets/powershell/common.js @@ -1,6 +1,7 @@ 'use strict' var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('../../helpers/headers') module.exports = function (command) { return function (source, options) { @@ -44,7 +45,7 @@ module.exports = function (command) { } if (source.postData.text) { - commandOptions.push("-ContentType '" + source.allHeaders['content-type'] + "'") + commandOptions.push("-ContentType '" + helpers.getHeader(source.allHeaders, 'content-type') + "'") commandOptions.push("-Body '" + source.postData.text + "'") } diff --git a/src/targets/r/httr.js b/src/targets/r/httr.js index b06a5be1a..c7cd5b790 100644 --- a/src/targets/r/httr.js +++ b/src/targets/r/httr.js @@ -93,13 +93,13 @@ module.exports = function (source, options) { var accept for (head in headers) { - if (head === 'accept') { + if (head.toLowerCase() === 'accept') { accept = ', accept("' + headers[head] + '")' headerCount = headerCount - 1 - } else if (head === 'cookie') { + } else if (head.toLowerCase() === 'cookie') { cookies = ', set_cookies(`' + headers[head].replace(/;/g, '", `').replace(/` /g, '`').replace(/=/g, '` = "') + '")' headerCount = headerCount - 1 - } else if (head !== 'content-type') { + } else if (head.toLowerCase() !== 'content-type') { header = header + head.replace('-', '_') + " = '" + headers[head] if (headerCount > 1) { header = header + "', " } } diff --git a/test/fixtures/output/c/libcurl/multipart-form-data.c b/test/fixtures/output/c/libcurl/multipart-form-data.c index 232a092fc..e47d6e573 100644 --- a/test/fixtures/output/c/libcurl/multipart-form-data.c +++ b/test/fixtures/output/c/libcurl/multipart-form-data.c @@ -4,7 +4,7 @@ curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(hnd, CURLOPT_URL, "http://mockbin.com/har"); struct curl_slist *headers = NULL; -headers = curl_slist_append(headers, "content-type: multipart/form-data; boundary=---011000010111000001101001"); +headers = curl_slist_append(headers, "Content-Type: multipart/form-data; boundary=---011000010111000001101001"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n"); diff --git a/test/fixtures/output/csharp/restsharp/multipart-form-data.cs b/test/fixtures/output/csharp/restsharp/multipart-form-data.cs index 1ad23e37a..aae6aa514 100644 --- a/test/fixtures/output/csharp/restsharp/multipart-form-data.cs +++ b/test/fixtures/output/csharp/restsharp/multipart-form-data.cs @@ -1,5 +1,5 @@ var client = new RestClient("http://mockbin.com/har"); var request = new RestRequest(Method.POST); -request.AddHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001"); +request.AddHeader("Content-Type", "multipart/form-data; boundary=---011000010111000001101001"); request.AddParameter("multipart/form-data; boundary=---011000010111000001101001", "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n", ParameterType.RequestBody); IRestResponse response = client.Execute(request); diff --git a/test/fixtures/output/go/native/multipart-form-data.go b/test/fixtures/output/go/native/multipart-form-data.go index d587d473f..cf31548a9 100644 --- a/test/fixtures/output/go/native/multipart-form-data.go +++ b/test/fixtures/output/go/native/multipart-form-data.go @@ -15,7 +15,7 @@ func main() { req, _ := http.NewRequest("POST", url, payload) - req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") + req.Header.Add("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") res, _ := http.DefaultClient.Do(req) diff --git a/test/fixtures/output/java/asynchttp/multipart-form-data.java b/test/fixtures/output/java/asynchttp/multipart-form-data.java index 06c752bf2..90c80c631 100644 --- a/test/fixtures/output/java/asynchttp/multipart-form-data.java +++ b/test/fixtures/output/java/asynchttp/multipart-form-data.java @@ -1,6 +1,6 @@ AsyncHttpClient client = new DefaultAsyncHttpClient(); client.prepare("POST", "http://mockbin.com/har") - .setHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .setHeader("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .setBody("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n") .execute() .toCompletableFuture() diff --git a/test/fixtures/output/java/nethttp/multipart-form-data.java b/test/fixtures/output/java/nethttp/multipart-form-data.java index 044bb716a..5a8c8f9f9 100644 --- a/test/fixtures/output/java/nethttp/multipart-form-data.java +++ b/test/fixtures/output/java/nethttp/multipart-form-data.java @@ -1,6 +1,6 @@ HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://mockbin.com/har")) - .header("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .header("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .method("POST", HttpRequest.BodyPublishers.ofString("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n")) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); diff --git a/test/fixtures/output/java/okhttp/multipart-form-data.java b/test/fixtures/output/java/okhttp/multipart-form-data.java index ab1e1d2c4..517e4fb48 100644 --- a/test/fixtures/output/java/okhttp/multipart-form-data.java +++ b/test/fixtures/output/java/okhttp/multipart-form-data.java @@ -5,7 +5,7 @@ Request request = new Request.Builder() .url("http://mockbin.com/har") .post(body) - .addHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .addHeader("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .build(); Response response = client.newCall(request).execute(); diff --git a/test/fixtures/output/java/unirest/multipart-form-data.java b/test/fixtures/output/java/unirest/multipart-form-data.java index 38ce54749..ec517f373 100644 --- a/test/fixtures/output/java/unirest/multipart-form-data.java +++ b/test/fixtures/output/java/unirest/multipart-form-data.java @@ -1,4 +1,4 @@ HttpResponse response = Unirest.post("http://mockbin.com/har") - .header("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .header("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n") .asString(); diff --git a/test/fixtures/output/javascript/axios/multipart-form-data.js b/test/fixtures/output/javascript/axios/multipart-form-data.js index 6c2658cc8..b000f6353 100644 --- a/test/fixtures/output/javascript/axios/multipart-form-data.js +++ b/test/fixtures/output/javascript/axios/multipart-form-data.js @@ -6,7 +6,7 @@ form.append("foo", "bar"); const options = { method: 'POST', url: 'http://mockbin.com/har', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'}, data: '[form]' }; diff --git a/test/fixtures/output/javascript/fetch/multipart-form-data.js b/test/fixtures/output/javascript/fetch/multipart-form-data.js index f0c050724..f52ef8c38 100644 --- a/test/fixtures/output/javascript/fetch/multipart-form-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-form-data.js @@ -4,7 +4,7 @@ form.append("foo", "bar"); fetch("http://mockbin.com/har", { "method": "POST", "headers": { - "content-type": "multipart/form-data; boundary=---011000010111000001101001" + "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" } }) .then(response => { diff --git a/test/fixtures/output/kotlin/okhttp/multipart-form-data.kt b/test/fixtures/output/kotlin/okhttp/multipart-form-data.kt index cde86d9ed..4148c7865 100644 --- a/test/fixtures/output/kotlin/okhttp/multipart-form-data.kt +++ b/test/fixtures/output/kotlin/okhttp/multipart-form-data.kt @@ -5,7 +5,7 @@ val body = RequestBody.create(mediaType, "-----011000010111000001101001\r\nConte val request = Request.Builder() .url("http://mockbin.com/har") .post(body) - .addHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001") + .addHeader("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .build() val response = client.newCall(request).execute() diff --git a/test/fixtures/output/node/axios/multipart-form-data.js b/test/fixtures/output/node/axios/multipart-form-data.js index c529bacc4..d0ee89517 100644 --- a/test/fixtures/output/node/axios/multipart-form-data.js +++ b/test/fixtures/output/node/axios/multipart-form-data.js @@ -3,7 +3,7 @@ var axios = require("axios").default; var options = { method: 'POST', url: 'http://mockbin.com/har', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'}, data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="foo"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n' }; diff --git a/test/fixtures/output/node/fetch/multipart-form-data.js b/test/fixtures/output/node/fetch/multipart-form-data.js index 523deaad6..bad53c7c8 100644 --- a/test/fixtures/output/node/fetch/multipart-form-data.js +++ b/test/fixtures/output/node/fetch/multipart-form-data.js @@ -7,7 +7,7 @@ let url = 'http://mockbin.com/har'; let options = { method: 'POST', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} + headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'} }; options.body = formData; diff --git a/test/fixtures/output/node/native/multipart-form-data.js b/test/fixtures/output/node/native/multipart-form-data.js index 7d3aabd62..dfde8da81 100644 --- a/test/fixtures/output/node/native/multipart-form-data.js +++ b/test/fixtures/output/node/native/multipart-form-data.js @@ -6,7 +6,7 @@ const options = { "port": null, "path": "/har", "headers": { - "content-type": "multipart/form-data; boundary=---011000010111000001101001" + "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" } }; diff --git a/test/fixtures/output/node/request/multipart-form-data.js b/test/fixtures/output/node/request/multipart-form-data.js index ad4b47049..e808b7162 100644 --- a/test/fixtures/output/node/request/multipart-form-data.js +++ b/test/fixtures/output/node/request/multipart-form-data.js @@ -3,7 +3,7 @@ const request = require('request'); const options = { method: 'POST', url: 'http://mockbin.com/har', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, + headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'}, formData: {foo: 'bar'} }; diff --git a/test/fixtures/output/node/unirest/multipart-form-data.js b/test/fixtures/output/node/unirest/multipart-form-data.js index b13563c5a..ada44268c 100644 --- a/test/fixtures/output/node/unirest/multipart-form-data.js +++ b/test/fixtures/output/node/unirest/multipart-form-data.js @@ -3,7 +3,7 @@ const unirest = require("unirest"); const req = unirest("POST", "http://mockbin.com/har"); req.headers({ - "content-type": "multipart/form-data; boundary=---011000010111000001101001" + "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" }); req.multipart([ diff --git a/test/fixtures/output/objc/nsurlsession/multipart-form-data.m b/test/fixtures/output/objc/nsurlsession/multipart-form-data.m index 3c4648d02..0790bf768 100644 --- a/test/fixtures/output/objc/nsurlsession/multipart-form-data.m +++ b/test/fixtures/output/objc/nsurlsession/multipart-form-data.m @@ -1,6 +1,6 @@ #import -NSDictionary *headers = @{ @"content-type": @"multipart/form-data; boundary=---011000010111000001101001" }; +NSDictionary *headers = @{ @"Content-Type": @"multipart/form-data; boundary=---011000010111000001101001" }; NSArray *parameters = @[ @{ @"name": @"foo", @"value": @"bar" } ]; NSString *boundary = @"---011000010111000001101001"; diff --git a/test/fixtures/output/ocaml/cohttp/multipart-form-data.ml b/test/fixtures/output/ocaml/cohttp/multipart-form-data.ml index 488c3e41b..efc66b71a 100644 --- a/test/fixtures/output/ocaml/cohttp/multipart-form-data.ml +++ b/test/fixtures/output/ocaml/cohttp/multipart-form-data.ml @@ -3,7 +3,7 @@ open Cohttp open Lwt let uri = Uri.of_string "http://mockbin.com/har" in -let headers = Header.add (Header.init ()) "content-type" "multipart/form-data; boundary=---011000010111000001101001" in +let headers = Header.add (Header.init ()) "Content-Type" "multipart/form-data; boundary=---011000010111000001101001" in let body = Cohttp_lwt_body.of_string "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" in Client.call ~headers ~body `POST uri diff --git a/test/fixtures/output/php/curl/multipart-form-data.php b/test/fixtures/output/php/curl/multipart-form-data.php index ccce63ac5..038aa49c9 100644 --- a/test/fixtures/output/php/curl/multipart-form-data.php +++ b/test/fixtures/output/php/curl/multipart-form-data.php @@ -12,7 +12,7 @@ CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n", CURLOPT_HTTPHEADER => [ - "content-type: multipart/form-data; boundary=---011000010111000001101001" + "Content-Type: multipart/form-data; boundary=---011000010111000001101001" ], ]); diff --git a/test/fixtures/output/php/http1/multipart-form-data.php b/test/fixtures/output/php/http1/multipart-form-data.php index 654e68e45..d7227ca78 100644 --- a/test/fixtures/output/php/http1/multipart-form-data.php +++ b/test/fixtures/output/php/http1/multipart-form-data.php @@ -5,7 +5,7 @@ $request->setMethod(HTTP_METH_POST); $request->setHeaders([ - 'content-type' => 'multipart/form-data; boundary=---011000010111000001101001' + 'Content-Type' => 'multipart/form-data; boundary=---011000010111000001101001' ]); $request->setBody('-----011000010111000001101001 diff --git a/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 b/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 index f389a2757..bb78bfb10 100644 --- a/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 +++ b/test/fixtures/output/powershell/restmethod/multipart-form-data.ps1 @@ -1,5 +1,5 @@ $headers=@{} -$headers.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") +$headers.Add("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") $response = Invoke-RestMethod -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 Content-Disposition: form-data; name="foo" diff --git a/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 b/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 index 9fe0ed80b..91f16b8db 100644 --- a/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 +++ b/test/fixtures/output/powershell/webrequest/multipart-form-data.ps1 @@ -1,5 +1,5 @@ $headers=@{} -$headers.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001") +$headers.Add("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") $response = Invoke-WebRequest -Uri 'http://mockbin.com/har' -Method POST -Headers $headers -ContentType 'multipart/form-data; boundary=---011000010111000001101001' -Body '-----011000010111000001101001 Content-Disposition: form-data; name="foo" diff --git a/test/fixtures/output/python/python3/multipart-form-data.py b/test/fixtures/output/python/python3/multipart-form-data.py index 42bb17546..d5f5c0254 100644 --- a/test/fixtures/output/python/python3/multipart-form-data.py +++ b/test/fixtures/output/python/python3/multipart-form-data.py @@ -4,7 +4,7 @@ payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" -headers = { 'content-type': "multipart/form-data; boundary=---011000010111000001101001" } +headers = { 'Content-Type': "multipart/form-data; boundary=---011000010111000001101001" } conn.request("POST", "/har", payload, headers) diff --git a/test/fixtures/output/python/requests/multipart-form-data.py b/test/fixtures/output/python/requests/multipart-form-data.py index 77bbb3438..53f598512 100644 --- a/test/fixtures/output/python/requests/multipart-form-data.py +++ b/test/fixtures/output/python/requests/multipart-form-data.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" -headers = {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +headers = {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'} response = requests.request("POST", url, data=payload, headers=headers) diff --git a/test/fixtures/output/ruby/native/multipart-form-data.rb b/test/fixtures/output/ruby/native/multipart-form-data.rb index 60d18faf3..e7800b288 100644 --- a/test/fixtures/output/ruby/native/multipart-form-data.rb +++ b/test/fixtures/output/ruby/native/multipart-form-data.rb @@ -6,7 +6,7 @@ http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) -request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001' +request["Content-Type"] = 'multipart/form-data; boundary=---011000010111000001101001' request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" response = http.request(request) diff --git a/test/fixtures/output/shell/curl/multipart-form-data.sh b/test/fixtures/output/shell/curl/multipart-form-data.sh index d7b10e7ee..def1f4351 100644 --- a/test/fixtures/output/shell/curl/multipart-form-data.sh +++ b/test/fixtures/output/shell/curl/multipart-form-data.sh @@ -1,4 +1,4 @@ curl --request POST \ --url http://mockbin.com/har \ - --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \ + --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form foo=bar diff --git a/test/fixtures/output/shell/httpie/multipart-form-data.sh b/test/fixtures/output/shell/httpie/multipart-form-data.sh index a6d170094..28e8af7d4 100644 --- a/test/fixtures/output/shell/httpie/multipart-form-data.sh +++ b/test/fixtures/output/shell/httpie/multipart-form-data.sh @@ -5,4 +5,4 @@ bar -----011000010111000001101001-- ' | \ http POST http://mockbin.com/har \ - content-type:'multipart/form-data; boundary=---011000010111000001101001' + Content-Type:'multipart/form-data; boundary=---011000010111000001101001' diff --git a/test/fixtures/output/shell/wget/multipart-form-data.sh b/test/fixtures/output/shell/wget/multipart-form-data.sh index 8ccf44a74..6b1cd3b45 100644 --- a/test/fixtures/output/shell/wget/multipart-form-data.sh +++ b/test/fixtures/output/shell/wget/multipart-form-data.sh @@ -1,6 +1,6 @@ wget --quiet \ --method POST \ - --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \ + --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --body-data '-----011000010111000001101001\r\nContent-Disposition: form-data; name="foo"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n' \ --output-document \ - http://mockbin.com/har diff --git a/test/fixtures/output/swift/nsurlsession/multipart-form-data.swift b/test/fixtures/output/swift/nsurlsession/multipart-form-data.swift index bafceef17..3e2975b5d 100644 --- a/test/fixtures/output/swift/nsurlsession/multipart-form-data.swift +++ b/test/fixtures/output/swift/nsurlsession/multipart-form-data.swift @@ -1,6 +1,6 @@ import Foundation -let headers = ["content-type": "multipart/form-data; boundary=---011000010111000001101001"] +let headers = ["Content-Type": "multipart/form-data; boundary=---011000010111000001101001"] let parameters = [ [ "name": "foo", diff --git a/test/fixtures/requests/multipart-form-data.json b/test/fixtures/requests/multipart-form-data.json index 4db5eeea6..63d4bdc2e 100644 --- a/test/fixtures/requests/multipart-form-data.json +++ b/test/fixtures/requests/multipart-form-data.json @@ -3,7 +3,7 @@ "url": "http://mockbin.com/har", "headers": [ { - "name": "content-type", + "name": "Content-Type", "value": "multipart/form-data" } ], diff --git a/test/headers.js b/test/headers.js new file mode 100644 index 000000000..41476727c --- /dev/null +++ b/test/headers.js @@ -0,0 +1,43 @@ +/* global describe, it */ + +'use strict' + +var helpers = require('../src/helpers/headers') +var should = require('should') + +const headers = { + 'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001', + 'accept': 'application/json' +} + +describe('Headers', function () { + describe('#getHeader', () => { + it('should get a header', () => { + helpers.getHeader(headers, 'content-type').should.eql('multipart/form-data; boundary=---011000010111000001101001') + helpers.getHeader(headers, 'content-TYPE').should.eql('multipart/form-data; boundary=---011000010111000001101001') + helpers.getHeader(headers, 'Accept').should.eql('application/json') + + should.not.exist(helpers.getHeader(headers, 'authorization')) + }) + }) + + describe('#getHeaderName', () => { + it('should get a header name', () => { + helpers.getHeaderName(headers, 'content-type').should.eql('Content-Type') + helpers.getHeaderName(headers, 'content-TYPE').should.eql('Content-Type') + helpers.getHeaderName(headers, 'Accept').should.eql('accept') + + should.not.exist(helpers.getHeaderName(headers, 'authorization')) + }) + }) + + describe('#hasHeader', () => { + it('should return if a header is present', () => { + helpers.hasHeader(headers, 'content-type').should.be.true() + helpers.hasHeader(headers, 'content-TYPE').should.be.true() + helpers.hasHeader(headers, 'Accept').should.be.true() + + helpers.hasHeader(headers, 'authorization').should.be.false() + }) + }) +}) diff --git a/test/requests.js b/test/requests.js index dbc38e7e9..4d23594b5 100644 --- a/test/requests.js +++ b/test/requests.js @@ -53,7 +53,7 @@ fixtures.cli.forEach(function (cli) { // make an exception for multipart/form-data if (fixture.headers) { fixture.headers.forEach(function (header, index) { - if (header.name === 'content-type' && header.value === 'multipart/form-data') { + if (header.name.toLowerCase() === 'content-type' && header.value === 'multipart/form-data') { delete fixture.headers[index] } }) From 07d5ebfc2720d98693ba568447953e7b180ae5e2 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 27 Nov 2020 18:37:13 -0600 Subject: [PATCH 122/181] fix: updating the node-fetch target to handle form-urlencoded requests (#187) * fix: updating the node-fetch target to handle form-urlencoded requests * fix: supplying URLSearchParams directly to `node-fetch` Co-authored-by: Opender Singh --- src/targets/node/fetch.js | 19 +++++++++++++++---- .../node/fetch/application-form-encoded.js | 7 ++++++- test/fixtures/output/node/fetch/full.js | 6 +++++- .../output/node/fetch/multipart-form-data.js | 3 ++- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/targets/node/fetch.js b/src/targets/node/fetch.js index ac8e1c7aa..9f6710857 100644 --- a/src/targets/node/fetch.js +++ b/src/targets/node/fetch.js @@ -37,7 +37,15 @@ module.exports = function (source, options) { switch (source.postData.mimeType) { case 'application/x-www-form-urlencoded': - reqOpts.body = source.postData.paramsObj + code.unshift('const { URLSearchParams } = require(\'url\');') + code.push('const encodedParams = new URLSearchParams();') + code.blank() + + source.postData.params.forEach(function (param) { + code.push('encodedParams.set(\'' + param.name + '\', \'' + param.value + '\');') + }) + + reqOpts.body = 'encodedParams' break case 'application/json': @@ -49,15 +57,16 @@ module.exports = function (source, options) { case 'multipart/form-data': code.unshift('const FormData = require(\'form-data\');') code.push('const formData = new FormData();') + code.blank() + source.postData.params.forEach(function (param) { if (!param.fileName && !param.fileName && !param.contentType) { - code.push('formData.append(\'' + param.name + '\',\'' + param.value + '\');') + code.push('formData.append(\'' + param.name + '\', \'' + param.value + '\');') return } if (param.fileName) { includeFS = true - code.blank() code.push('formData.append(\'' + param.name + '\', fs.createReadStream(\'' + param.fileName + '\'));') } }) @@ -100,7 +109,9 @@ module.exports = function (source, options) { .push(1, '.then(json => console.log(json))') .push(1, '.catch(err => console.error(\'error:\' + err));') - return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') + return code.join() + .replace(/'encodedParams'/, 'encodedParams') + .replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') } module.exports.info = { diff --git a/test/fixtures/output/node/fetch/application-form-encoded.js b/test/fixtures/output/node/fetch/application-form-encoded.js index 412fa20a0..8271d9110 100644 --- a/test/fixtures/output/node/fetch/application-form-encoded.js +++ b/test/fixtures/output/node/fetch/application-form-encoded.js @@ -1,11 +1,16 @@ +const { URLSearchParams } = require('url'); const fetch = require('node-fetch'); +const encodedParams = new URLSearchParams(); + +encodedParams.set('foo', 'bar'); +encodedParams.set('hello', 'world'); let url = 'http://mockbin.com/har'; let options = { method: 'POST', headers: {'content-type': 'application/x-www-form-urlencoded'}, - body: {foo: 'bar', hello: 'world'} + body: encodedParams }; fetch(url, options) diff --git a/test/fixtures/output/node/fetch/full.js b/test/fixtures/output/node/fetch/full.js index d94c4b6d8..17b24a5b7 100644 --- a/test/fixtures/output/node/fetch/full.js +++ b/test/fixtures/output/node/fetch/full.js @@ -1,4 +1,8 @@ +const { URLSearchParams } = require('url'); const fetch = require('node-fetch'); +const encodedParams = new URLSearchParams(); + +encodedParams.set('foo', 'bar'); let url = 'http://mockbin.com/har'; @@ -10,7 +14,7 @@ let options = { 'content-type': 'application/x-www-form-urlencoded', cookie: 'foo=bar; bar=baz; ' }, - body: {foo: 'bar'} + body: encodedParams }; fetch(url, options) diff --git a/test/fixtures/output/node/fetch/multipart-form-data.js b/test/fixtures/output/node/fetch/multipart-form-data.js index bad53c7c8..7b14bfe99 100644 --- a/test/fixtures/output/node/fetch/multipart-form-data.js +++ b/test/fixtures/output/node/fetch/multipart-form-data.js @@ -1,7 +1,8 @@ const FormData = require('form-data'); const fetch = require('node-fetch'); const formData = new FormData(); -formData.append('foo','bar'); + +formData.append('foo', 'bar'); let url = 'http://mockbin.com/har'; From e81f30a56ab8c600d583d7e9706ec944f12c106f Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 1 Dec 2020 14:09:43 -0800 Subject: [PATCH 123/181] feat: cleaner python requests json snippets (#189) Co-authored-by: Opender Singh --- src/targets/python/helpers.js | 79 +++++++++++++++++++ src/targets/python/requests.js | 43 +++++++--- src/targets/swift/helpers.js | 1 + .../requests/application-form-encoded.py | 2 +- .../python/requests/application-json.py | 13 ++- .../output/python/requests/cookies.py | 2 +- test/fixtures/output/python/requests/full.py | 8 +- .../output/python/requests/headers.py | 6 +- .../python/requests/jsonObj-multiline.py | 6 +- .../python/requests/jsonObj-null-value.py | 6 +- .../output/python/requests/multipart-data.py | 2 +- .../output/python/requests/multipart-file.py | 2 +- .../python/requests/multipart-form-data.py | 2 +- .../output/python/requests/text-plain.py | 2 +- 14 files changed, 141 insertions(+), 33 deletions(-) create mode 100644 src/targets/python/helpers.js diff --git a/src/targets/python/helpers.js b/src/targets/python/helpers.js new file mode 100644 index 000000000..ebf53042d --- /dev/null +++ b/src/targets/python/helpers.js @@ -0,0 +1,79 @@ +'use strict' + +var util = require('util') + +/** + * Create an string of given length filled with blank spaces + * + * @param {number} length Length of the array to return + * @param {string} str String to pad out with + */ +function buildString (length, str) { + return Array.apply(null, new Array(length)).map(String.prototype.valueOf, str).join('') +} + +/** + * Create a string corresponding to a Dictionary or Array literal representation with pretty option + * and indentation. + */ +function concatValues (concatType, values, pretty, indentation, indentLevel) { + var currentIndent = buildString(indentLevel, indentation) + var closingBraceIndent = buildString(indentLevel - 1, indentation) + var join = pretty ? ',\n' + currentIndent : ', ' + var openingBrace = concatType === 'object' ? '{' : '[' + var closingBrace = concatType === 'object' ? '}' : ']' + + if (pretty) { + return openingBrace + '\n' + currentIndent + values.join(join) + '\n' + closingBraceIndent + closingBrace + } else { + return openingBrace + values.join(join) + closingBrace + } +} + +module.exports = { + /** + * Create a valid Python string of a literal value according to its type. + * + * @param {*} value Any JavaScript literal + * @param {Object} opts Target options + * @return {string} + */ + literalRepresentation: function (value, opts, indentLevel) { + indentLevel = indentLevel === undefined ? 1 : indentLevel + 1 + + switch (Object.prototype.toString.call(value)) { + case '[object Number]': + return value + + case '[object Array]': + var pretty = false + var valuesRepresentation = value.map(function (v) { + // Switch to prettify if the value is a dictionary with multiple keys + if (Object.prototype.toString.call(v) === '[object Object]') { + pretty = Object.keys(v).length > 1 + } + return this.literalRepresentation(v, opts, indentLevel) + }.bind(this)) + return concatValues('array', valuesRepresentation, pretty, opts.indent, indentLevel) + + case '[object Object]': + var keyValuePairs = [] + for (var k in value) { + keyValuePairs.push(util.format('"%s": %s', k, this.literalRepresentation(value[k], opts, indentLevel))) + } + return concatValues('object', keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel) + + case '[object Null]': + return 'None' + + case '[object Boolean]': + return value ? 'True' : 'False' + + default: + if (value === null || value === undefined) { + return '' + } + return '"' + value.toString().replace(/"/g, '\\"') + '"' + } + } +} diff --git a/src/targets/python/requests.js b/src/targets/python/requests.js index 7adfc0ecb..c3f2dc9ce 100644 --- a/src/targets/python/requests.js +++ b/src/targets/python/requests.js @@ -12,8 +12,14 @@ var util = require('util') var CodeBuilder = require('../../helpers/code-builder') +var helpers = require('./helpers') module.exports = function (source, options) { + var opts = Object.assign({ + indent: ' ', + pretty: true + }, options) + // Start snippet var code = new CodeBuilder(' ') @@ -34,10 +40,23 @@ module.exports = function (source, options) { } // Construct payload - var payload = JSON.stringify(source.postData.text) + let hasPayload = false + let jsonPayload = false + switch (source.postData.mimeType) { + case 'application/json': + if (source.postData.jsonObj) { + code.push('payload = %s', helpers.literalRepresentation(source.postData.jsonObj, opts)) + jsonPayload = true + hasPayload = true + } + break - if (payload) { - code.push('payload = %s', payload) + default: + var payload = JSON.stringify(source.postData.text) + if (payload) { + code.push('payload = %s', payload) + hasPayload = true + } } // Construct headers @@ -47,7 +66,7 @@ module.exports = function (source, options) { if (headerCount === 1) { for (header in headers) { - code.push('headers = {\'%s\': \'%s\'}', header, headers[header]) + code.push('headers = {"%s": "%s"}', header, headers[header]) .blank() } } else if (headerCount > 1) { @@ -57,13 +76,13 @@ module.exports = function (source, options) { for (header in headers) { if (count++ !== headerCount) { - code.push(1, '\'%s\': "%s",', header, headers[header]) + code.push(1, '"%s": "%s",', header, headers[header]) } else { - code.push(1, '\'%s\': "%s"', header, headers[header]) + code.push(1, '"%s": "%s"', header, headers[header]) } } - code.push(1, '}') + code.push('}') .blank() } @@ -71,8 +90,12 @@ module.exports = function (source, options) { var method = source.method var request = util.format('response = requests.request("%s", url', method) - if (payload) { - request += ', data=payload' + if (hasPayload) { + if (jsonPayload) { + request += ', json=payload' + } else { + request += ', data=payload' + } } if (headerCount > 0) { @@ -100,5 +123,3 @@ module.exports.info = { link: 'http://docs.python-requests.org/en/latest/api/#requests.request', description: 'Requests HTTP library' } - -// response = requests.request("POST", url, data=payload, headers=headers, params=querystring) diff --git a/src/targets/swift/helpers.js b/src/targets/swift/helpers.js index fdc26fd82..04c0b0d97 100644 --- a/src/targets/swift/helpers.js +++ b/src/targets/swift/helpers.js @@ -6,6 +6,7 @@ var util = require('util') * Create an string of given length filled with blank spaces * * @param {number} length Length of the array to return + * @param {string} str String to pad out with * @return {string} */ function buildString (length, str) { diff --git a/test/fixtures/output/python/requests/application-form-encoded.py b/test/fixtures/output/python/requests/application-form-encoded.py index 54556d0f1..308126b0e 100644 --- a/test/fixtures/output/python/requests/application-form-encoded.py +++ b/test/fixtures/output/python/requests/application-form-encoded.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "foo=bar&hello=world" -headers = {'content-type': 'application/x-www-form-urlencoded'} +headers = {"content-type": "application/x-www-form-urlencoded"} response = requests.request("POST", url, data=payload, headers=headers) diff --git a/test/fixtures/output/python/requests/application-json.py b/test/fixtures/output/python/requests/application-json.py index a60dcd215..cfb2c4830 100644 --- a/test/fixtures/output/python/requests/application-json.py +++ b/test/fixtures/output/python/requests/application-json.py @@ -2,9 +2,16 @@ url = "http://mockbin.com/har" -payload = "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" -headers = {'content-type': 'application/json'} +payload = { + "number": 1, + "string": "f\"oo", + "arr": [1, 2, 3], + "nested": {"a": "b"}, + "arr_mix": [1, "a", {"arr_mix_nested": {}}], + "boolean": False +} +headers = {"content-type": "application/json"} -response = requests.request("POST", url, data=payload, headers=headers) +response = requests.request("POST", url, json=payload, headers=headers) print(response.text) diff --git a/test/fixtures/output/python/requests/cookies.py b/test/fixtures/output/python/requests/cookies.py index 96977a509..3387a1d8f 100644 --- a/test/fixtures/output/python/requests/cookies.py +++ b/test/fixtures/output/python/requests/cookies.py @@ -2,7 +2,7 @@ url = "http://mockbin.com/har" -headers = {'cookie': 'foo=bar; bar=baz'} +headers = {"cookie": "foo=bar; bar=baz"} response = requests.request("POST", url, headers=headers) diff --git a/test/fixtures/output/python/requests/full.py b/test/fixtures/output/python/requests/full.py index 621d12a22..82b97e3c9 100644 --- a/test/fixtures/output/python/requests/full.py +++ b/test/fixtures/output/python/requests/full.py @@ -6,10 +6,10 @@ payload = "foo=bar" headers = { - 'cookie': "foo=bar; bar=baz", - 'accept': "application/json", - 'content-type': "application/x-www-form-urlencoded" - } + "cookie": "foo=bar; bar=baz", + "accept": "application/json", + "content-type": "application/x-www-form-urlencoded" +} response = requests.request("POST", url, data=payload, headers=headers, params=querystring) diff --git a/test/fixtures/output/python/requests/headers.py b/test/fixtures/output/python/requests/headers.py index 847323fb6..ae2b4d047 100644 --- a/test/fixtures/output/python/requests/headers.py +++ b/test/fixtures/output/python/requests/headers.py @@ -3,9 +3,9 @@ url = "http://mockbin.com/har" headers = { - 'accept': "application/json", - 'x-foo': "Bar" - } + "accept": "application/json", + "x-foo": "Bar" +} response = requests.request("GET", url, headers=headers) diff --git a/test/fixtures/output/python/requests/jsonObj-multiline.py b/test/fixtures/output/python/requests/jsonObj-multiline.py index 49d6071fc..60eb971ac 100644 --- a/test/fixtures/output/python/requests/jsonObj-multiline.py +++ b/test/fixtures/output/python/requests/jsonObj-multiline.py @@ -2,9 +2,9 @@ url = "http://mockbin.com/har" -payload = "{\n \"foo\": \"bar\"\n}" -headers = {'content-type': 'application/json'} +payload = {"foo": "bar"} +headers = {"content-type": "application/json"} -response = requests.request("POST", url, data=payload, headers=headers) +response = requests.request("POST", url, json=payload, headers=headers) print(response.text) diff --git a/test/fixtures/output/python/requests/jsonObj-null-value.py b/test/fixtures/output/python/requests/jsonObj-null-value.py index 99d3a6bcc..9a9f79937 100644 --- a/test/fixtures/output/python/requests/jsonObj-null-value.py +++ b/test/fixtures/output/python/requests/jsonObj-null-value.py @@ -2,9 +2,9 @@ url = "http://mockbin.com/har" -payload = "{\"foo\":null}" -headers = {'content-type': 'application/json'} +payload = {"foo": None} +headers = {"content-type": "application/json"} -response = requests.request("POST", url, data=payload, headers=headers) +response = requests.request("POST", url, json=payload, headers=headers) print(response.text) diff --git a/test/fixtures/output/python/requests/multipart-data.py b/test/fixtures/output/python/requests/multipart-data.py index 4b9cc5c81..9760d47b5 100644 --- a/test/fixtures/output/python/requests/multipart-data.py +++ b/test/fixtures/output/python/requests/multipart-data.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\nHello World\r\n-----011000010111000001101001--\r\n" -headers = {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"} response = requests.request("POST", url, data=payload, headers=headers) diff --git a/test/fixtures/output/python/requests/multipart-file.py b/test/fixtures/output/python/requests/multipart-file.py index 5c3188b84..be3bde71a 100644 --- a/test/fixtures/output/python/requests/multipart-file.py +++ b/test/fixtures/output/python/requests/multipart-file.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"; filename=\"hello.txt\"\r\nContent-Type: text/plain\r\n\r\n\r\n-----011000010111000001101001--\r\n" -headers = {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"} response = requests.request("POST", url, data=payload, headers=headers) diff --git a/test/fixtures/output/python/requests/multipart-form-data.py b/test/fixtures/output/python/requests/multipart-form-data.py index 53f598512..978e19b03 100644 --- a/test/fixtures/output/python/requests/multipart-form-data.py +++ b/test/fixtures/output/python/requests/multipart-form-data.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"foo\"\r\n\r\nbar\r\n-----011000010111000001101001--\r\n" -headers = {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'} +headers = {"Content-Type": "multipart/form-data; boundary=---011000010111000001101001"} response = requests.request("POST", url, data=payload, headers=headers) diff --git a/test/fixtures/output/python/requests/text-plain.py b/test/fixtures/output/python/requests/text-plain.py index ba42964e3..fda6ebba1 100644 --- a/test/fixtures/output/python/requests/text-plain.py +++ b/test/fixtures/output/python/requests/text-plain.py @@ -3,7 +3,7 @@ url = "http://mockbin.com/har" payload = "Hello World" -headers = {'content-type': 'text/plain'} +headers = {"content-type": "text/plain"} response = requests.request("POST", url, data=payload, headers=headers) From 21fd9d5acc07a8d46a3ee0b3968c10d20e2114bf Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Wed, 3 Mar 2021 13:47:40 -0800 Subject: [PATCH 124/181] chore(package.json) Bump version 1.25.0 for release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8db03587..ec72c3a0b 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.24.0", + "version": "1.25.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From bddb81acddd15601686e3f39d731e0506234dca7 Mon Sep 17 00:00:00 2001 From: jonasholbech Date: Mon, 5 Apr 2021 18:33:20 +0200 Subject: [PATCH 125/181] update javascript fetch request to match node-fetch (#210) * update javascript fetch request to match node-fetch Vanilla JS did not return the json from the request, the node.js version does, now they should behave the same * update test --- src/targets/javascript/fetch.js | 1 + .../fixtures/output/javascript/fetch/application-form-encoded.js | 1 + test/fixtures/output/javascript/fetch/application-json.js | 1 + test/fixtures/output/javascript/fetch/cookies.js | 1 + test/fixtures/output/javascript/fetch/custom-method.js | 1 + test/fixtures/output/javascript/fetch/full.js | 1 + test/fixtures/output/javascript/fetch/headers.js | 1 + test/fixtures/output/javascript/fetch/https.js | 1 + test/fixtures/output/javascript/fetch/jsonObj-multiline.js | 1 + test/fixtures/output/javascript/fetch/jsonObj-null-value.js | 1 + test/fixtures/output/javascript/fetch/multipart-data.js | 1 + test/fixtures/output/javascript/fetch/multipart-file.js | 1 + test/fixtures/output/javascript/fetch/multipart-form-data.js | 1 + test/fixtures/output/javascript/fetch/query.js | 1 + test/fixtures/output/javascript/fetch/short.js | 1 + test/fixtures/output/javascript/fetch/text-plain.js | 1 + 16 files changed, 16 insertions(+) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index 3099d7cfa..d17b12b16 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -65,6 +65,7 @@ module.exports = function (source, options) { code .push(`fetch("${source.fullUrl}", ${JSON.stringify(options, null, opts.indent)})`) + .push('.then(response => response.json())') .push('.then(response => {') .push(1, 'console.log(response);') .push('})') diff --git a/test/fixtures/output/javascript/fetch/application-form-encoded.js b/test/fixtures/output/javascript/fetch/application-form-encoded.js index b82f91824..704ba2ce7 100644 --- a/test/fixtures/output/javascript/fetch/application-form-encoded.js +++ b/test/fixtures/output/javascript/fetch/application-form-encoded.js @@ -8,6 +8,7 @@ fetch("http://mockbin.com/har", { "hello": "world" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/application-json.js b/test/fixtures/output/javascript/fetch/application-json.js index 22ef64a12..c33e2601b 100644 --- a/test/fixtures/output/javascript/fetch/application-json.js +++ b/test/fixtures/output/javascript/fetch/application-json.js @@ -5,6 +5,7 @@ fetch("http://mockbin.com/har", { }, "body": "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/cookies.js b/test/fixtures/output/javascript/fetch/cookies.js index 96a105258..1910b61eb 100644 --- a/test/fixtures/output/javascript/fetch/cookies.js +++ b/test/fixtures/output/javascript/fetch/cookies.js @@ -4,6 +4,7 @@ fetch("http://mockbin.com/har", { "cookie": "foo=bar; bar=baz" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/custom-method.js b/test/fixtures/output/javascript/fetch/custom-method.js index cd33b8551..0db47d03b 100644 --- a/test/fixtures/output/javascript/fetch/custom-method.js +++ b/test/fixtures/output/javascript/fetch/custom-method.js @@ -2,6 +2,7 @@ fetch("http://mockbin.com/har", { "method": "PROPFIND", "headers": {} }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/full.js b/test/fixtures/output/javascript/fetch/full.js index e5e9a3ef8..a2ec34345 100644 --- a/test/fixtures/output/javascript/fetch/full.js +++ b/test/fixtures/output/javascript/fetch/full.js @@ -9,6 +9,7 @@ fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { "foo": "bar" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/headers.js b/test/fixtures/output/javascript/fetch/headers.js index e6c24d267..a34adda83 100644 --- a/test/fixtures/output/javascript/fetch/headers.js +++ b/test/fixtures/output/javascript/fetch/headers.js @@ -5,6 +5,7 @@ fetch("http://mockbin.com/har", { "x-foo": "Bar" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/https.js b/test/fixtures/output/javascript/fetch/https.js index 8496082e5..44ecf1e1e 100644 --- a/test/fixtures/output/javascript/fetch/https.js +++ b/test/fixtures/output/javascript/fetch/https.js @@ -2,6 +2,7 @@ fetch("https://mockbin.com/har", { "method": "GET", "headers": {} }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js index e9bac2bb9..cccaca065 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js @@ -5,6 +5,7 @@ fetch("http://mockbin.com/har", { }, "body": "{\"foo\":\"bar\"}" }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js index 90d15d0e1..7e23ce071 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js @@ -5,6 +5,7 @@ fetch("http://mockbin.com/har", { }, "body": "{\"foo\":null}" }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/multipart-data.js b/test/fixtures/output/javascript/fetch/multipart-data.js index f90125e10..28e319b20 100644 --- a/test/fixtures/output/javascript/fetch/multipart-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-data.js @@ -7,6 +7,7 @@ fetch("http://mockbin.com/har", { "content-type": "multipart/form-data; boundary=---011000010111000001101001" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/multipart-file.js b/test/fixtures/output/javascript/fetch/multipart-file.js index a425041b5..2070febb8 100644 --- a/test/fixtures/output/javascript/fetch/multipart-file.js +++ b/test/fixtures/output/javascript/fetch/multipart-file.js @@ -7,6 +7,7 @@ fetch("http://mockbin.com/har", { "content-type": "multipart/form-data; boundary=---011000010111000001101001" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/multipart-form-data.js b/test/fixtures/output/javascript/fetch/multipart-form-data.js index f52ef8c38..38006446b 100644 --- a/test/fixtures/output/javascript/fetch/multipart-form-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-form-data.js @@ -7,6 +7,7 @@ fetch("http://mockbin.com/har", { "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" } }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/query.js b/test/fixtures/output/javascript/fetch/query.js index 745990a20..dc6ad30b8 100644 --- a/test/fixtures/output/javascript/fetch/query.js +++ b/test/fixtures/output/javascript/fetch/query.js @@ -2,6 +2,7 @@ fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { "method": "GET", "headers": {} }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/short.js b/test/fixtures/output/javascript/fetch/short.js index 200d8d415..77c07817f 100644 --- a/test/fixtures/output/javascript/fetch/short.js +++ b/test/fixtures/output/javascript/fetch/short.js @@ -2,6 +2,7 @@ fetch("http://mockbin.com/har", { "method": "GET", "headers": {} }) +.then(response => response.json()) .then(response => { console.log(response); }) diff --git a/test/fixtures/output/javascript/fetch/text-plain.js b/test/fixtures/output/javascript/fetch/text-plain.js index f5256870e..036f741ab 100644 --- a/test/fixtures/output/javascript/fetch/text-plain.js +++ b/test/fixtures/output/javascript/fetch/text-plain.js @@ -5,6 +5,7 @@ fetch("http://mockbin.com/har", { }, "body": "Hello World" }) +.then(response => response.json()) .then(response => { console.log(response); }) From 3e4fcc6ac1f8f23f1ea8e477a079250191a08400 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Apr 2021 13:58:08 -0700 Subject: [PATCH 126/181] chore(deps): bump y18n from 4.0.0 to 4.0.1 (#211) Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Reynolds --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c007145d1..3f14f9893 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "httpsnippet", - "version": "1.24.0", + "version": "1.25.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3374,9 +3374,9 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yallist": { From bbf75eebb4602da9f508fa1db3b0ea90769786fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Apr 2021 13:58:53 -0700 Subject: [PATCH 127/181] chore(deps): bump ini from 1.3.5 to 1.3.8 (#208) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Reynolds --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3f14f9893..85973b2bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1404,9 +1404,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { From d82a9923cfdcfc67b1f10224e79b79ba04936495 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 20 Apr 2021 14:44:22 -0700 Subject: [PATCH 128/181] fix: node-fetch doesn't support the `qs` option (#213) --- src/targets/node/fetch.js | 6 +----- test/fixtures/output/node/fetch/full.js | 3 +-- test/fixtures/output/node/fetch/query.js | 4 ++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/targets/node/fetch.js b/src/targets/node/fetch.js index 9f6710857..1d83129a6 100644 --- a/src/targets/node/fetch.js +++ b/src/targets/node/fetch.js @@ -22,15 +22,11 @@ module.exports = function (source, options) { var code = new CodeBuilder(opts.indent) code.push('const fetch = require(\'node-fetch\');') - var url = source.url + var url = source.fullUrl var reqOpts = { method: source.method } - if (Object.keys(source.queryObj).length) { - reqOpts.qs = source.queryObj - } - if (Object.keys(source.headersObj).length) { reqOpts.headers = source.headersObj } diff --git a/test/fixtures/output/node/fetch/full.js b/test/fixtures/output/node/fetch/full.js index 17b24a5b7..655e28d78 100644 --- a/test/fixtures/output/node/fetch/full.js +++ b/test/fixtures/output/node/fetch/full.js @@ -4,11 +4,10 @@ const encodedParams = new URLSearchParams(); encodedParams.set('foo', 'bar'); -let url = 'http://mockbin.com/har'; +let url = 'http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value'; let options = { method: 'POST', - qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}, headers: { accept: 'application/json', 'content-type': 'application/x-www-form-urlencoded', diff --git a/test/fixtures/output/node/fetch/query.js b/test/fixtures/output/node/fetch/query.js index 5cca728b2..eb6b866d5 100644 --- a/test/fixtures/output/node/fetch/query.js +++ b/test/fixtures/output/node/fetch/query.js @@ -1,8 +1,8 @@ const fetch = require('node-fetch'); -let url = 'http://mockbin.com/har'; +let url = 'http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value'; -let options = {method: 'GET', qs: {foo: ['bar', 'baz'], baz: 'abc', key: 'value'}}; +let options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) From 03a44e61bfe62d28f1ffd3aa70bb6ad4b85c2243 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 27 Apr 2021 14:23:21 -0700 Subject: [PATCH 129/181] rfc: drop support for < Node 10 (#204) * chore(deps-dev): upgrading standard and mocha to the latest versions * style: fixing standard issues in unit tests * style: fixing standard issues on the rest of the codebase * chore: removing .jshintrc from npmignore * chore(deps): removing pinkie-promise because it's no longer used * ci: removing node 8 from travis Co-authored-by: Eric Reynolds --- .jshintrc | 5 - .npmignore | 1 - .travis.yml | 1 - bin/httpsnippet | 27 +- package-lock.json | 2894 +++++++++++++++------------- package.json | 8 +- src/helpers/code-builder.js | 10 +- src/helpers/form-data.js | 4 +- src/helpers/headers.js | 1 + src/helpers/reducer.js | 2 +- src/helpers/shell.js | 4 +- src/index.js | 53 +- src/targets/c/libcurl.js | 20 +- src/targets/clojure/clj_http.js | 86 +- src/targets/csharp/httpclient.js | 33 +- src/targets/csharp/restsharp.js | 10 +- src/targets/go/native.js | 14 +- src/targets/http/http1.1.js | 18 +- src/targets/http/index.js | 2 +- src/targets/java/asynchttp.js | 8 +- src/targets/java/nethttp.js | 8 +- src/targets/java/okhttp.js | 12 +- src/targets/java/unirest.js | 10 +- src/targets/javascript/axios.js | 22 +- src/targets/javascript/fetch.js | 6 +- src/targets/javascript/jquery.js | 18 +- src/targets/javascript/xhr.js | 28 +- src/targets/kotlin/okhttp.js | 12 +- src/targets/node/axios.js | 22 +- src/targets/node/fetch.js | 22 +- src/targets/node/native.js | 40 +- src/targets/node/request.js | 30 +- src/targets/node/unirest.js | 39 +- src/targets/objc/helpers.js | 24 +- src/targets/objc/nsurlsession.js | 103 +- src/targets/ocaml/cohttp.js | 20 +- src/targets/php/curl.js | 16 +- src/targets/php/helpers.js | 5 +- src/targets/php/http1.js | 38 +- src/targets/php/http2.js | 61 +- src/targets/powershell/common.js | 12 +- src/targets/python/helpers.js | 26 +- src/targets/python/python3.js | 43 +- src/targets/python/requests.js | 49 +- src/targets/r/httr.js | 38 +- src/targets/ruby/native.js | 36 +- src/targets/shell/curl.js | 20 +- src/targets/shell/httpie.js | 18 +- src/targets/shell/wget.js | 14 +- src/targets/swift/helpers.js | 26 +- src/targets/swift/nsurlsession.js | 102 +- test/headers.js | 8 +- test/index.js | 60 +- test/reducer.js | 28 +- test/requests.js | 26 +- test/targets.js | 51 +- test/targets/go/native.js | 13 +- test/targets/javascript/xhr.js | 4 +- test/targets/objc/nsurlsession.js | 12 +- test/targets/python/python3.js | 3 +- test/targets/python/requests.js | 4 +- test/targets/r/httr.js | 3 +- test/targets/shell/curl.js | 10 +- test/targets/shell/httpie.js | 16 +- test/targets/shell/wget.js | 10 +- test/targets/swift/nsurlsession.js | 13 +- 66 files changed, 2334 insertions(+), 2048 deletions(-) delete mode 100644 .jshintrc diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 5619eb494..000000000 --- a/.jshintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "asi": true, - "browser": true, - "node": true -} diff --git a/.npmignore b/.npmignore index 59e4f4a9a..2908abdd3 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,2 @@ -.jshintrc .editorconfig test diff --git a/.travis.yml b/.travis.yml index 17f4c75a9..c7e2c8e1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,6 @@ language: node_js node_js: - node - lts/* - - 8 before_install: - sudo apt-get update -qq diff --git a/bin/httpsnippet b/bin/httpsnippet index bc503d59e..3747f6695 100755 --- a/bin/httpsnippet +++ b/bin/httpsnippet @@ -2,14 +2,14 @@ 'use strict' -var chalk = require('chalk') -var cmd = require('commander') -var fs = require('fs') -var readFile = require('fs-readfile-promise') -var writeFile = require('fs-writefile-promise') -var HTTPSnippet = require('..') -var path = require('path') -var pkg = require('../package.json') +const chalk = require('chalk') +const cmd = require('commander') +const fs = require('fs') +const readFile = require('fs-readfile-promise') +const writeFile = require('fs-writefile-promise') +const HTTPSnippet = require('..') +const path = require('path') +const pkg = require('../package.json') cmd .version(pkg.version) @@ -23,8 +23,9 @@ if (!cmd.args.length || !cmd.target) { cmd.help() } +let dir if (cmd.output) { - var dir = path.resolve(cmd.output) + dir = path.resolve(cmd.output) if (!fs.existsSync(dir)) { fs.mkdirSync(dir) @@ -32,7 +33,7 @@ if (cmd.output) { } cmd.args.forEach(function (fileName) { - var file = path.basename(fileName) + const file = path.basename(fileName) readFile(fileName) .then(JSON.parse) @@ -57,7 +58,7 @@ cmd.args.forEach(function (fileName) { .then(function (output) { if (!output) { - var targetNames = HTTPSnippet.availableTargets().map(function (t) { return t.key }).join(', ') + const targetNames = HTTPSnippet.availableTargets().map(function (t) { return t.key }).join(', ') return console.error('%s %s is not a valid target. Valid targets: %s', chalk.red('✖'), chalk.red(cmd.target), chalk.cyan(targetNames)) } @@ -67,9 +68,9 @@ cmd.args.forEach(function (fileName) { } // write to file - var name = path.basename(file, path.extname(file)) + const name = path.basename(file, path.extname(file)) - var filename = path.format({ + const filename = path.format({ dir: dir, base: name + HTTPSnippet.extname(cmd.target) }) diff --git a/package-lock.json b/package-lock.json index 85973b2bb..66cd5ccbd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,35 +4,158 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@eslint/eslintrc": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", + "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", "dev": true, "requires": { - "acorn": "^3.0.4" + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" }, "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "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" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true } } }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@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 + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -44,12 +167,6 @@ "uri-js": "^4.2.2" } }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -58,15 +175,9 @@ "optional": true }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { @@ -79,6 +190,16 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -88,14 +209,40 @@ "sprintf-js": "~1.0.2" } }, - "array.prototype.find": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", - "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "array-includes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", + "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "get-intrinsic": "^1.0.1", + "is-string": "^1.0.5" + } + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", + "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" } }, "asn1": { @@ -113,6 +260,12 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -130,17 +283,6 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -156,6 +298,12 @@ "tweetnacl": "^0.14.3" } }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -166,37 +314,35 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "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 }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { - "callsites": "^0.2.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { @@ -223,27 +369,22 @@ "supports-color": "^2.0.0" } }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "requires": { - "restore-cursor": "^1.0.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -261,12 +402,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -289,18 +424,6 @@ } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "codeclimate-test-reporter": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/codeclimate-test-reporter/-/codeclimate-test-reporter-0.5.1.tgz", @@ -365,18 +488,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "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" - } - }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -389,14 +500,26 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "dashdash": { @@ -449,51 +572,21 @@ "object-keys": "^1.0.12" } }, - "deglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz", - "integrity": "sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==", - "dev": true, - "requires": { - "find-root": "^1.0.0", - "glob": "^7.0.5", - "ignore": "^3.0.9", - "pkg-config": "^1.1.0", - "run-parallel": "^1.1.2", - "uniq": "^1.0.1" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "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" - } - } - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -612,6 +705,23 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + } + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -622,111 +732,82 @@ } }, "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { - "es-to-primitive": "^1.2.0", + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" }, "dependencies": { - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } } } }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "escape-string-regexp": { @@ -747,140 +828,250 @@ "source-map": "~0.2.0" } }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", - "dev": true, - "requires": { - "babel-code-frame": "^6.16.0", - "chalk": "^1.1.3", - "concat-stream": "^1.5.2", - "debug": "^2.1.1", - "doctrine": "^2.0.0", - "escope": "^3.6.0", - "espree": "^3.4.0", - "esquery": "^1.0.0", - "estraverse": "^4.2.0", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", + "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "glob": "^7.0.3", - "globals": "^9.14.0", - "ignore": "^3.2.0", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^0.12.0", - "is-my-json-valid": "^2.10.0", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.5.1", - "json-stable-stringify": "^1.0.0", - "levn": "^0.3.0", - "lodash": "^4.0.0", - "mkdirp": "^0.5.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.1", - "pluralize": "^1.2.1", - "progress": "^1.1.8", - "require-uncached": "^1.0.2", - "shelljs": "^0.7.5", - "strip-bom": "^3.0.0", - "strip-json-comments": "~2.0.1", - "table": "^3.7.8", - "text-table": "~0.2.0", - "user-home": "^2.0.0" + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { - "estraverse": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "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" + "ms": "2.1.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" } } } }, "eslint-config-standard": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz", - "integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", + "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", "dev": true }, "eslint-config-standard-jsx": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz", - "integrity": "sha512-F8fRh2WFnTek7dZH9ZaE0PCBwdVGkwVWZmizla/DDNOmg7Tx6B/IlK5+oYpiX29jpu73LszeJj5i1axEZv6VMw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", + "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==", "dev": true }, "eslint-import-resolver-node": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", - "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { - "debug": "^2.2.0", - "object-assign": "^4.0.1", - "resolve": "^1.1.6" + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + } } }, "eslint-module-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz", - "integrity": "sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { - "debug": "^2.6.8", + "debug": "^2.6.9", "pkg-dir": "^2.0.0" } }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, "eslint-plugin-import": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz", - "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { - "builtin-modules": "^1.1.1", + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", "contains-path": "^0.1.0", - "debug": "^2.2.0", + "debug": "^2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.2.0", - "eslint-module-utils": "^2.0.0", - "has": "^1.0.1", - "lodash.cond": "^4.3.0", - "minimatch": "^3.0.3", - "pkg-up": "^1.0.0" + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" }, "dependencies": { "doctrine": { @@ -892,67 +1083,161 @@ "esutils": "^2.0.2", "isarray": "^1.0.0" } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } } } }, "eslint-plugin-node": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz", - "integrity": "sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, "requires": { - "ignore": "^3.0.11", - "minimatch": "^3.0.2", - "object-assign": "^4.0.1", - "resolve": "^1.1.7", - "semver": "5.3.0" + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "eslint-plugin-promise": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz", - "integrity": "sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", "dev": true }, "eslint-plugin-react": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", - "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", + "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", "dev": true, "requires": { - "array.prototype.find": "^2.0.1", - "doctrine": "^1.2.2", - "has": "^1.0.1", - "jsx-ast-utils": "^1.3.4", - "object.assign": "^4.0.4" + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.18.1", + "string.prototype.matchall": "^4.0.2" }, "dependencies": { "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" } } } }, - "eslint-plugin-standard": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz", - "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", + "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" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, "esprima": { @@ -962,35 +1247,35 @@ "dev": true }, "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } @@ -1007,16 +1292,6 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", @@ -1031,29 +1306,6 @@ "through": "~2.3.1" } }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dev": true, - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", - "dev": true - } - } - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1082,24 +1334,22 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "flat-cache": "^2.0.1" } }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "to-regex-range": "^5.0.1" } }, "find-root": { @@ -1118,26 +1368,28 @@ } }, "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true }, "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" } }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -1202,29 +1454,24 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dev": true, - "requires": { - "is-property": "^1.0.2" - } - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "^1.0.0" - } + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "get-caller-file": { "version": "2.0.5", @@ -1232,15 +1479,34 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", + "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + } + } + }, "get-own-enumerable-property-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==" }, "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, "getpass": { @@ -1265,11 +1531,23 @@ "path-is-absolute": "^1.0.0" } }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } }, "graceful-fs": { "version": "4.1.15", @@ -1364,6 +1642,12 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -1376,11 +1660,21 @@ } }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -1409,103 +1703,112 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "ansi-regex": "^2.0.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "readline2": "^1.0.1", - "run-async": "^0.1.0", - "rx-lite": "^3.1.2", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, - "is-date-object": { - "version": "1.0.1", + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "is-extglob": "^2.1.1" } }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, - "is-my-json-valid": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz", - "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==", - "dev": true, - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, "requires": { - "has": "^1.0.1" + "has-symbols": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + } } }, "is-regexp": { @@ -1513,10 +1816,10 @@ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true }, "is-symbol": { @@ -1605,9 +1908,9 @@ } }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { @@ -1651,14 +1954,11 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -1666,17 +1966,14 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } }, "jsprim": { "version": "1.4.1", @@ -1691,10 +1988,34 @@ } }, "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "dev": true, + "requires": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } + } }, "lcov-parse": { "version": "0.0.10", @@ -1724,14 +2045,14 @@ } }, "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", + "parse-json": "^2.2.0", + "pify": "^2.0.0", "strip-bom": "^3.0.0" } }, @@ -1751,58 +2072,75 @@ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^4.0.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" } }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -1869,58 +2207,73 @@ "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=" }, "mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", "wide-align": "1.1.3", + "workerpool": "6.0.2", "yargs": "13.3.2", "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "yargs-unparser": "2.0.0" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "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": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "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", @@ -1932,73 +2285,82 @@ } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "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": { - "minimist": "^1.2.5" + "p-locate": "^5.0.0" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.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==", + "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": "^2.0.0" + "p-limit": "^3.0.2" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" } } } @@ -2008,10 +2370,10 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", "dev": true }, "natural-compare": { @@ -2026,22 +2388,37 @@ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" }, "dependencies": { + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -2050,19 +2427,10 @@ } } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "oauth-sign": { @@ -2077,91 +2445,46 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "object.entries": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" } }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "object.fromentries": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", + "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" } }, "once": { @@ -2173,12 +2496,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -2193,12 +2510,6 @@ "wordwrap": "~1.0.0" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -2223,14 +2534,22 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -2245,12 +2564,27 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -2265,10 +2599,16 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { @@ -2276,31 +2616,96 @@ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=" }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, "requires": { - "pinkie": "^2.0.0" + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" }, "dependencies": { - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "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" + } + }, + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.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-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true } } }, - "pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - } - }, "pkg-config": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", @@ -2321,60 +2726,29 @@ "find-up": "^2.1.0" } }, - "pkg-up": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -2398,6 +2772,15 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -2410,41 +2793,58 @@ "strip-json-comments": "~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==", + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "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" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "mute-stream": "0.0.5" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "requires": { - "resolve": "^1.1.6" + "picomatch": "^2.2.1" } }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", @@ -2498,16 +2898,6 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - } - }, "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -2515,21 +2905,11 @@ "dev": true }, "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -2555,27 +2935,6 @@ } } }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "^1.3.0" - } - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -2589,10 +2948,39 @@ "dev": true }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "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" + } }, "set-blocking": { "version": "2.0.0", @@ -2600,33 +2988,21 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "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" - } - } + "shebang-regex": "^3.0.0" } }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "should": { "version": "13.2.3", "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", @@ -2675,12 +3051,31 @@ "should-util": "^1.0.0" } }, - "should-util": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", - "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", - "dev": true - }, + "should-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", + "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "dependencies": { + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + } + } + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -2688,10 +3083,32 @@ "dev": true }, "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } }, "source-map": { "version": "0.2.0", @@ -2703,6 +3120,38 @@ "amdefine": ">=0.0.4" } }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, "split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -2735,32 +3184,39 @@ } }, "standard": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-10.0.3.tgz", - "integrity": "sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", + "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", "dev": true, "requires": { - "eslint": "~3.19.0", - "eslint-config-standard": "10.2.1", - "eslint-config-standard-jsx": "4.0.2", - "eslint-plugin-import": "~2.2.0", - "eslint-plugin-node": "~4.2.2", - "eslint-plugin-promise": "~3.5.0", - "eslint-plugin-react": "~6.10.0", - "eslint-plugin-standard": "~3.0.1", - "standard-engine": "~7.0.0" + "eslint": "~7.13.0", + "eslint-config-standard": "16.0.2", + "eslint-config-standard-jsx": "10.0.0", + "eslint-plugin-import": "~2.22.1", + "eslint-plugin-node": "~11.1.0", + "eslint-plugin-promise": "~4.2.1", + "eslint-plugin-react": "~7.21.5", + "standard-engine": "^14.0.1" } }, "standard-engine": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-7.0.0.tgz", - "integrity": "sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA=", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz", + "integrity": "sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q==", "dev": true, "requires": { - "deglob": "^2.1.0", - "get-stdin": "^5.0.1", - "minimist": "^1.1.0", - "pkg-conf": "^2.0.0" + "get-stdin": "^8.0.0", + "minimist": "^1.2.5", + "pkg-conf": "^3.1.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "stream-combiner": { @@ -2772,279 +3228,55 @@ } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "ansi-regex": "^3.0.0" } } } }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "string.prototype.matchall": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", + "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "es-abstract": "^1.18.0-next.1", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3" }, "dependencies": { - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } } } }, - "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" - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -3081,33 +3313,39 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "^4.7.0", - "ajv-keywords": "^1.0.0", - "chalk": "^1.1.1", - "lodash": "^4.0.0", - "slice-ansi": "0.0.4", - "string-width": "^2.0.0" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "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 }, "is-fullwidth-code-point": { @@ -3117,22 +3355,23 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -3148,6 +3387,15 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -3166,6 +3414,18 @@ } } }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -3181,12 +3441,6 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -3196,10 +3450,10 @@ "prelude-ls": "~1.1.2" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, "uglify-js": { @@ -3222,12 +3476,6 @@ } } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -3236,27 +3484,28 @@ "punycode": "^2.1.0" } }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -3292,12 +3541,24 @@ "string-width": "^1.0.2 || 2" } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, + "workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -3324,12 +3585,6 @@ "color-convert": "^1.9.0" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -3359,14 +3614,20 @@ "dev": true }, "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -3418,12 +3679,6 @@ "locate-path": "^3.0.0" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3491,15 +3746,36 @@ } }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + } } + }, + "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 } } } diff --git a/package.json b/package.json index ec72c3a0b..aa7fd35e7 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "xmlhttprequest" ], "engines": { - "node": ">=4" + "node": ">=10" }, "files": [ "bin", @@ -57,6 +57,7 @@ "codeclimate": "codeclimate < coverage/lcov.info" }, "standard": { + "env": "mocha", "ignore": [ "**/test/fixtures/**" ] @@ -73,10 +74,10 @@ "echint": "^4.0.2", "glob": "^6.0.1", "istanbul": "^0.4.0", - "mocha": "^6.2.0", + "mocha": "^8.2.1", "require-directory": "^2.1.1", "should": "^13.2.3", - "standard": "^10.0.2" + "standard": "^16.0.3" }, "dependencies": { "chalk": "^1.1.1", @@ -87,7 +88,6 @@ "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", - "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } } diff --git a/src/helpers/code-builder.js b/src/helpers/code-builder.js index 335ea34c0..c1a75e86d 100644 --- a/src/helpers/code-builder.js +++ b/src/helpers/code-builder.js @@ -1,6 +1,6 @@ 'use strict' -var util = require('util') +const util = require('util') /** * Helper object to format and aggragate lines of code. @@ -11,7 +11,7 @@ var util = require('util') * @param {string} indentation Desired indentation character for aggregated lines of code * @param {string} join Desired character to join each line of code */ -var CodeBuilder = function (indentation, join) { +const CodeBuilder = function (indentation, join) { this.code = [] this.indentation = indentation this.lineJoin = join || '\n' @@ -37,8 +37,8 @@ var CodeBuilder = function (indentation, join) { * // returns: 'console.log("\t\thello world")' */ CodeBuilder.prototype.buildLine = function (indentationLevel, line) { - var lineIndentation = '' - var slice = 2 + let lineIndentation = '' + let slice = 2 if (Object.prototype.toString.call(indentationLevel) === '[object String]') { slice = 1 line = indentationLevel @@ -52,7 +52,7 @@ CodeBuilder.prototype.buildLine = function (indentationLevel, line) { indentationLevel-- } - var format = Array.prototype.slice.call(arguments, slice, arguments.length) + const format = Array.prototype.slice.call(arguments, slice, arguments.length) format.unshift(lineIndentation + line) return util.format.apply(this, format) diff --git a/src/helpers/form-data.js b/src/helpers/form-data.js index 6a9e917aa..73689f7b2 100644 --- a/src/helpers/form-data.js +++ b/src/helpers/form-data.js @@ -74,8 +74,8 @@ function getHeader (boundary, name, field) { module.exports.getBoundary = () => { // This generates a 50 character boundary similar to those used by Firefox. // They are optimized for boyer-moore parsing. - var boundary = '--------------------------' - for (var i = 0; i < 24; i++) { + let boundary = '--------------------------' + for (let i = 0; i < 24; i++) { boundary += Math.floor(Math.random() * 10).toString(16) } diff --git a/src/helpers/headers.js b/src/helpers/headers.js index 5e01605c9..c37701adf 100644 --- a/src/helpers/headers.js +++ b/src/helpers/headers.js @@ -18,6 +18,7 @@ module.exports = { * @return {string} */ getHeaderName: (headers, name) => { + // eslint-disable-next-line array-callback-return return Object.keys(headers).find(k => { if (k.toLowerCase() === name.toLowerCase()) { return k diff --git a/src/helpers/reducer.js b/src/helpers/reducer.js index a2ff87e58..30c854980 100644 --- a/src/helpers/reducer.js +++ b/src/helpers/reducer.js @@ -13,7 +13,7 @@ module.exports = function (obj, pair) { } // convert to array - var arr = [ + const arr = [ obj[pair.name], pair.value ] diff --git a/src/helpers/shell.js b/src/helpers/shell.js index a638aa6f7..e20783831 100644 --- a/src/helpers/shell.js +++ b/src/helpers/shell.js @@ -1,6 +1,6 @@ 'use strict' -var util = require('util') +const util = require('util') module.exports = { /** @@ -9,7 +9,7 @@ module.exports = { * http://wiki.bash-hackers.org/syntax/quoting#strong_quoting */ quote: function (value) { - var safe = /^[a-z0-9-_/.@%^=:]+$/i + const safe = /^[a-z0-9-_/.@%^=:]+$/i // Unless `value` is a simple shell-safe string, quote it. if (!safe.test(value)) { diff --git a/src/index.js b/src/index.js index 353c6e210..c8ebfc894 100644 --- a/src/index.js +++ b/src/index.js @@ -2,23 +2,23 @@ 'use strict' -var debug = require('debug')('httpsnippet') -var es = require('event-stream') -var MultiPartForm = require('form-data') -var qs = require('querystring') -var reducer = require('./helpers/reducer') -var helpers = require('./helpers/headers') -var targets = require('./targets') -var url = require('url') -var validate = require('har-validator/lib/async') +const debug = require('debug')('httpsnippet') +const es = require('event-stream') +const MultiPartForm = require('form-data') +const qs = require('querystring') +const reducer = require('./helpers/reducer') +const helpers = require('./helpers/headers') +const targets = require('./targets') +const url = require('url') +const validate = require('har-validator/lib/async') const { formDataIterator, isBlob } = require('./helpers/form-data.js') // constructor -var HTTPSnippet = function (data) { - var entries - var self = this - var input = Object.assign({}, data) +const HTTPSnippet = function (data) { + let entries + const self = this + const input = Object.assign({}, data) // prep the main container self.requests = [] @@ -73,9 +73,9 @@ HTTPSnippet.prototype.prepare = function (request) { // construct headers objects if (request.headers && request.headers.length) { - var http2VersionRegex = /^HTTP\/2/ + const http2VersionRegex = /^HTTP\/2/ request.headersObj = request.headers.reduce(function (headers, header) { - var headerName = header.name + let headerName = header.name if (request.httpVersion.match(http2VersionRegex)) { headerName = headerName.toLowerCase() } @@ -94,7 +94,7 @@ HTTPSnippet.prototype.prepare = function (request) { } // construct Cookie header - var cookies = request.cookies.map(function (cookie) { + const cookies = request.cookies.map(function (cookie) { return encodeURIComponent(cookie.name) + '=' + encodeURIComponent(cookie.value) }) @@ -112,7 +112,7 @@ HTTPSnippet.prototype.prepare = function (request) { request.postData.mimeType = 'multipart/form-data' if (request.postData.params) { - var form = new MultiPartForm() + const form = new MultiPartForm() // The `form-data` module returns one of two things: a native FormData object, or its own polyfill. Since the // polyfill does not support the full API of the native FormData object, when this library is running in a @@ -156,10 +156,11 @@ HTTPSnippet.prototype.prepare = function (request) { }) if (isNativeFormData) { - for (var data of formDataIterator(form, boundary)) { + for (const data of formDataIterator(form, boundary)) { request.postData.text += data } } else { + // eslint-disable-next-line array-callback-return form.pipe(es.map(function (data, cb) { request.postData.text += data })) @@ -212,6 +213,7 @@ HTTPSnippet.prototype.prepare = function (request) { request.allHeaders = Object.assign(request.allHeaders, request.headersObj) // deconstruct the uri + // eslint-disable-next-line node/no-deprecated-api request.uriObj = url.parse(request.url, true, true) // merge all possible queryString values @@ -244,10 +246,9 @@ HTTPSnippet.prototype.convert = function (target, client, opts) { opts = client } - var func = this._matchTarget(target, client) - + const func = this._matchTarget(target, client) if (func) { - var results = this.requests.map(function (request) { + const results = this.requests.map(function (request) { return func(request, opts) }) @@ -259,6 +260,7 @@ HTTPSnippet.prototype.convert = function (target, client, opts) { HTTPSnippet.prototype._matchTarget = function (target, client) { // does it exist? + // eslint-disable-next-line no-prototype-builtins if (!targets.hasOwnProperty(target)) { return false } @@ -280,6 +282,7 @@ module.exports.addTarget = function (target) { throw new Error('The supplied custom target must contain an `info` object.') } else if (!('key' in target.info) || !('title' in target.info) || !('extname' in target.info) || !('default' in target.info)) { throw new Error('The supplied custom target must have an `info` object with a `key`, `title`, `extname`, and `default` property.') + // eslint-disable-next-line no-prototype-builtins } else if (targets.hasOwnProperty(target.info.key)) { throw new Error('The supplied custom target already exists.') } else if (Object.keys(target).length === 1) { @@ -290,12 +293,14 @@ module.exports.addTarget = function (target) { } module.exports.addTargetClient = function (target, client) { + // eslint-disable-next-line no-prototype-builtins if (!targets.hasOwnProperty(target)) { throw new Error(`Sorry, but no ${target} target exists to add clients to.`) } else if (!('info' in client)) { throw new Error('The supplied custom target client must contain an `info` object.') } else if (!('key' in client.info) || !('title' in client.info)) { throw new Error('The supplied custom target client must have an `info` object with a `key` and `title` property.') + // eslint-disable-next-line no-prototype-builtins } else if (targets[target].hasOwnProperty(client.info.key)) { throw new Error('The supplied custom target client already exists, please use a different key') } @@ -305,13 +310,11 @@ module.exports.addTargetClient = function (target, client) { module.exports.availableTargets = function () { return Object.keys(targets).map(function (key) { - var target = Object.assign({}, targets[key].info) - var clients = Object.keys(targets[key]) - + const target = Object.assign({}, targets[key].info) + const clients = Object.keys(targets[key]) .filter(function (prop) { return !~['info', 'index'].indexOf(prop) }) - .map(function (client) { return targets[key][client].info }) diff --git a/src/targets/c/libcurl.js b/src/targets/c/libcurl.js index aad328e28..1609074cf 100644 --- a/src/targets/c/libcurl.js +++ b/src/targets/c/libcurl.js @@ -1,22 +1,22 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var code = new CodeBuilder() + const code = new CodeBuilder() code.push('CURL *hnd = curl_easy_init();') - .blank() - .push('curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "%s");', source.method.toUpperCase()) - .push('curl_easy_setopt(hnd, CURLOPT_URL, "%s");', source.fullUrl) + .blank() + .push('curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "%s");', source.method.toUpperCase()) + .push('curl_easy_setopt(hnd, CURLOPT_URL, "%s");', source.fullUrl) // Add headers, including the cookies - var headers = Object.keys(source.headersObj) + const headers = Object.keys(source.headersObj) // construct headers if (headers.length) { code.blank() - .push('struct curl_slist *headers = NULL;') + .push('struct curl_slist *headers = NULL;') headers.forEach(function (key) { code.push('headers = curl_slist_append(headers, "%s: %s");', key, source.headersObj[key]) @@ -28,16 +28,16 @@ module.exports = function (source, options) { // construct cookies if (source.allHeaders.cookie) { code.blank() - .push('curl_easy_setopt(hnd, CURLOPT_COOKIE, "%s");', source.allHeaders.cookie) + .push('curl_easy_setopt(hnd, CURLOPT_COOKIE, "%s");', source.allHeaders.cookie) } if (source.postData.text) { code.blank() - .push('curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, %s);', JSON.stringify(source.postData.text)) + .push('curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, %s);', JSON.stringify(source.postData.text)) } code.blank() - .push('CURLcode ret = curl_easy_perform(hnd);') + .push('CURLcode ret = curl_easy_perform(hnd);') return code.join() } diff --git a/src/targets/clojure/clj_http.js b/src/targets/clojure/clj_http.js index 694a2761b..dd9286443 100644 --- a/src/targets/clojure/clj_http.js +++ b/src/targets/clojure/clj_http.js @@ -10,10 +10,10 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') -var Keyword = function (name) { +const Keyword = function (name) { this.name = name } @@ -21,7 +21,7 @@ Keyword.prototype.toString = function () { return ':' + this.name } -var File = function (path) { +const File = function (path) { this.path = path } @@ -29,38 +29,36 @@ File.prototype.toString = function () { return '(clojure.java.io/file "' + this.path + '")' } -var jsType = function (x) { +const jsType = function (x) { return (typeof x !== 'undefined') - ? x.constructor.name.toLowerCase() - : null + ? x.constructor.name.toLowerCase() + : null } -var objEmpty = function (x) { +const objEmpty = function (x) { return (jsType(x) === 'object') - ? Object.keys(x).length === 0 - : false + ? Object.keys(x).length === 0 + : false } -var filterEmpty = function (m) { +const filterEmpty = function (m) { Object.keys(m) - .filter(function (x) { return objEmpty(m[x]) }) - .forEach(function (x) { delete m[x] }) + .filter(function (x) { return objEmpty(m[x]) }) + .forEach(function (x) { delete m[x] }) return m } -var padBlock = function (x, s) { - var padding = Array.apply(null, Array(x)) - .map(function (_) { - return ' ' - }) - .join('') +const padBlock = function (x, s) { + const padding = Array.apply(null, Array(x)) + .map(function (_) { + return ' ' + }) + .join('') return s.replace(/\n/g, '\n' + padding) } -var jsToEdn = function (js) { +const jsToEdn = function (js) { switch (jsType(js)) { - default: // 'number' 'boolean' - return js.toString() case 'string': return '"' + js.replace(/"/g, '\\"') + '"' case 'file': @@ -71,32 +69,38 @@ var jsToEdn = function (js) { return 'nil' case 'regexp': return '#"' + js.source + '"' - case 'object': // simple vertical format - var obj = Object.keys(js) - .reduce(function (acc, key) { - var val = padBlock(key.length + 2, jsToEdn(js[key])) - return acc + ':' + key + ' ' + val + '\n ' - }, '') - .trim() + case 'object': { // simple vertical format + const obj = Object.keys(js) + .reduce(function (acc, key) { + const val = padBlock(key.length + 2, jsToEdn(js[key])) + return acc + ':' + key + ' ' + val + '\n ' + }, '') + .trim() return '{' + padBlock(1, obj) + '}' - case 'array': // simple horizontal format - var arr = js.reduce(function (acc, val) { + } + case 'array': { // simple horizontal format + const arr = js.reduce(function (acc, val) { return acc + ' ' + jsToEdn(val) }, '').trim() return '[' + padBlock(1, arr) + ']' + } + default: // 'number' 'boolean' + return js.toString() } } module.exports = function (source, options) { - var code = new CodeBuilder(options) - var methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'] + const code = new CodeBuilder(options) + const methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'] if (methods.indexOf(source.method.toLowerCase()) === -1) { return code.push('Method not supported').join() } - var params = {headers: source.allHeaders, - 'query-params': source.queryObj} + const params = { + headers: source.allHeaders, + 'query-params': source.queryObj + } switch (source.postData.mimeType) { case 'application/json': @@ -115,11 +119,15 @@ module.exports = function (source, options) { case 'multipart/form-data': params.multipart = source.postData.params.map(function (x) { if (x.fileName && !x.value) { - return {name: x.name, - content: new File(x.fileName)} + return { + name: x.name, + content: new File(x.fileName) + } } else { - return {name: x.name, - content: x.value} + return { + name: x.name, + content: x.value + } } }) delete params.headers[helpers.getHeaderName(params.headers, 'content-type')] diff --git a/src/targets/csharp/httpclient.js b/src/targets/csharp/httpclient.js index da1f52a30..8523a00ed 100644 --- a/src/targets/csharp/httpclient.js +++ b/src/targets/csharp/httpclient.js @@ -1,23 +1,23 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') function getDecompressionMethods (source) { - var acceptEncoding = helpers.getHeader(source.allHeaders, 'accept-encoding') + const acceptEncoding = helpers.getHeader(source.allHeaders, 'accept-encoding') if (!acceptEncoding) { return [] // no decompression } - var supportedMethods = { + const supportedMethods = { gzip: 'DecompressionMethods.GZip', deflate: 'DecompressionMethods.Deflate' } - var methods = [] + const methods = [] acceptEncoding.split(',').forEach(function (encoding) { - var match = /\s*([^;\s]+)/.exec(encoding) + const match = /\s*([^;\s]+)/.exec(encoding) if (match) { - var method = supportedMethods[match[1]] + const method = supportedMethods[match[1]] if (method) { methods.push(method) } @@ -28,12 +28,15 @@ function getDecompressionMethods (source) { } module.exports = function (source, options) { - var indentation = ' ' - var code = new CodeBuilder(indentation) + const opts = Object.assign({ + indent: ' ' + }, options) - var clienthandler = '' - var cookies = !!source.allHeaders.cookie - var decompressionMethods = getDecompressionMethods(source) + const code = new CodeBuilder(opts.indent) + + let clienthandler = '' + const cookies = !!source.allHeaders.cookie + const decompressionMethods = getDecompressionMethods(source) if (cookies || decompressionMethods.length) { clienthandler = 'clientHandler' code.push('var clientHandler = new HttpClientHandler') @@ -54,8 +57,8 @@ module.exports = function (source, options) { code.push('var request = new HttpRequestMessage') code.push('{') - var methods = [ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'TRACE' ] - var method = source.method.toUpperCase() + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS', 'TRACE'] + let method = source.method.toUpperCase() if (method && (methods.indexOf(method) !== -1)) { // buildin method method = `HttpMethod.${method[0]}${method.substring(1).toLowerCase()}` @@ -67,7 +70,7 @@ module.exports = function (source, options) { code.push(1, 'RequestUri = new Uri("%s"),', source.fullUrl) - var headers = Object.keys(source.allHeaders).filter(function (header) { + const headers = Object.keys(source.allHeaders).filter(function (header) { switch (header.toLowerCase()) { case 'content-type': case 'content-length': diff --git a/src/targets/csharp/restsharp.js b/src/targets/csharp/restsharp.js index a42b0f542..d724c368b 100644 --- a/src/targets/csharp/restsharp.js +++ b/src/targets/csharp/restsharp.js @@ -1,11 +1,11 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') module.exports = function (source, options) { - var code = new CodeBuilder() - var methods = [ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS' ] + const code = new CodeBuilder() + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'] if (methods.indexOf(source.method.toUpperCase()) === -1) { return 'Method not supported' @@ -15,7 +15,7 @@ module.exports = function (source, options) { } // Add headers, including the cookies - var headers = Object.keys(source.headersObj) + const headers = Object.keys(source.headersObj) // construct headers if (headers.length) { diff --git a/src/targets/go/native.js b/src/targets/go/native.js index 536b4b49d..fe36c93b5 100644 --- a/src/targets/go/native.js +++ b/src/targets/go/native.js @@ -10,25 +10,25 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { // Let's Go! - var code = new CodeBuilder('\t') + const code = new CodeBuilder('\t') // Define Options - var opts = Object.assign({ + const opts = Object.assign({ showBoilerplate: true, checkErrors: false, printBody: true, timeout: -1 }, options) - var errorPlaceholder = opts.checkErrors ? 'err' : '_' + const errorPlaceholder = opts.checkErrors ? 'err' : '_' - var indent = opts.showBoilerplate ? 1 : 0 + const indent = opts.showBoilerplate ? 1 : 0 - var errorCheck = function () { + const errorCheck = function () { if (opts.checkErrors) { code.push(indent, 'if err != nil {') .push(indent + 1, 'panic(err)') @@ -64,7 +64,7 @@ module.exports = function (source, options) { } // Create client - var client + let client if (opts.timeout > 0) { client = 'client' code.push(indent, 'client := http.Client{') diff --git a/src/targets/http/http1.1.js b/src/targets/http/http1.1.js index 61968d369..58b5918b5 100644 --- a/src/targets/http/http1.1.js +++ b/src/targets/http/http1.1.js @@ -11,9 +11,9 @@ 'use strict' -var CRLF = '\r\n' -var CodeBuilder = require('../../helpers/code-builder') -var util = require('util') +const CRLF = '\r\n' +const CodeBuilder = require('../../helpers/code-builder') +const util = require('util') /** * Request follows the request message format in accordance to RFC 7230, Section 3. @@ -21,7 +21,7 @@ var util = require('util') * See more at https://tools.ietf.org/html/rfc7230#section-3. */ module.exports = function (source, options) { - var opts = Object.assign( + const opts = Object.assign( { absoluteURI: false, autoContentLength: true, @@ -32,12 +32,12 @@ module.exports = function (source, options) { // RFC 7230 Section 3. Message Format // All lines have no indentation, and should be terminated with CRLF. - var code = new CodeBuilder('', CRLF) + const code = new CodeBuilder('', CRLF) // RFC 7230 Section 5.3. Request Target // Determines if the Request-Line should use 'absolute-form' or 'origin-form'. // Basically it means whether the "http://domain.com" will prepend the full url. - var requestUrl = opts.absoluteURI ? source.fullUrl : source.uriObj.path + const requestUrl = opts.absoluteURI ? source.fullUrl : source.uriObj.path // RFC 7230 Section 3.1.1. Request-Line code.push('%s %s %s', source.method, requestUrl, source.httpVersion) @@ -45,7 +45,7 @@ module.exports = function (source, options) { // RFC 7231 Section 5. Header Fields Object.keys(source.allHeaders).forEach(function (key) { // Capitalize header keys, even though it's not required by the spec. - var keyCapitalized = key.toLowerCase().replace(/(^|-)(\w)/g, function (x) { + const keyCapitalized = key.toLowerCase().replace(/(^|-)(\w)/g, function (x) { return x.toUpperCase() }) @@ -78,8 +78,8 @@ module.exports = function (source, options) { code.blank() // Separate header section and message body section. - var headerSection = code.join() - var messageBody = '' + const headerSection = code.join() + let messageBody = '' // RFC 7230 Section 3.3. Message Body if (source.postData.text) { diff --git a/src/targets/http/index.js b/src/targets/http/index.js index 7ed07a4ec..9ad83c680 100644 --- a/src/targets/http/index.js +++ b/src/targets/http/index.js @@ -8,5 +8,5 @@ module.exports = { default: '1.1' }, - '1.1': require('./http1.1') + 1.1: require('./http1.1') } diff --git a/src/targets/java/asynchttp.js b/src/targets/java/asynchttp.js index cf3cd23c0..ce3db5db5 100644 --- a/src/targets/java/asynchttp.js +++ b/src/targets/java/asynchttp.js @@ -10,21 +10,21 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) code.push('AsyncHttpClient client = new DefaultAsyncHttpClient();') code.push(`client.prepare("${source.method.toUpperCase()}", "${source.fullUrl}")`) // Add headers, including the cookies - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) // construct headers if (headers.length) { diff --git a/src/targets/java/nethttp.js b/src/targets/java/nethttp.js index 41e223dad..328eeaa78 100644 --- a/src/targets/java/nethttp.js +++ b/src/targets/java/nethttp.js @@ -10,22 +10,22 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign( + const opts = Object.assign( { indent: ' ' }, options ) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) code.push('HttpRequest request = HttpRequest.newBuilder()') code.push(2, '.uri(URI.create("%s"))', source.fullUrl) - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) // construct headers if (headers.length) { diff --git a/src/targets/java/okhttp.js b/src/targets/java/okhttp.js index c03d985d2..3dc756419 100644 --- a/src/targets/java/okhttp.js +++ b/src/targets/java/okhttp.js @@ -10,18 +10,18 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) - var methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'] + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'] - var methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'] + const methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'] code.push('OkHttpClient client = new OkHttpClient();') .blank() @@ -54,7 +54,7 @@ module.exports = function (source, options) { } // Add headers, including the cookies - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) // construct headers if (headers.length) { diff --git a/src/targets/java/unirest.js b/src/targets/java/unirest.js index beabdc52f..7def78eec 100644 --- a/src/targets/java/unirest.js +++ b/src/targets/java/unirest.js @@ -10,16 +10,16 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) - var methods = [ 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS' ] + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'] if (methods.indexOf(source.method.toUpperCase()) === -1) { code.push('HttpResponse response = Unirest.customMethod("%s","%s")', source.method.toUpperCase(), source.fullUrl) @@ -28,7 +28,7 @@ module.exports = function (source, options) { } // Add headers, including the cookies - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) // construct headers if (headers.length) { diff --git a/src/targets/javascript/axios.js b/src/targets/javascript/axios.js index 4fe9a8bed..838eb0d46 100644 --- a/src/targets/javascript/axios.js +++ b/src/targets/javascript/axios.js @@ -9,21 +9,21 @@ */ 'use strict' -var util = require('util') -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const stringifyObject = require('stringify-object') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) code.push('import axios from "axios";') - .blank() + .blank() - var reqOpts = { + const reqOpts = { method: source.method, url: source.url } @@ -73,10 +73,10 @@ module.exports = function (source, options) { .blank() code.push(util.format('axios.request(options).then(%s', 'function (response) {')) - .push(1, 'console.log(response.data);') - .push('}).catch(%s', 'function (error) {') - .push(1, 'console.error(error);') - .push('});') + .push(1, 'console.log(response.data);') + .push('}).catch(%s', 'function (error) {') + .push(1, 'console.error(error);') + .push('});') return code.join() } diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index d17b12b16..edd7002ec 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -10,10 +10,10 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign( + const opts = Object.assign( { indent: ' ', credentials: null @@ -21,7 +21,7 @@ module.exports = function (source, options) { options ) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) options = { method: source.method, diff --git a/src/targets/javascript/jquery.js b/src/targets/javascript/jquery.js index 2de37bf08..9e662a83a 100644 --- a/src/targets/javascript/jquery.js +++ b/src/targets/javascript/jquery.js @@ -10,17 +10,17 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) - var settings = { + const settings = { async: true, crossDomain: true, url: source.fullUrl, @@ -67,10 +67,10 @@ module.exports = function (source, options) { } code.push('const settings = ' + JSON.stringify(settings, null, opts.indent).replace('"[form]"', 'form') + ';') - .blank() - .push('$.ajax(settings).done(function (response) {') - .push(1, 'console.log(response);') - .push('});') + .blank() + .push('$.ajax(settings).done(function (response) {') + .push(1, 'console.log(response);') + .push('});') return code.join() } diff --git a/src/targets/javascript/xhr.js b/src/targets/javascript/xhr.js index 3f7134132..2ae503806 100644 --- a/src/targets/javascript/xhr.js +++ b/src/targets/javascript/xhr.js @@ -10,21 +10,21 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', cors: true }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) switch (source.postData.mimeType) { case 'application/json': code.push('const data = JSON.stringify(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) - .push(null) + .push(null) break case 'multipart/form-data': @@ -46,7 +46,7 @@ module.exports = function (source, options) { default: code.push('const data = %s;', JSON.stringify(source.postData.text || null)) - .blank() + .blank() } code.push('const xhr = new XMLHttpRequest();') @@ -56,20 +56,20 @@ module.exports = function (source, options) { } code.blank() - .push('xhr.addEventListener("readystatechange", function () {') - .push(1, 'if (this.readyState === this.DONE) {') - .push(2, 'console.log(this.responseText);') - .push(1, '}') - .push('});') - .blank() - .push('xhr.open(%s, %s);', JSON.stringify(source.method), JSON.stringify(source.fullUrl)) + .push('xhr.addEventListener("readystatechange", function () {') + .push(1, 'if (this.readyState === this.DONE) {') + .push(2, 'console.log(this.responseText);') + .push(1, '}') + .push('});') + .blank() + .push('xhr.open(%s, %s);', JSON.stringify(source.method), JSON.stringify(source.fullUrl)) Object.keys(source.allHeaders).forEach(function (key) { code.push('xhr.setRequestHeader(%s, %s);', JSON.stringify(key), JSON.stringify(source.allHeaders[key])) }) code.blank() - .push('xhr.send(data);') + .push('xhr.send(data);') return code.join() } diff --git a/src/targets/kotlin/okhttp.js b/src/targets/kotlin/okhttp.js index 85391abd8..8c1390524 100644 --- a/src/targets/kotlin/okhttp.js +++ b/src/targets/kotlin/okhttp.js @@ -10,18 +10,18 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) - var methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'] + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'] - var methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'] + const methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'] code.push('val client = OkHttpClient()') .blank() @@ -54,7 +54,7 @@ module.exports = function (source, options) { } // Add headers, including the cookies - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) // construct headers if (headers.length) { diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index a32c4a03d..92387de8b 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -9,21 +9,21 @@ */ 'use strict' -var util = require('util') -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const stringifyObject = require('stringify-object') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) code.push('var axios = require("axios").default;') - .blank() + .blank() - var reqOpts = { + const reqOpts = { method: source.method, url: source.url } @@ -57,10 +57,10 @@ module.exports = function (source, options) { .blank() code.push(util.format('axios.request(options).then(%s', 'function (response) {')) - .push(1, 'console.log(response.data);') - .push('}).catch(%s', 'function (error) {') - .push(1, 'console.error(error);') - .push('});') + .push(1, 'console.log(response.data);') + .push('}).catch(%s', 'function (error) {') + .push(1, 'console.error(error);') + .push('});') return code.join() } diff --git a/src/targets/node/fetch.js b/src/targets/node/fetch.js index 1d83129a6..971d81774 100644 --- a/src/targets/node/fetch.js +++ b/src/targets/node/fetch.js @@ -10,20 +10,20 @@ 'use strict' -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const stringifyObject = require('stringify-object') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var includeFS = false - var code = new CodeBuilder(opts.indent) + let includeFS = false + const code = new CodeBuilder(opts.indent) code.push('const fetch = require(\'node-fetch\');') - var url = source.fullUrl - var reqOpts = { + const url = source.fullUrl + const reqOpts = { method: source.method } @@ -76,7 +76,7 @@ module.exports = function (source, options) { // construct cookies argument if (source.cookies.length) { - var cookies = '' + let cookies = '' source.cookies.forEach(function (cookie) { cookies = cookies + encodeURIComponent(cookie.name) + '=' + encodeURIComponent(cookie.value) + '; ' }) @@ -101,9 +101,9 @@ module.exports = function (source, options) { .blank() } code.push('fetch(url, options)') - .push(1, '.then(res => res.json())') - .push(1, '.then(json => console.log(json))') - .push(1, '.catch(err => console.error(\'error:\' + err));') + .push(1, '.then(res => res.json())') + .push(1, '.then(json => console.log(json))') + .push(1, '.catch(err => console.error(\'error:\' + err));') return code.join() .replace(/'encodedParams'/, 'encodedParams') diff --git a/src/targets/node/native.js b/src/targets/node/native.js index 7cbf1b746..a61e63c29 100644 --- a/src/targets/node/native.js +++ b/src/targets/node/native.js @@ -10,17 +10,17 @@ 'use strict' -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const stringifyObject = require('stringify-object') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) - var reqOpts = { + const reqOpts = { method: source.method, hostname: source.uriObj.hostname, port: source.uriObj.port, @@ -31,21 +31,21 @@ module.exports = function (source, options) { code.push('const http = require("%s");', source.uriObj.protocol.replace(':', '')) code.blank() - .push('const options = %s;', JSON.stringify(reqOpts, null, opts.indent)) - .blank() - .push('const req = http.request(options, function (res) {') - .push(1, 'const chunks = [];') - .blank() - .push(1, 'res.on("data", function (chunk) {') - .push(2, 'chunks.push(chunk);') - .push(1, '});') - .blank() - .push(1, 'res.on("end", function () {') - .push(2, 'const body = Buffer.concat(chunks);') - .push(2, 'console.log(body.toString());') - .push(1, '});') - .push('});') - .blank() + .push('const options = %s;', JSON.stringify(reqOpts, null, opts.indent)) + .blank() + .push('const req = http.request(options, function (res) {') + .push(1, 'const chunks = [];') + .blank() + .push(1, 'res.on("data", function (chunk) {') + .push(2, 'chunks.push(chunk);') + .push(1, '});') + .blank() + .push(1, 'res.on("end", function () {') + .push(2, 'const body = Buffer.concat(chunks);') + .push(2, 'console.log(body.toString());') + .push(1, '});') + .push('});') + .blank() switch (source.postData.mimeType) { case 'application/x-www-form-urlencoded': diff --git a/src/targets/node/request.js b/src/targets/node/request.js index 06d89ebdf..258c736d3 100644 --- a/src/targets/node/request.js +++ b/src/targets/node/request.js @@ -10,22 +10,22 @@ 'use strict' -var util = require('util') -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const stringifyObject = require('stringify-object') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var includeFS = false - var code = new CodeBuilder(opts.indent) + let includeFS = false + const code = new CodeBuilder(opts.indent) code.push("const request = require('request');") - .blank() + .blank() - var reqOpts = { + const reqOpts = { method: source.method, url: source.url } @@ -54,7 +54,7 @@ module.exports = function (source, options) { reqOpts.formData = {} source.postData.params.forEach(function (param) { - var attachment = {} + const attachment = {} if (!param.fileName && !param.fileName && !param.contentType) { reqOpts.formData[param.name] = param.value @@ -92,7 +92,7 @@ module.exports = function (source, options) { code.push('const jar = request.jar();') - var url = source.url + const url = source.url source.cookies.forEach(function (cookie) { code.push("jar.setCookie(request.cookie('%s=%s'), '%s');", encodeURIComponent(cookie.name), encodeURIComponent(cookie.value), url) @@ -109,11 +109,11 @@ module.exports = function (source, options) { code.push(util.format('request(options, %s', 'function (error, response, body) {')) - .push(1, 'if (error) throw new Error(error);') - .blank() - .push(1, 'console.log(body);') - .push('});') - .blank() + .push(1, 'if (error) throw new Error(error);') + .blank() + .push(1, 'console.log(body);') + .push('});') + .blank() return code.join().replace('"JAR"', 'jar').replace(/'fs\.createReadStream\("(.+)"\)'/g, "fs.createReadStream('$1')") } diff --git a/src/targets/node/unirest.js b/src/targets/node/unirest.js index 616805a42..3e2c23eb2 100644 --- a/src/targets/node/unirest.js +++ b/src/targets/node/unirest.js @@ -10,20 +10,20 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var includeFS = false - var code = new CodeBuilder(opts.indent) + let includeFS = false + const code = new CodeBuilder(opts.indent) code.push('const unirest = require("unirest");') - .blank() - .push('const req = unirest("%s", "%s");', source.method, source.url) - .blank() + .blank() + .push('const req = unirest("%s", "%s");', source.method, source.url) + .blank() if (source.cookies.length) { code.push('const CookieJar = unirest.jar();') @@ -38,12 +38,12 @@ module.exports = function (source, options) { if (Object.keys(source.queryObj).length) { code.push('req.query(%s);', JSON.stringify(source.queryObj, null, opts.indent)) - .blank() + .blank() } if (Object.keys(source.headersObj).length) { code.push('req.headers(%s);', JSON.stringify(source.headersObj, null, opts.indent)) - .blank() + .blank() } switch (source.postData.mimeType) { @@ -57,16 +57,16 @@ module.exports = function (source, options) { case 'application/json': if (source.postData.jsonObj) { code.push('req.type("json");') - .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) - .blank() + .push('req.send(%s);', JSON.stringify(source.postData.jsonObj, null, opts.indent)) + .blank() } break - case 'multipart/form-data': - var multipart = [] + case 'multipart/form-data': { + const multipart = [] source.postData.params.forEach(function (param) { - var part = {} + const part = {} if (param.fileName && !param.value) { includeFS = true @@ -88,6 +88,7 @@ module.exports = function (source, options) { code.push('req.multipart(%s);', JSON.stringify(multipart, null, opts.indent)) .blank() break + } default: if (source.postData.text) { @@ -101,11 +102,11 @@ module.exports = function (source, options) { } code.push('req.end(function (res) {') - .push(1, 'if (res.error) throw new Error(res.error);') - .blank() - .push(1, 'console.log(res.body);') - .push('});') - .blank() + .push(1, 'if (res.error) throw new Error(res.error);') + .blank() + .push(1, 'console.log(res.body);') + .push('});') + .blank() return code.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') } diff --git a/src/targets/objc/helpers.js b/src/targets/objc/helpers.js index fcdb95c69..14d136e03 100644 --- a/src/targets/objc/helpers.js +++ b/src/targets/objc/helpers.js @@ -1,6 +1,6 @@ 'use strict' -var util = require('util') +const util = require('util') module.exports = { /** @@ -33,8 +33,8 @@ module.exports = { * NSDictionary *params = @{ @"a": @"b", @"c": @"d" }; */ nsDeclaration: function (nsClass, name, parameters, indent) { - var opening = nsClass + ' *' + name + ' = ' - var literal = this.literalRepresentation(parameters, indent ? opening.length : undefined) + const opening = nsClass + ' *' + name + ' = ' + const literal = this.literalRepresentation(parameters, indent ? opening.length : undefined) return opening + literal + ';' }, @@ -45,24 +45,30 @@ module.exports = { * @return {string} */ literalRepresentation: function (value, indentation) { - var join = indentation === undefined ? ', ' : ',\n ' + this.blankString(indentation) + const join = indentation === undefined ? ', ' : ',\n ' + this.blankString(indentation) switch (Object.prototype.toString.call(value)) { case '[object Number]': return '@' + value - case '[object Array]': - var valuesRepresentation = value.map(function (v) { + + case '[object Array]': { + const valuesRepresentation = value.map(function (v) { return this.literalRepresentation(v) }.bind(this)) return '@[ ' + valuesRepresentation.join(join) + ' ]' - case '[object Object]': - var keyValuePairs = [] - for (var k in value) { + } + + case '[object Object]': { + const keyValuePairs = [] + for (const k in value) { keyValuePairs.push(util.format('@"%s": %s', k, this.literalRepresentation(value[k]))) } return '@{ ' + keyValuePairs.join(join) + ' }' + } + case '[object Boolean]': return value ? '@YES' : '@NO' + default: if (value === null || value === undefined) { return '' diff --git a/src/targets/objc/nsurlsession.js b/src/targets/objc/nsurlsession.js index 0a6a10479..1f1760003 100644 --- a/src/targets/objc/nsurlsession.js +++ b/src/targets/objc/nsurlsession.js @@ -10,19 +10,19 @@ 'use strict' -var helpers = require('./helpers') -var CodeBuilder = require('../../helpers/code-builder') +const helpers = require('./helpers') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', pretty: true, timeout: '10' }, options) - var code = new CodeBuilder(opts.indent) - // Markers for headers to be created as litteral objects and later be set on the NSURLRequest if exist - var req = { + const code = new CodeBuilder(opts.indent) + // Markers for headers to be created as literal objects and later be set on the NSURLRequest if exist + const req = { hasHeaders: false, hasBody: false } @@ -33,7 +33,7 @@ module.exports = function (source, options) { if (Object.keys(source.allHeaders).length) { req.hasHeaders = true code.blank() - .push(helpers.nsDeclaration('NSDictionary', 'headers', source.allHeaders, opts.pretty)) + .push(helpers.nsDeclaration('NSDictionary', 'headers', source.allHeaders, opts.pretty)) } if (source.postData.text || source.postData.jsonObj || source.postData.params) { @@ -45,9 +45,10 @@ module.exports = function (source, options) { // we make it easier for the user to edit it according to his or her needs after pasting. // The user can just add/remove lines adding/removing body parameters. code.blank() - .push('NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', - source.postData.params[0].name, source.postData.params[0].value) - for (var i = 1, len = source.postData.params.length; i < len; i++) { + .push('NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', + source.postData.params[0].name, source.postData.params[0].value) + + for (let i = 1, len = source.postData.params.length; i < len; i++) { code.push('[postData appendData:[@"&%s=%s" dataUsingEncoding:NSUTF8StringEncoding]];', source.postData.params[i].name, source.postData.params[i].value) } @@ -56,8 +57,8 @@ module.exports = function (source, options) { case 'application/json': if (source.postData.jsonObj) { code.push(helpers.nsDeclaration('NSDictionary', 'parameters', source.postData.jsonObj, opts.pretty)) - .blank() - .push('NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];') + .blank() + .push('NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];') } break @@ -66,40 +67,40 @@ module.exports = function (source, options) { // we make it easier for the user to edit it according to his or her needs after pasting. // The user can just edit the parameters NSDictionary or put this part of a snippet in a multipart builder method. code.push(helpers.nsDeclaration('NSArray', 'parameters', source.postData.params, opts.pretty)) - .push('NSString *boundary = @"%s";', source.postData.boundary) - .blank() - .push('NSError *error;') - .push('NSMutableString *body = [NSMutableString string];') - .push('for (NSDictionary *param in parameters) {') - .push(1, '[body appendFormat:@"--%@\\r\\n", boundary];') - .push(1, 'if (param[@"fileName"]) {') - .push(2, '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"; filename=\\"%@\\"\\r\\n", param[@"name"], param[@"fileName"]];') - .push(2, '[body appendFormat:@"Content-Type: %@\\r\\n\\r\\n", param[@"contentType"]];') - .push(2, '[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];') - .push(2, 'if (error) {') - .push(3, 'NSLog(@"%@", error);') - .push(2, '}') - .push(1, '} else {') - .push(2, '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"\\r\\n\\r\\n", param[@"name"]];') - .push(2, '[body appendFormat:@"%@", param[@"value"]];') - .push(1, '}') - .push('}') - .push('[body appendFormat:@"\\r\\n--%@--\\r\\n", boundary];') - .push('NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];') + .push('NSString *boundary = @"%s";', source.postData.boundary) + .blank() + .push('NSError *error;') + .push('NSMutableString *body = [NSMutableString string];') + .push('for (NSDictionary *param in parameters) {') + .push(1, '[body appendFormat:@"--%@\\r\\n", boundary];') + .push(1, 'if (param[@"fileName"]) {') + .push(2, '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"; filename=\\"%@\\"\\r\\n", param[@"name"], param[@"fileName"]];') + .push(2, '[body appendFormat:@"Content-Type: %@\\r\\n\\r\\n", param[@"contentType"]];') + .push(2, '[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];') + .push(2, 'if (error) {') + .push(3, 'NSLog(@"%@", error);') + .push(2, '}') + .push(1, '} else {') + .push(2, '[body appendFormat:@"Content-Disposition:form-data; name=\\"%@\\"\\r\\n\\r\\n", param[@"name"]];') + .push(2, '[body appendFormat:@"%@", param[@"value"]];') + .push(1, '}') + .push('}') + .push('[body appendFormat:@"\\r\\n--%@--\\r\\n", boundary];') + .push('NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];') break default: code.blank() - .push('NSData *postData = [[NSData alloc] initWithData:[@"' + source.postData.text + '" dataUsingEncoding:NSUTF8StringEncoding]];') + .push('NSData *postData = [[NSData alloc] initWithData:[@"' + source.postData.text + '" dataUsingEncoding:NSUTF8StringEncoding]];') } } code.blank() - .push('NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"' + source.fullUrl + '"]') - // NSURLRequestUseProtocolCachePolicy is the default policy, let's just always set it to avoid confusion. - .push(' cachePolicy:NSURLRequestUseProtocolCachePolicy') - .push(' timeoutInterval:' + parseInt(opts.timeout, 10).toFixed(1) + '];') - .push('[request setHTTPMethod:@"' + source.method + '"];') + .push('NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"' + source.fullUrl + '"]') + // NSURLRequestUseProtocolCachePolicy is the default policy, let's just always set it to avoid confusion. + .push(' cachePolicy:NSURLRequestUseProtocolCachePolicy') + .push(' timeoutInterval:' + parseInt(opts.timeout, 10).toFixed(1) + '];') + .push('[request setHTTPMethod:@"' + source.method + '"];') if (req.hasHeaders) { code.push('[request setAllHTTPHeaderFields:headers];') @@ -110,19 +111,19 @@ module.exports = function (source, options) { } code.blank() - // Retrieving the shared session will be less verbose than creating a new one. - .push('NSURLSession *session = [NSURLSession sharedSession];') - .push('NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request') - .push(' completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {') - .push(1, ' if (error) {') - .push(2, ' NSLog(@"%@", error);') - .push(1, ' } else {') - // Casting the NSURLResponse to NSHTTPURLResponse so the user can see the status . - .push(2, ' NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;') - .push(2, ' NSLog(@"%@", httpResponse);') - .push(1, ' }') - .push(' }];') - .push('[dataTask resume];') + // Retrieving the shared session will be less verbose than creating a new one. + .push('NSURLSession *session = [NSURLSession sharedSession];') + .push('NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request') + .push(' completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {') + .push(1, ' if (error) {') + .push(2, ' NSLog(@"%@", error);') + .push(1, ' } else {') + // Casting the NSURLResponse to NSHTTPURLResponse so the user can see the status . + .push(2, ' NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;') + .push(2, ' NSLog(@"%@", httpResponse);') + .push(1, ' }') + .push(' }];') + .push('[dataTask resume];') return code.join() } diff --git a/src/targets/ocaml/cohttp.js b/src/targets/ocaml/cohttp.js index e4cd43343..76e2335c3 100644 --- a/src/targets/ocaml/cohttp.js +++ b/src/targets/ocaml/cohttp.js @@ -10,24 +10,24 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ' }, options) - var methods = ['get', 'post', 'head', 'delete', 'patch', 'put', 'options'] - var code = new CodeBuilder(opts.indent) + const methods = ['get', 'post', 'head', 'delete', 'patch', 'put', 'options'] + const code = new CodeBuilder(opts.indent) code.push('open Cohttp_lwt_unix') - .push('open Cohttp') - .push('open Lwt') - .blank() - .push('let uri = Uri.of_string "%s" in', source.fullUrl) + .push('open Cohttp') + .push('open Lwt') + .blank() + .push('let uri = Uri.of_string "%s" in', source.fullUrl) // Add headers, including the cookies - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) if (headers.length === 1) { code.push('let headers = Header.add (Header.init ()) "%s" "%s" in', headers[0], source.allHeaders[headers[0]]) @@ -58,7 +58,7 @@ module.exports = function (source, options) { // Catch result code.push('>>= fun (res, body_stream) ->') - .push(1, '(* Do stuff with the result *)') + .push(1, '(* Do stuff with the result *)') return code.join() } diff --git a/src/targets/php/curl.js b/src/targets/php/curl.js index eebb82afa..1a7b6a8be 100644 --- a/src/targets/php/curl.js +++ b/src/targets/php/curl.js @@ -10,11 +10,11 @@ 'use strict' -var util = require('util') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ closingTag: false, indent: ' ', maxRedirects: 10, @@ -24,7 +24,7 @@ module.exports = function (source, options) { timeout: 30 }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) if (!opts.noTags) { code.push(opts.shortTags ? ' ' + convert(obj[i], indent + indent, indent)) } diff --git a/src/targets/php/http1.js b/src/targets/php/http1.js index 5f6298197..97a6422c5 100644 --- a/src/targets/php/http1.js +++ b/src/targets/php/http1.js @@ -10,22 +10,22 @@ 'use strict' -var helpers = require('./helpers') -var CodeBuilder = require('../../helpers/code-builder') +const helpers = require('./helpers') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ closingTag: false, indent: ' ', noTags: false, shortTags: false }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) if (!opts.noTags) { code.push(opts.shortTags ? 'setUrl(%s);', helpers.convert(source.url)) + .push('$request->setUrl(%s);', helpers.convert(source.url)) if (~helpers.methods.indexOf(source.method.toUpperCase())) { code.push('$request->setMethod(HTTP_METH_%s);', source.method.toUpperCase()) @@ -45,44 +45,44 @@ module.exports = function (source, options) { if (Object.keys(source.queryObj).length) { code.push('$request->setQueryData(%s);', helpers.convert(source.queryObj, opts.indent)) - .blank() + .blank() } if (Object.keys(source.headersObj).length) { code.push('$request->setHeaders(%s);', helpers.convert(source.headersObj, opts.indent)) - .blank() + .blank() } if (Object.keys(source.cookiesObj).length) { code.push('$request->setCookies(%s);', helpers.convert(source.cookiesObj, opts.indent)) - .blank() + .blank() } switch (source.postData.mimeType) { case 'application/x-www-form-urlencoded': code.push('$request->setContentType(%s);', helpers.convert(source.postData.mimeType)) - .push('$request->setPostFields(%s);', helpers.convert(source.postData.paramsObj, opts.indent)) - .blank() + .push('$request->setPostFields(%s);', helpers.convert(source.postData.paramsObj, opts.indent)) + .blank() break default: if (source.postData.text) { code.push('$request->setBody(%s);', helpers.convert(source.postData.text)) - .blank() + .blank() } } code.push('try {') - .push(1, '$response = $request->send();') - .blank() - .push(1, 'echo $response->getBody();') - .push('} catch (HttpException $ex) {') - .push(1, 'echo $ex;') - .push('}') + .push(1, '$response = $request->send();') + .blank() + .push(1, 'echo $response->getBody();') + .push('} catch (HttpException $ex) {') + .push(1, 'echo $ex;') + .push('}') if (!opts.noTags && opts.closingTag) { code.blank() - .push('?>') + .push('?>') } return code.join() diff --git a/src/targets/php/http2.js b/src/targets/php/http2.js index a5defa4dc..b62a12c47 100644 --- a/src/targets/php/http2.js +++ b/src/targets/php/http2.js @@ -10,41 +10,41 @@ 'use strict' -var helpers = require('./helpers') -var headerHelpers = require('../../helpers/headers') -var CodeBuilder = require('../../helpers/code-builder') +const helpers = require('./helpers') +const headerHelpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ closingTag: false, indent: ' ', noTags: false, shortTags: false }, options) - var code = new CodeBuilder(opts.indent) - var hasBody = false + const code = new CodeBuilder(opts.indent) + let hasBody = false if (!opts.noTags) { code.push(opts.shortTags ? 'append(new http\\QueryString(%s));', helpers.convert(source.postData.paramsObj, opts.indent)) - .blank() + .push('$body->append(new http\\QueryString(%s));', helpers.convert(source.postData.paramsObj, opts.indent)) + .blank() hasBody = true break - case 'multipart/form-data': - var files = [] - var fields = {} + case 'multipart/form-data': { + const files = [] + const fields = {} source.postData.params.forEach(function (param) { if (param.fileName) { @@ -60,10 +60,10 @@ module.exports = function (source, options) { }) code.push('$body = new http\\Message\\Body;') - .push('$body->addForm(%s, %s);', - Object.keys(fields).length ? helpers.convert(fields, opts.indent) : 'null', - files.length ? helpers.convert(files, opts.indent) : 'null' - ) + .push('$body->addForm(%s, %s);', + Object.keys(fields).length ? helpers.convert(fields, opts.indent) : 'null', + files.length ? helpers.convert(files, opts.indent) : 'null' + ) // remove the contentType header if (headerHelpers.hasHeader(source.headersObj, 'content-type')) { @@ -76,48 +76,49 @@ module.exports = function (source, options) { hasBody = true break + } default: if (source.postData.text) { code.push('$body = new http\\Message\\Body;') - .push('$body->append(%s);', helpers.convert(source.postData.text)) - .blank() + .push('$body->append(%s);', helpers.convert(source.postData.text)) + .blank() hasBody = true } } code.push('$request->setRequestUrl(%s);', helpers.convert(source.url)) - .push('$request->setRequestMethod(%s);', helpers.convert(source.method)) + .push('$request->setRequestMethod(%s);', helpers.convert(source.method)) if (hasBody) { code.push('$request->setBody($body);') - .blank() + .blank() } if (Object.keys(source.queryObj).length) { code.push('$request->setQuery(new http\\QueryString(%s));', helpers.convert(source.queryObj, opts.indent)) - .blank() + .blank() } if (Object.keys(source.headersObj).length) { code.push('$request->setHeaders(%s);', helpers.convert(source.headersObj, opts.indent)) - .blank() + .blank() } if (Object.keys(source.cookiesObj).length) { code.blank() - .push('$client->setCookies(%s);', helpers.convert(source.cookiesObj, opts.indent)) - .blank() + .push('$client->setCookies(%s);', helpers.convert(source.cookiesObj, opts.indent)) + .blank() } code.push('$client->enqueue($request)->send();') - .push('$response = $client->getResponse();') - .blank() - .push('echo $response->getBody();') + .push('$response = $client->getResponse();') + .blank() + .push('echo $response->getBody();') if (!opts.noTags && opts.closingTag) { code.blank() - .push('?>') + .push('?>') } return code.join() diff --git a/src/targets/powershell/common.js b/src/targets/powershell/common.js index 5cfbae3d8..e6c53a538 100644 --- a/src/targets/powershell/common.js +++ b/src/targets/powershell/common.js @@ -1,21 +1,21 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('../../helpers/headers') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('../../helpers/headers') module.exports = function (command) { return function (source, options) { - var code = new CodeBuilder() - var methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'] + const code = new CodeBuilder() + const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'] if (methods.indexOf(source.method.toUpperCase()) === -1) { return 'Method not supported' } - var commandOptions = [] + const commandOptions = [] // Add headers, including the cookies - var headers = Object.keys(source.headersObj) + const headers = Object.keys(source.headersObj) // construct headers if (headers.length) { diff --git a/src/targets/python/helpers.js b/src/targets/python/helpers.js index ebf53042d..e6ef5564f 100644 --- a/src/targets/python/helpers.js +++ b/src/targets/python/helpers.js @@ -1,6 +1,6 @@ 'use strict' -var util = require('util') +const util = require('util') /** * Create an string of given length filled with blank spaces @@ -17,11 +17,11 @@ function buildString (length, str) { * and indentation. */ function concatValues (concatType, values, pretty, indentation, indentLevel) { - var currentIndent = buildString(indentLevel, indentation) - var closingBraceIndent = buildString(indentLevel - 1, indentation) - var join = pretty ? ',\n' + currentIndent : ', ' - var openingBrace = concatType === 'object' ? '{' : '[' - var closingBrace = concatType === 'object' ? '}' : ']' + const currentIndent = buildString(indentLevel, indentation) + const closingBraceIndent = buildString(indentLevel - 1, indentation) + const join = pretty ? ',\n' + currentIndent : ', ' + const openingBrace = concatType === 'object' ? '{' : '[' + const closingBrace = concatType === 'object' ? '}' : ']' if (pretty) { return openingBrace + '\n' + currentIndent + values.join(join) + '\n' + closingBraceIndent + closingBrace @@ -45,9 +45,9 @@ module.exports = { case '[object Number]': return value - case '[object Array]': - var pretty = false - var valuesRepresentation = value.map(function (v) { + case '[object Array]': { + let pretty = false + const valuesRepresentation = value.map(function (v) { // Switch to prettify if the value is a dictionary with multiple keys if (Object.prototype.toString.call(v) === '[object Object]') { pretty = Object.keys(v).length > 1 @@ -55,13 +55,15 @@ module.exports = { return this.literalRepresentation(v, opts, indentLevel) }.bind(this)) return concatValues('array', valuesRepresentation, pretty, opts.indent, indentLevel) + } - case '[object Object]': - var keyValuePairs = [] - for (var k in value) { + case '[object Object]': { + const keyValuePairs = [] + for (const k in value) { keyValuePairs.push(util.format('"%s": %s', k, this.literalRepresentation(value[k], opts, indentLevel))) } return concatValues('object', keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel) + } case '[object Null]': return 'None' diff --git a/src/targets/python/python3.js b/src/targets/python/python3.js index 753a6571a..a843b9398 100644 --- a/src/targets/python/python3.js +++ b/src/targets/python/python3.js @@ -10,46 +10,45 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var code = new CodeBuilder() + const code = new CodeBuilder() // Start Request code.push('import http.client') - .blank() + .blank() // Check which protocol to be used for the client connection - var protocol = source.uriObj.protocol + const protocol = source.uriObj.protocol if (protocol === 'https:') { code.push('conn = http.client.HTTPSConnection("%s")', source.uriObj.host) - .blank() + .blank() } else { code.push('conn = http.client.HTTPConnection("%s")', source.uriObj.host) - .blank() + .blank() } // Create payload string if it exists - var payload = JSON.stringify(source.postData.text) + const payload = JSON.stringify(source.postData.text) if (payload) { code.push('payload = %s', payload) - .blank() + .blank() } // Create Headers - var header - var headers = source.allHeaders - var headerCount = Object.keys(headers).length + const headers = source.allHeaders + const headerCount = Object.keys(headers).length if (headerCount === 1) { - for (header in headers) { + for (const header in headers) { code.push('headers = { \'%s\': "%s" }', header, headers[header]) - .blank() + .blank() } } else if (headerCount > 1) { - var count = 1 + let count = 1 code.push('headers = {') - for (header in headers) { + for (const header in headers) { if (count++ !== headerCount) { code.push(' \'%s\': "%s",', header, headers[header]) } else { @@ -58,12 +57,12 @@ module.exports = function (source, options) { } code.push(' }') - .blank() + .blank() } // Make Request - var method = source.method - var path = source.uriObj.path + const method = source.method + const path = source.uriObj.path if (payload && headerCount) { code.push('conn.request("%s", "%s", payload, headers)', method, path) } else if (payload && !headerCount) { @@ -76,10 +75,10 @@ module.exports = function (source, options) { // Get Response code.blank() - .push('res = conn.getresponse()') - .push('data = res.read()') - .blank() - .push('print(data.decode("utf-8"))') + .push('res = conn.getresponse()') + .push('data = res.read()') + .blank() + .push('print(data.decode("utf-8"))') return code.join() } diff --git a/src/targets/python/requests.js b/src/targets/python/requests.js index c3f2dc9ce..3dc0ac9b1 100644 --- a/src/targets/python/requests.js +++ b/src/targets/python/requests.js @@ -10,33 +10,34 @@ 'use strict' -var util = require('util') -var CodeBuilder = require('../../helpers/code-builder') -var helpers = require('./helpers') +const util = require('util') +const CodeBuilder = require('../../helpers/code-builder') +const helpers = require('./helpers') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', pretty: true }, options) // Start snippet - var code = new CodeBuilder(' ') + const code = new CodeBuilder(opts.indent) // Import requests code.push('import requests') - .blank() + .blank() // Set URL code.push('url = "%s"', source.url) - .blank() + .blank() // Construct query string + let qs if (Object.keys(source.queryObj).length) { - var qs = 'querystring = ' + JSON.stringify(source.queryObj) + qs = 'querystring = ' + JSON.stringify(source.queryObj) code.push(qs) - .blank() + .blank() } // Construct payload @@ -51,30 +52,30 @@ module.exports = function (source, options) { } break - default: - var payload = JSON.stringify(source.postData.text) + default: { + const payload = JSON.stringify(source.postData.text) if (payload) { code.push('payload = %s', payload) hasPayload = true } + } } // Construct headers - var header - var headers = source.allHeaders - var headerCount = Object.keys(headers).length + const headers = source.allHeaders + const headerCount = Object.keys(headers).length if (headerCount === 1) { - for (header in headers) { + for (const header in headers) { code.push('headers = {"%s": "%s"}', header, headers[header]) - .blank() + .blank() } } else if (headerCount > 1) { - var count = 1 + let count = 1 code.push('headers = {') - for (header in headers) { + for (const header in headers) { if (count++ !== headerCount) { code.push(1, '"%s": "%s",', header, headers[header]) } else { @@ -83,12 +84,12 @@ module.exports = function (source, options) { } code.push('}') - .blank() + .blank() } // Construct request - var method = source.method - var request = util.format('response = requests.request("%s", url', method) + const method = source.method + let request = util.format('response = requests.request("%s", url', method) if (hasPayload) { if (jsonPayload) { @@ -109,10 +110,10 @@ module.exports = function (source, options) { request += ')' code.push(request) - .blank() + .blank() - // Print response - .push('print(response.text)') + // Print response + .push('print(response.text)') return code.join() } diff --git a/src/targets/r/httr.js b/src/targets/r/httr.js index c7cd5b790..db68df270 100644 --- a/src/targets/r/httr.js +++ b/src/targets/r/httr.js @@ -10,12 +10,12 @@ 'use strict' -var util = require('util') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { // Start snippet - var code = new CodeBuilder() + const code = new CodeBuilder() // Import httr code.push('library(httr)') @@ -26,20 +26,19 @@ module.exports = function (source, options) { .blank() // Construct query string - var query - var qs = source.queryObj - var queryCount = Object.keys(qs).length - delete source.queryObj['key'] + const qs = source.queryObj + const queryCount = Object.keys(qs).length + delete source.queryObj.key if (source.queryString.length === 1) { code.push('queryString <- list(%s = "%s")', Object.keys(qs), Object.values(qs).toString()) .blank() } else if (source.queryString.length > 1) { - var count = 1 + let count = 1 code.push('queryString <- list(') - for (query in qs) { + for (const query in qs) { if (count++ !== queryCount - 1) { code.push(' %s = "%s",', query, qs[query].toString()) } else { @@ -52,7 +51,7 @@ module.exports = function (source, options) { } // Construct payload - var payload = JSON.stringify(source.postData.text) + const payload = JSON.stringify(source.postData.text) if (payload) { code.push('payload <- %s', payload) @@ -85,14 +84,13 @@ module.exports = function (source, options) { } // Construct headers - var head - var headers = source.allHeaders - var headerCount = Object.keys(headers).length - var header = '' - var cookies - var accept - - for (head in headers) { + const headers = source.allHeaders + let headerCount = Object.keys(headers).length + let header = '' + let cookies + let accept + + for (const head in headers) { if (head.toLowerCase() === 'accept') { accept = ', accept("' + headers[head] + '")' headerCount = headerCount - 1 @@ -106,8 +104,8 @@ module.exports = function (source, options) { } // Construct request - var method = source.method - var request = util.format('response <- VERB("%s", url', method) + const method = source.method + let request = util.format('response <- VERB("%s", url', method) if (payload) { request += ', body = payload' diff --git a/src/targets/ruby/native.js b/src/targets/ruby/native.js index 4e24a34e0..df96b9e30 100644 --- a/src/targets/ruby/native.js +++ b/src/targets/ruby/native.js @@ -1,12 +1,12 @@ 'use strict' -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var code = new CodeBuilder() + const code = new CodeBuilder() code.push('require \'uri\'') - .push('require \'net/http\'') + .push('require \'net/http\'') if (source.uriObj.protocol === 'https:') { code.push('require \'openssl\'') @@ -16,31 +16,31 @@ module.exports = function (source, options) { // To support custom methods we check for the supported methods // and if doesn't exist then we build a custom class for it - var method = source.method.toUpperCase() - var methods = ['GET', 'POST', 'HEAD', 'DELETE', 'PATCH', 'PUT', 'OPTIONS', 'COPY', 'LOCK', 'UNLOCK', 'MOVE', 'TRACE'] - var capMethod = method.charAt(0) + method.substring(1).toLowerCase() + const method = source.method.toUpperCase() + const methods = ['GET', 'POST', 'HEAD', 'DELETE', 'PATCH', 'PUT', 'OPTIONS', 'COPY', 'LOCK', 'UNLOCK', 'MOVE', 'TRACE'] + const capMethod = method.charAt(0) + method.substring(1).toLowerCase() if (methods.indexOf(method) < 0) { code.push('class Net::HTTP::%s < Net::HTTPRequest', capMethod) - .push(' METHOD = \'%s\'', method.toUpperCase()) - .push(' REQUEST_HAS_BODY = \'%s\'', source.postData.text ? 'true' : 'false') - .push(' RESPONSE_HAS_BODY = true') - .push('end') - .blank() + .push(' METHOD = \'%s\'', method.toUpperCase()) + .push(' REQUEST_HAS_BODY = \'%s\'', source.postData.text ? 'true' : 'false') + .push(' RESPONSE_HAS_BODY = true') + .push('end') + .blank() } code.push('url = URI("%s")', source.fullUrl) - .blank() - .push('http = Net::HTTP.new(url.host, url.port)') + .blank() + .push('http = Net::HTTP.new(url.host, url.port)') if (source.uriObj.protocol === 'https:') { code.push('http.use_ssl = true') - .push('http.verify_mode = OpenSSL::SSL::VERIFY_NONE') + .push('http.verify_mode = OpenSSL::SSL::VERIFY_NONE') } code.blank() - .push('request = Net::HTTP::%s.new(url)', capMethod) + .push('request = Net::HTTP::%s.new(url)', capMethod) - var headers = Object.keys(source.allHeaders) + const headers = Object.keys(source.allHeaders) if (headers.length) { headers.forEach(function (key) { code.push('request["%s"] = \'%s\'', key, source.allHeaders[key]) @@ -52,8 +52,8 @@ module.exports = function (source, options) { } code.blank() - .push('response = http.request(request)') - .push('puts response.read_body') + .push('response = http.request(request)') + .push('puts response.read_body') return code.join() } diff --git a/src/targets/shell/curl.js b/src/targets/shell/curl.js index b6a82d386..d6ef8846e 100644 --- a/src/targets/shell/curl.js +++ b/src/targets/shell/curl.js @@ -10,21 +10,21 @@ 'use strict' -var util = require('util') -var helpers = require('../../helpers/shell') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const helpers = require('../../helpers/shell') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', short: false, binary: false }, options) - var code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') + const code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') code.push('curl %s %s', opts.short ? '-X' : '--request', source.method) - .push(util.format('%s%s', opts.short ? '' : '--url ', helpers.quote(source.fullUrl))) + .push(util.format('%s%s', opts.short ? '' : '--url ', helpers.quote(source.fullUrl))) if (source.httpVersion === 'HTTP/1.0') { code.push(opts.short ? '-0' : '--http1.0') @@ -32,7 +32,7 @@ module.exports = function (source, options) { // construct headers Object.keys(source.headersObj).sort().forEach(function (key) { - var header = util.format('%s: %s', key, source.headersObj[key]) + const header = util.format('%s: %s', key, source.headersObj[key]) code.push('%s %s', opts.short ? '-H' : '--header', helpers.quote(header)) }) @@ -43,8 +43,8 @@ module.exports = function (source, options) { // construct post params switch (source.postData.mimeType) { case 'multipart/form-data': - source.postData.params.map(function (param) { - var post = '' + source.postData.params.forEach(function (param) { + let post = '' if (param.fileName) { post = util.format('%s=@%s', param.name, param.fileName) } else { @@ -57,7 +57,7 @@ module.exports = function (source, options) { case 'application/x-www-form-urlencoded': if (source.postData.params) { - source.postData.params.map(function (param) { + source.postData.params.forEach(function (param) { code.push( '%s %s', opts.binary ? '--data-binary' : (opts.short ? '-d' : '--data'), helpers.quote(util.format('%s=%s', param.name, param.value)) diff --git a/src/targets/shell/httpie.js b/src/targets/shell/httpie.js index b880fc106..40b0338a3 100644 --- a/src/targets/shell/httpie.js +++ b/src/targets/shell/httpie.js @@ -10,12 +10,12 @@ 'use strict' -var util = require('util') -var shell = require('../../helpers/shell') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const shell = require('../../helpers/shell') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ body: false, cert: false, headers: false, @@ -30,10 +30,10 @@ module.exports = function (source, options) { verify: false }, options) - var code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') + const code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') - var raw = false - var flags = [] + let raw = false + const flags = [] if (opts.headers) { flags.push(opts.short ? '-h' : '--headers') @@ -73,10 +73,10 @@ module.exports = function (source, options) { // construct query params if (opts.queryParams) { - var queryStringKeys = Object.keys(source.queryObj) + const queryStringKeys = Object.keys(source.queryObj) queryStringKeys.forEach(function (name) { - var value = source.queryObj[name] + const value = source.queryObj[name] if (Array.isArray(value)) { value.forEach(function (val) { diff --git a/src/targets/shell/wget.js b/src/targets/shell/wget.js index 2155552ce..a453cc855 100644 --- a/src/targets/shell/wget.js +++ b/src/targets/shell/wget.js @@ -10,18 +10,18 @@ 'use strict' -var util = require('util') -var helpers = require('../../helpers/shell') -var CodeBuilder = require('../../helpers/code-builder') +const util = require('util') +const helpers = require('../../helpers/shell') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', short: false, verbose: false }, options) - var code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') + const code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') if (opts.verbose) { code.push('wget %s', opts.short ? '-v' : '--verbose') @@ -32,7 +32,7 @@ module.exports = function (source, options) { code.push('--method %s', helpers.quote(source.method)) Object.keys(source.allHeaders).forEach(function (key) { - var header = util.format('%s: %s', key, source.allHeaders[key]) + const header = util.format('%s: %s', key, source.allHeaders[key]) code.push('--header %s', helpers.quote(header)) }) @@ -41,7 +41,7 @@ module.exports = function (source, options) { } code.push(opts.short ? '-O' : '--output-document') - .push('- %s', helpers.quote(source.fullUrl)) + .push('- %s', helpers.quote(source.fullUrl)) return code.join() } diff --git a/src/targets/swift/helpers.js b/src/targets/swift/helpers.js index 04c0b0d97..62a212127 100644 --- a/src/targets/swift/helpers.js +++ b/src/targets/swift/helpers.js @@ -1,6 +1,6 @@ 'use strict' -var util = require('util') +const util = require('util') /** * Create an string of given length filled with blank spaces @@ -18,9 +18,9 @@ function buildString (length, str) { * and indentation. */ function concatArray (arr, pretty, indentation, indentLevel) { - var currentIndent = buildString(indentLevel, indentation) - var closingBraceIndent = buildString(indentLevel - 1, indentation) - var join = pretty ? ',\n' + currentIndent : ', ' + const currentIndent = buildString(indentLevel, indentation) + const closingBraceIndent = buildString(indentLevel - 1, indentation) + const join = pretty ? ',\n' + currentIndent : ', ' if (pretty) { return '[\n' + currentIndent + arr.join(join) + '\n' + closingBraceIndent + ']' @@ -55,10 +55,11 @@ module.exports = { switch (Object.prototype.toString.call(value)) { case '[object Number]': return value - case '[object Array]': + + case '[object Array]': { // Don't prettify arrays nto not take too much space - var pretty = false - var valuesRepresentation = value.map(function (v) { + let pretty = false + const valuesRepresentation = value.map(function (v) { // Switch to prettify if the value is a dictionary with multiple keys if (Object.prototype.toString.call(v) === '[object Object]') { pretty = Object.keys(v).length > 1 @@ -66,14 +67,19 @@ module.exports = { return this.literalRepresentation(v, opts, indentLevel) }.bind(this)) return concatArray(valuesRepresentation, pretty, opts.indent, indentLevel) - case '[object Object]': - var keyValuePairs = [] - for (var k in value) { + } + + case '[object Object]': { + const keyValuePairs = [] + for (const k in value) { keyValuePairs.push(util.format('"%s": %s', k, this.literalRepresentation(value[k], opts, indentLevel))) } return concatArray(keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel) + } + case '[object Boolean]': return value.toString() + default: if (value === null || value === undefined) { return '' diff --git a/src/targets/swift/nsurlsession.js b/src/targets/swift/nsurlsession.js index 2c42a5a9d..d3b48a72e 100644 --- a/src/targets/swift/nsurlsession.js +++ b/src/targets/swift/nsurlsession.js @@ -10,20 +10,20 @@ 'use strict' -var helpers = require('./helpers') -var CodeBuilder = require('../../helpers/code-builder') +const helpers = require('./helpers') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { - var opts = Object.assign({ + const opts = Object.assign({ indent: ' ', pretty: true, timeout: '10' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) // Markers for headers to be created as litteral objects and later be set on the NSURLRequest if exist - var req = { + const req = { hasHeaders: false, hasBody: false } @@ -34,7 +34,7 @@ module.exports = function (source, options) { if (Object.keys(source.allHeaders).length) { req.hasHeaders = true code.blank() - .push(helpers.literalDeclaration('headers', source.allHeaders, opts)) + .push(helpers.literalDeclaration('headers', source.allHeaders, opts)) } if (source.postData.text || source.postData.jsonObj || source.postData.params) { @@ -46,8 +46,8 @@ module.exports = function (source, options) { // we make it easier for the user to edit it according to his or her needs after pasting. // The user can just add/remove lines adding/removing body parameters. code.blank() - .push('let postData = NSMutableData(data: "%s=%s".data(using: String.Encoding.utf8)!)', source.postData.params[0].name, source.postData.params[0].value) - for (var i = 1, len = source.postData.params.length; i < len; i++) { + .push('let postData = NSMutableData(data: "%s=%s".data(using: String.Encoding.utf8)!)', source.postData.params[0].name, source.postData.params[0].value) + for (let i = 1, len = source.postData.params.length; i < len; i++) { code.push('postData.append("&%s=%s".data(using: String.Encoding.utf8)!)', source.postData.params[i].name, source.postData.params[i].value) } break @@ -55,8 +55,8 @@ module.exports = function (source, options) { case 'application/json': if (source.postData.jsonObj) { code.push(helpers.literalDeclaration('parameters', source.postData.jsonObj, opts), 'as [String : Any]') - .blank() - .push('let postData = JSONSerialization.data(withJSONObject: parameters, options: [])') + .blank() + .push('let postData = JSONSerialization.data(withJSONObject: parameters, options: [])') } break @@ -67,42 +67,42 @@ module.exports = function (source, options) { * The user can just edit the parameters NSDictionary or put this part of a snippet in a multipart builder method. */ code.push(helpers.literalDeclaration('parameters', source.postData.params, opts)) - .blank() - .push('let boundary = "%s"', source.postData.boundary) - .blank() - .push('var body = ""') - .push('var error: NSError? = nil') - .push('for param in parameters {') - .push(1, 'let paramName = param["name"]!') - .push(1, 'body += "--\\(boundary)\\r\\n"') - .push(1, 'body += "Content-Disposition:form-data; name=\\"\\(paramName)\\""') - .push(1, 'if let filename = param["fileName"] {') - .push(2, 'let contentType = param["content-type"]!') - .push(2, 'let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)') - .push(2, 'if (error != nil) {') - .push(3, 'print(error)') - .push(2, '}') - .push(2, 'body += "; filename=\\"\\(filename)\\"\\r\\n"') - .push(2, 'body += "Content-Type: \\(contentType)\\r\\n\\r\\n"') - .push(2, 'body += fileContent') - .push(1, '} else if let paramValue = param["value"] {') - .push(2, 'body += "\\r\\n\\r\\n\\(paramValue)"') - .push(1, '}') - .push('}') + .blank() + .push('let boundary = "%s"', source.postData.boundary) + .blank() + .push('var body = ""') + .push('var error: NSError? = nil') + .push('for param in parameters {') + .push(1, 'let paramName = param["name"]!') + .push(1, 'body += "--\\(boundary)\\r\\n"') + .push(1, 'body += "Content-Disposition:form-data; name=\\"\\(paramName)\\""') + .push(1, 'if let filename = param["fileName"] {') + .push(2, 'let contentType = param["content-type"]!') + .push(2, 'let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)') + .push(2, 'if (error != nil) {') + .push(3, 'print(error)') + .push(2, '}') + .push(2, 'body += "; filename=\\"\\(filename)\\"\\r\\n"') + .push(2, 'body += "Content-Type: \\(contentType)\\r\\n\\r\\n"') + .push(2, 'body += fileContent') + .push(1, '} else if let paramValue = param["value"] {') + .push(2, 'body += "\\r\\n\\r\\n\\(paramValue)"') + .push(1, '}') + .push('}') break default: code.blank() - .push('let postData = NSData(data: "%s".data(using: String.Encoding.utf8)!)', source.postData.text) + .push('let postData = NSData(data: "%s".data(using: String.Encoding.utf8)!)', source.postData.text) } } code.blank() - // NSURLRequestUseProtocolCachePolicy is the default policy, let's just always set it to avoid confusion. - .push('let request = NSMutableURLRequest(url: NSURL(string: "%s")! as URL,', source.fullUrl) - .push(' cachePolicy: .useProtocolCachePolicy,') - .push(' timeoutInterval: %s)', parseInt(opts.timeout, 10).toFixed(1)) - .push('request.httpMethod = "%s"', source.method) + // NSURLRequestUseProtocolCachePolicy is the default policy, let's just always set it to avoid confusion. + .push('let request = NSMutableURLRequest(url: NSURL(string: "%s")! as URL,', source.fullUrl) + .push(' cachePolicy: .useProtocolCachePolicy,') + .push(' timeoutInterval: %s)', parseInt(opts.timeout, 10).toFixed(1)) + .push('request.httpMethod = "%s"', source.method) if (req.hasHeaders) { code.push('request.allHTTPHeaderFields = headers') @@ -113,19 +113,19 @@ module.exports = function (source, options) { } code.blank() - // Retrieving the shared session will be less verbose than creating a new one. - .push('let session = URLSession.shared') - .push('let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in') - .push(1, 'if (error != nil) {') - .push(2, 'print(error)') - .push(1, '} else {') - // Casting the NSURLResponse to NSHTTPURLResponse so the user can see the status . - .push(2, 'let httpResponse = response as? HTTPURLResponse') - .push(2, 'print(httpResponse)') - .push(1, '}') - .push('})') - .blank() - .push('dataTask.resume()') + // Retrieving the shared session will be less verbose than creating a new one. + .push('let session = URLSession.shared') + .push('let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in') + .push(1, 'if (error != nil) {') + .push(2, 'print(error)') + .push(1, '} else {') + // Casting the NSURLResponse to NSHTTPURLResponse so the user can see the status . + .push(2, 'let httpResponse = response as? HTTPURLResponse') + .push(2, 'print(httpResponse)') + .push(1, '}') + .push('})') + .blank() + .push('dataTask.resume()') return code.join() } diff --git a/test/headers.js b/test/headers.js index 41476727c..bc7b48c99 100644 --- a/test/headers.js +++ b/test/headers.js @@ -1,13 +1,11 @@ -/* global describe, it */ - 'use strict' -var helpers = require('../src/helpers/headers') -var should = require('should') +const helpers = require('../src/helpers/headers') +const should = require('should') const headers = { 'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001', - 'accept': 'application/json' + accept: 'application/json' } describe('Headers', function () { diff --git a/test/index.js b/test/index.js index 29ba5cf56..d35bda61b 100644 --- a/test/index.js +++ b/test/index.js @@ -1,15 +1,13 @@ -/* global describe, it */ - 'use strict' -var fixtures = require('./fixtures') -var HTTPSnippet = require('../src') +const fixtures = require('./fixtures') +const HTTPSnippet = require('../src') -var should = require('should') +const should = require('should') describe('HTTPSnippet', function () { it('should return false if no matching target', function (done) { - var snippet = new HTTPSnippet(fixtures.requests.short) + const snippet = new HTTPSnippet(fixtures.requests.short) snippet.convert(null).should.eql(false) @@ -17,11 +15,11 @@ describe('HTTPSnippet', function () { }) it('should fail validation', function (done) { - var snippet; + let snippet; /* eslint-disable no-extra-parens */ (function () { - snippet = new HTTPSnippet({yolo: 'foo'}) + snippet = new HTTPSnippet({ yolo: 'foo' }) }).should.throw(Error) should.not.exist(snippet) @@ -30,12 +28,12 @@ describe('HTTPSnippet', function () { }) it('should parse HAR file with multiple entries', function (done) { - var snippet = new HTTPSnippet(fixtures.har) + const snippet = new HTTPSnippet(fixtures.har) snippet.should.have.property('requests').and.be.an.Array() snippet.requests.length.should.equal(2) - var results = snippet.convert('shell') + const results = snippet.convert('shell') results.should.be.an.Array() results.length.should.equal(2) @@ -44,7 +42,7 @@ describe('HTTPSnippet', function () { }) it('should convert multipart/mixed to multipart/form-data', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['multipart/mixed']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['multipart/mixed']).requests[0] req.postData.mimeType.should.eql('multipart/form-data') @@ -52,7 +50,7 @@ describe('HTTPSnippet', function () { }) it('should convert multipart/related to multipart/form-data', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['multipart/related']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['multipart/related']).requests[0] req.postData.mimeType.should.eql('multipart/form-data') @@ -60,7 +58,7 @@ describe('HTTPSnippet', function () { }) it('should convert multipart/alternative to multipart/form-data', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['multipart/alternative']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['multipart/alternative']).requests[0] req.postData.mimeType.should.eql('multipart/form-data') @@ -68,7 +66,7 @@ describe('HTTPSnippet', function () { }) it('should convert text/json to application/json', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['text/json']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['text/json']).requests[0] req.postData.mimeType.should.eql('application/json') @@ -76,7 +74,7 @@ describe('HTTPSnippet', function () { }) it('should convert text/x-json to application/json', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['text/x-json']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['text/x-json']).requests[0] req.postData.mimeType.should.eql('application/json') @@ -84,7 +82,7 @@ describe('HTTPSnippet', function () { }) it('should convert application/x-json to application/json', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['application/x-json']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['application/x-json']).requests[0] req.postData.mimeType.should.eql('application/json') @@ -92,7 +90,7 @@ describe('HTTPSnippet', function () { }) it('should gracefully fallback if not able to parse JSON', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['invalid-json']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['invalid-json']).requests[0] req.postData.mimeType.should.eql('text/plain') @@ -100,7 +98,7 @@ describe('HTTPSnippet', function () { }) it('should set postData.text = empty string when postData.params === undefined in application/x-www-form-urlencoded', function (done) { - var req = new HTTPSnippet(fixtures.mimetypes['application/x-www-form-urlencoded']).requests[0] + const req = new HTTPSnippet(fixtures.mimetypes['application/x-www-form-urlencoded']).requests[0] req.postData.text.should.eql('') @@ -108,7 +106,7 @@ describe('HTTPSnippet', function () { }) it('should add "uriObj" to source object', function (done) { - var req = new HTTPSnippet(fixtures.requests.query).requests[0] + const req = new HTTPSnippet(fixtures.requests.query).requests[0] req.uriObj.should.be.an.Object() @@ -139,7 +137,7 @@ describe('HTTPSnippet', function () { }) it('should add "queryObj" to source object', function (done) { - var req = new HTTPSnippet(fixtures.requests.query).requests[0] + const req = new HTTPSnippet(fixtures.requests.query).requests[0] req.queryObj.should.be.an.Object() req.queryObj.should.eql({ @@ -155,11 +153,11 @@ describe('HTTPSnippet', function () { }) it('should add "headersObj" to source object', function (done) { - var req = new HTTPSnippet(fixtures.requests.headers).requests[0] + const req = new HTTPSnippet(fixtures.requests.headers).requests[0] req.headersObj.should.be.an.Object() req.headersObj.should.eql({ - 'accept': 'application/json', + accept: 'application/json', 'x-foo': 'Bar' }) @@ -167,18 +165,18 @@ describe('HTTPSnippet', function () { }) it('should add "headersObj" to source object case insensitive when HTTP/1.0', function (done) { - var fixture = Object.assign({}, fixtures.requests.headers) + const fixture = Object.assign({}, fixtures.requests.headers) fixture.httpVersion = 'HTTP/1.1' fixture.headers = fixture.headers.concat({ name: 'Kong-Admin-Token', value: 'Hunter1' }) - var req = new HTTPSnippet(fixture).requests[0] + const req = new HTTPSnippet(fixture).requests[0] req.headersObj.should.be.an.Object() req.headersObj.should.eql({ 'Kong-Admin-Token': 'Hunter1', - 'accept': 'application/json', + accept: 'application/json', 'x-foo': 'Bar' }) @@ -186,18 +184,18 @@ describe('HTTPSnippet', function () { }) it('should add "headersObj" to source object in lowercase when HTTP/2.x', function (done) { - var fixture = Object.assign({}, fixtures.requests.headers) + const fixture = Object.assign({}, fixtures.requests.headers) fixture.httpVersion = 'HTTP/2' fixture.headers = fixture.headers.concat({ name: 'Kong-Admin-Token', value: 'Hunter1' }) - var req = new HTTPSnippet(fixture).requests[0] + const req = new HTTPSnippet(fixture).requests[0] req.headersObj.should.be.an.Object() req.headersObj.should.eql({ 'kong-admin-token': 'Hunter1', - 'accept': 'application/json', + accept: 'application/json', 'x-foo': 'Bar' }) @@ -205,7 +203,7 @@ describe('HTTPSnippet', function () { }) it('should modify orignal url to strip query string', function (done) { - var req = new HTTPSnippet(fixtures.requests.query).requests[0] + const req = new HTTPSnippet(fixtures.requests.query).requests[0] req.url.should.be.a.String() req.url.should.eql('http://mockbin.com/har') @@ -214,7 +212,7 @@ describe('HTTPSnippet', function () { }) it('should add "fullUrl" to source object', function (done) { - var req = new HTTPSnippet(fixtures.requests.query).requests[0] + const req = new HTTPSnippet(fixtures.requests.query).requests[0] req.fullUrl.should.be.a.String() req.fullUrl.should.eql('http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value') @@ -223,7 +221,7 @@ describe('HTTPSnippet', function () { }) it('should fix "path" property of "uriObj" to match queryString', function (done) { - var req = new HTTPSnippet(fixtures.requests.query).requests[0] + const req = new HTTPSnippet(fixtures.requests.query).requests[0] req.uriObj.path.should.be.a.String() req.uriObj.path.should.eql('/har?foo=bar&foo=baz&baz=abc&key=value') diff --git a/test/reducer.js b/test/reducer.js index 80a43bbf4..73f130e76 100644 --- a/test/reducer.js +++ b/test/reducer.js @@ -1,38 +1,36 @@ -/* global describe, it */ - 'use strict' -var reducer = require('../src/helpers/reducer') +const reducer = require('../src/helpers/reducer') require('should') describe('Reducer', function () { it('should convert array object pair to key-value object', function (done) { - var query = [ - {name: 'key', value: 'value'}, - {name: 'foo', value: 'bar'} + const query = [ + { name: 'key', value: 'value' }, + { name: 'foo', value: 'bar' } ] - var obj = query.reduce(reducer, {}) + const obj = query.reduce(reducer, {}) obj.should.be.an.Object() - obj.should.eql({key: 'value', foo: 'bar'}) + obj.should.eql({ key: 'value', foo: 'bar' }) done() }) it('should convert multi-dimensional arrays to key=[array] object', function (done) { - var query = [ - {name: 'key', value: 'value'}, - {name: 'foo', value: 'bar1'}, - {name: 'foo', value: 'bar2'}, - {name: 'foo', value: 'bar3'} + const query = [ + { name: 'key', value: 'value' }, + { name: 'foo', value: 'bar1' }, + { name: 'foo', value: 'bar2' }, + { name: 'foo', value: 'bar3' } ] - var obj = query.reduce(reducer, {}) + const obj = query.reduce(reducer, {}) obj.should.be.an.Object() - obj.should.eql({key: 'value', foo: ['bar1', 'bar2', 'bar3']}) + obj.should.eql({ key: 'value', foo: ['bar1', 'bar2', 'bar3'] }) done() }) diff --git a/test/requests.js b/test/requests.js index 4d23594b5..dd52ff9cd 100644 --- a/test/requests.js +++ b/test/requests.js @@ -2,16 +2,17 @@ 'use strict' -var fixtures = require('./fixtures') -var HTTPSnippet = require('../src') -var targets = require('../src/targets') -var shell = require('child_process') -var util = require('util') +const fixtures = require('./fixtures') +const HTTPSnippet = require('../src') +const targets = require('../src/targets') +const shell = require('child_process') +const util = require('util') require('should') -var base = './test/fixtures/output/' -var requests = [ 'application-form-encoded', +const base = './test/fixtures/output/' +const requests = [ + 'application-form-encoded', 'application-json', 'cookies', 'custom-method', @@ -28,19 +29,20 @@ fixtures.cli.forEach(function (cli) { cli.clients.forEach(function (client) { requests.forEach(function (request) { it(client + ' request should match mock for ' + request, function (done) { - var stdout = '' - var fixture = cli.target + '/' + client + '/' + request + HTTPSnippet.extname(cli.target) - var command = util.format(cli.run, base + fixture) + let stdout = '' + const fixture = cli.target + '/' + client + '/' + request + HTTPSnippet.extname(cli.target) + const command = util.format(cli.run, base + fixture) - var ls = shell.exec(command) + const ls = shell.exec(command) ls.stdout.on('data', function (data) { stdout += data }) ls.on('exit', function (code) { + let har try { - var har = JSON.parse(stdout) + har = JSON.parse(stdout) } catch (err) { err.should.be.null() } diff --git a/test/targets.js b/test/targets.js index 03be06502..58d77e3f3 100644 --- a/test/targets.js +++ b/test/targets.js @@ -1,28 +1,26 @@ -/* global describe, it, beforeEach */ - 'use strict' -var fixtures = require('./fixtures') -var fs = require('fs') -var glob = require('glob') -var HTTPSnippet = require('../src') -var path = require('path') -var should = require('should') -var targets = require('../src/targets') +const fixtures = require('./fixtures') +const fs = require('fs') +const glob = require('glob') +const HTTPSnippet = require('../src') +const path = require('path') +const should = require('should') +const targets = require('../src/targets') -var base = './test/fixtures/output/' +const base = './test/fixtures/output/' // read all output files -var output = glob.sync('**/*', {cwd: base, nodir: true}).reduce(function (obj, name) { +const output = glob.sync('**/*', { cwd: base, nodir: true }).reduce(function (obj, name) { obj[name] = fs.readFileSync(base + name) return obj }, {}) -var clearInfo = function (key) { +const clearInfo = function (key) { return !~['info', 'index'].indexOf(key) } -var itShouldHaveTests = function (target, client) { +const itShouldHaveTests = function (target, client) { it(target + ' should have tests', function (done) { fs.readdir(path.join(__dirname, 'targets', target), function (err, files) { should.not.exist(err) @@ -33,7 +31,7 @@ var itShouldHaveTests = function (target, client) { }) } -var itShouldHaveInfo = function (name, obj) { +const itShouldHaveInfo = function (name, obj) { it(name + ' should have info method', function () { obj.should.have.property('info').and.be.an.Object() obj.info.key.should.equal(name).and.be.a.String() @@ -43,16 +41,16 @@ var itShouldHaveInfo = function (name, obj) { // TODO: investigate issues with these fixtures const skipMe = { - 'clojure': { - 'clj_http': ['jsonObj-null-value', 'jsonObj-multiline'] + clojure: { + clj_http: ['jsonObj-null-value', 'jsonObj-multiline'] }, '*': { '*': [] } } -var itShouldHaveRequestTestOutputFixture = function (request, target, client) { - var fixture = target + '/' + client + '/' + request + HTTPSnippet.extname(target) +const itShouldHaveRequestTestOutputFixture = function (request, target, client) { + const fixture = target + '/' + client + '/' + request + HTTPSnippet.extname(target) it('should have output test for ' + request, function () { if (skipMe[target] && @@ -65,8 +63,8 @@ var itShouldHaveRequestTestOutputFixture = function (request, target, client) { }) } -var itShouldGenerateOutput = function (request, path, target, client) { - var fixture = path + request + HTTPSnippet.extname(target) +const itShouldGenerateOutput = function (request, path, target, client) { + const fixture = path + request + HTTPSnippet.extname(target) it('should generate ' + request + ' snippet', function () { if (Object.keys(output).indexOf(fixture) === -1 || @@ -76,11 +74,12 @@ var itShouldGenerateOutput = function (request, path, target, client) { skipMe['*']['*'].indexOf(request) > -1)) { this.skip() } - var instance = new HTTPSnippet(fixtures.requests[request]) + + const instance = new HTTPSnippet(fixtures.requests[request]) // `form-data` sets the line break as `\r\n`, but we can't easily replicate that in our fixtures so let's convert // it to a standard line break instead. - var result = instance.convert(target, client).replace(/\r\n/g, '\n').trim() + const result = instance.convert(target, client).replace(/\r\n/g, '\n').trim() result.should.be.a.String() result.should.equal(output[fixture].toString().trim()) @@ -105,7 +104,7 @@ describe('Custom targets', function () { it('should throw if the target does not have a properly constructed info object', function () { (function () { - HTTPSnippet.addTarget({info: {key: ''}}) + HTTPSnippet.addTarget({ info: { key: '' } }) }).should.throw(Error) }) @@ -156,7 +155,7 @@ describe('Custom targets', function () { it('should throw if client already exists', function () { (function () { - HTTPSnippet.addTargetClient('node', {...customClient, info: {...customClient.info, key: 'axios'}}) + HTTPSnippet.addTargetClient('node', { ...customClient, info: { ...customClient.info, key: 'axios' } }) }).should.throw(Error) }) @@ -174,7 +173,7 @@ describe('Custom targets', function () { it('should throw if the target does not have a properly constructed info object', function () { (function () { - HTTPSnippet.addTargetClient('node', {info: {key: ''}}) + HTTPSnippet.addTargetClient('node', { info: { key: '' } }) }).should.throw(Error) }) @@ -205,7 +204,7 @@ describe('Targets', function () { itShouldHaveTests(target, client) - var test = require(path.join(__dirname, 'targets', target, client)) + const test = require(path.join(__dirname, 'targets', target, client)) test(HTTPSnippet, fixtures) diff --git a/test/targets/go/native.js b/test/targets/go/native.js index 8daa55a44..5137eccb8 100644 --- a/test/targets/go/native.js +++ b/test/targets/go/native.js @@ -1,20 +1,19 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should support false boilerplate option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { + const result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { showBoilerplate: false }) result.should.be.a.String() result.should.eql('url := "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value"\n\npayload := strings.NewReader("foo=bar")\n\nreq, _ := http.NewRequest("POST", url, payload)\n\nreq.Header.Add("cookie", "foo=bar; bar=baz")\nreq.Header.Add("accept", "application/json")\nreq.Header.Add("content-type", "application/x-www-form-urlencoded")\n\nres, _ := http.DefaultClient.Do(req)\n\ndefer res.Body.Close()\nbody, _ := ioutil.ReadAll(res.Body)\n\nfmt.Println(res)\nfmt.Println(string(body))') }) + it('should support checkErrors option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { + const result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { checkErrors: true }) @@ -59,8 +58,9 @@ func main() { }`) }) + it('should support printBody option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { + const result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { printBody: false }) @@ -91,8 +91,9 @@ func main() { }`) }) + it('should support timeout option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { + const result = new HTTPSnippet(fixtures.requests.full).convert('go', 'native', { timeout: 30 }) diff --git a/test/targets/javascript/xhr.js b/test/targets/javascript/xhr.js index 4e7ec3df7..fd522aec6 100644 --- a/test/targets/javascript/xhr.js +++ b/test/targets/javascript/xhr.js @@ -1,12 +1,10 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should not use cors', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('javascript', 'xhr', { + const result = new HTTPSnippet(fixtures.requests.short).convert('javascript', 'xhr', { cors: false }) diff --git a/test/targets/objc/nsurlsession.js b/test/targets/objc/nsurlsession.js index aff90e0f8..87f4781b2 100644 --- a/test/targets/objc/nsurlsession.js +++ b/test/targets/objc/nsurlsession.js @@ -1,28 +1,28 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should support an indent option', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('objc', { + const result = new HTTPSnippet(fixtures.requests.short).convert('objc', { indent: ' ' }) result.should.be.a.String() result.replace(/\n/g, '').should.eql('#import NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://mockbin.com/har"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0];[request setHTTPMethod:@"GET"];NSURLSession *session = [NSURLSession sharedSession];NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"%@", error); } else { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; NSLog(@"%@", httpResponse); } }];[dataTask resume];') }) + it('should support a timeout option', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('objc', { + const result = new HTTPSnippet(fixtures.requests.short).convert('objc', { timeout: 5 }) result.should.be.a.String() result.replace(/\n/g, '').should.eql('#import NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://mockbin.com/har"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0];[request setHTTPMethod:@"GET"];NSURLSession *session = [NSURLSession sharedSession];NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"%@", error); } else { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; NSLog(@"%@", httpResponse); } }];[dataTask resume];') }) + it('should support pretty option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('objc', { + const result = new HTTPSnippet(fixtures.requests.full).convert('objc', { pretty: false }) @@ -31,7 +31,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should support json object with null value', function () { - var result = new HTTPSnippet(fixtures.requests['jsonObj-null-value']).convert('objc', { + const result = new HTTPSnippet(fixtures.requests['jsonObj-null-value']).convert('objc', { pretty: false }) diff --git a/test/targets/python/python3.js b/test/targets/python/python3.js index ce4678eb9..9ad8c1790 100644 --- a/test/targets/python/python3.js +++ b/test/targets/python/python3.js @@ -2,5 +2,4 @@ require('should') -module.exports = function (snippet, fixtures) { -} +module.exports = function (snippet, fixtures) {} diff --git a/test/targets/python/requests.js b/test/targets/python/requests.js index 4d632fc70..d85783c08 100644 --- a/test/targets/python/requests.js +++ b/test/targets/python/requests.js @@ -1,12 +1,10 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet) { it('should support query parameters provided in HAR\'s url', function () { - var result = new HTTPSnippet({ 'method': 'GET', 'url': 'http://mockbin.com/har?param=value' }).convert('python', 'requests', { + const result = new HTTPSnippet({ method: 'GET', url: 'http://mockbin.com/har?param=value' }).convert('python', 'requests', { showBoilerplate: false }) diff --git a/test/targets/r/httr.js b/test/targets/r/httr.js index ce4678eb9..9ad8c1790 100644 --- a/test/targets/r/httr.js +++ b/test/targets/r/httr.js @@ -2,5 +2,4 @@ require('should') -module.exports = function (snippet, fixtures) { -} +module.exports = function (snippet, fixtures) {} diff --git a/test/targets/shell/curl.js b/test/targets/shell/curl.js index 0de970ea8..ec24212d6 100644 --- a/test/targets/shell/curl.js +++ b/test/targets/shell/curl.js @@ -1,12 +1,10 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should use short options', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { short: true, indent: false }) @@ -16,7 +14,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use binary option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { short: true, indent: false, binary: true @@ -27,7 +25,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use --http1.0 for HTTP/1.0', function () { - var result = new HTTPSnippet(fixtures.curl.http1).convert('shell', 'curl', { + const result = new HTTPSnippet(fixtures.curl.http1).convert('shell', 'curl', { indent: false }) @@ -36,7 +34,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use custom indentation', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'curl', { indent: '@' }) diff --git a/test/targets/shell/httpie.js b/test/targets/shell/httpie.js index 571a8ea8b..1d11e0518 100644 --- a/test/targets/shell/httpie.js +++ b/test/targets/shell/httpie.js @@ -1,12 +1,10 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should ask for verbose output', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { indent: false, verbose: true }) @@ -16,7 +14,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use short flags', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { body: true, cert: 'foo', headers: true, @@ -35,7 +33,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use long flags', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'httpie', { body: true, cert: 'foo', headers: true, @@ -53,7 +51,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use custom indentation', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'httpie', { indent: '@' }) @@ -62,7 +60,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use queryString parameters', function () { - var result = new HTTPSnippet(fixtures.requests.query).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.query).convert('shell', 'httpie', { indent: false, queryParams: true }) @@ -72,7 +70,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should build parameterized output of query string', function () { - var result = new HTTPSnippet(fixtures.requests.query).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests.query).convert('shell', 'httpie', { indent: false, queryParams: true }) @@ -82,7 +80,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should build parameterized output of post data', function () { - var result = new HTTPSnippet(fixtures.requests['application-form-encoded']).convert('shell', 'httpie', { + const result = new HTTPSnippet(fixtures.requests['application-form-encoded']).convert('shell', 'httpie', { short: true, indent: false, queryParams: true diff --git a/test/targets/shell/wget.js b/test/targets/shell/wget.js index 75adad1fc..7570628c6 100644 --- a/test/targets/shell/wget.js +++ b/test/targets/shell/wget.js @@ -1,12 +1,10 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should use short options', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'wget', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'wget', { short: true, indent: false }) @@ -16,7 +14,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should ask for -v output', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'wget', { + const result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'wget', { short: true, indent: false, verbose: true @@ -27,7 +25,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should ask for --verbose output', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'wget', { + const result = new HTTPSnippet(fixtures.requests.short).convert('shell', 'wget', { short: false, indent: false, verbose: true @@ -38,7 +36,7 @@ module.exports = function (HTTPSnippet, fixtures) { }) it('should use custom indentation', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'wget', { + const result = new HTTPSnippet(fixtures.requests.full).convert('shell', 'wget', { indent: '@' }) diff --git a/test/targets/swift/nsurlsession.js b/test/targets/swift/nsurlsession.js index 1c1da3c46..7cbad68e3 100644 --- a/test/targets/swift/nsurlsession.js +++ b/test/targets/swift/nsurlsession.js @@ -1,36 +1,37 @@ -/* global it */ - 'use strict' require('should') module.exports = function (HTTPSnippet, fixtures) { it('should support an indent option', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('swift', { + const result = new HTTPSnippet(fixtures.requests.short).convert('swift', { indent: ' ' }) result.should.be.a.String() result.replace(/\n/g, '').should.eql('import Foundationlet request = NSMutableURLRequest(url: NSURL(string: "http://mockbin.com/har")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)request.httpMethod = "GET"let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) }})dataTask.resume()') }) + it('should support a timeout option', function () { - var result = new HTTPSnippet(fixtures.requests.short).convert('swift', { + const result = new HTTPSnippet(fixtures.requests.short).convert('swift', { timeout: 5 }) result.should.be.a.String() result.replace(/\n/g, '').should.eql('import Foundationlet request = NSMutableURLRequest(url: NSURL(string: "http://mockbin.com/har")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 5.0)request.httpMethod = "GET"let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) }})dataTask.resume()') }) + it('should support pretty option', function () { - var result = new HTTPSnippet(fixtures.requests.full).convert('swift', { + const result = new HTTPSnippet(fixtures.requests.full).convert('swift', { pretty: false }) result.should.be.a.String() result.replace(/\n/g, '').should.eql('import Foundationlet headers = ["cookie": "foo=bar; bar=baz", "accept": "application/json", "content-type": "application/x-www-form-urlencoded"]let postData = NSMutableData(data: "foo=bar".data(using: String.Encoding.utf8)!)let request = NSMutableURLRequest(url: NSURL(string: "http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)request.httpMethod = "POST"request.allHTTPHeaderFields = headersrequest.httpBody = postData as Datalet session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) }})dataTask.resume()') }) + it('should support json object with null value', function () { - var result = new HTTPSnippet(fixtures.requests['jsonObj-null-value']).convert('swift', { + const result = new HTTPSnippet(fixtures.requests['jsonObj-null-value']).convert('swift', { pretty: false }) From 200b1fda75e9862577fc11883143a0f15545a8e7 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 27 Apr 2021 15:52:39 -0700 Subject: [PATCH 130/181] fix: bug where FormData in the js fetch target wasn't applied (#202) * fix: bug where formData in the js fetch target wasn't applied * fix(fetch.js) - Removed a variable that was needed * fix(fetch.js) - Linting Co-authored-by: Eric Reynolds --- src/targets/javascript/fetch.js | 29 +++++++++++------- .../fetch/application-form-encoded.js | 27 +++++++---------- .../javascript/fetch/application-json.js | 24 +++++++-------- .../output/javascript/fetch/cookies.js | 19 ++++-------- .../output/javascript/fetch/custom-method.js | 17 ++++------- test/fixtures/output/javascript/fetch/full.js | 30 ++++++++----------- .../output/javascript/fetch/headers.js | 20 ++++--------- .../fixtures/output/javascript/fetch/https.js | 17 ++++------- .../javascript/fetch/jsonObj-multiline.js | 24 +++++++-------- .../javascript/fetch/jsonObj-null-value.js | 24 +++++++-------- .../output/javascript/fetch/multipart-data.js | 24 +++++++-------- .../output/javascript/fetch/multipart-file.js | 24 +++++++-------- .../javascript/fetch/multipart-form-data.js | 24 +++++++-------- .../fixtures/output/javascript/fetch/query.js | 17 ++++------- .../fixtures/output/javascript/fetch/short.js | 17 ++++------- .../output/javascript/fetch/text-plain.js | 20 ++++--------- 16 files changed, 146 insertions(+), 211 deletions(-) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index edd7002ec..2bf213fd7 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -21,11 +21,15 @@ module.exports = function (source, options) { options ) + const stringifyObject = require('stringify-object') const code = new CodeBuilder(opts.indent) options = { - method: source.method, - headers: source.allHeaders + method: source.method + } + + if (Object.keys(source.allHeaders).length) { + options.headers = source.allHeaders } if (opts.credentials !== null) { @@ -63,15 +67,18 @@ module.exports = function (source, options) { } } - code - .push(`fetch("${source.fullUrl}", ${JSON.stringify(options, null, opts.indent)})`) - .push('.then(response => response.json())') - .push('.then(response => {') - .push(1, 'console.log(response);') - .push('})') - .push('.catch(err => {') - .push(1, 'console.error(err);') - .push('});') + code.push('const options = %s;', stringifyObject(options, { indent: opts.indent, inlineCharacterLimit: 80 })) + .blank() + + if (source.postData.mimeType === 'multipart/form-data') { + code.push('options.body = form;') + .blank() + } + + code.push("fetch('%s', options)", source.fullUrl) + .push(1, '.then(response => response.json())') + .push(1, '.then(response => console.log(response))') + .push(1, '.catch(err => console.error(err));') return code.join() } diff --git a/test/fixtures/output/javascript/fetch/application-form-encoded.js b/test/fixtures/output/javascript/fetch/application-form-encoded.js index 704ba2ce7..186c1dbc5 100644 --- a/test/fixtures/output/javascript/fetch/application-form-encoded.js +++ b/test/fixtures/output/javascript/fetch/application-form-encoded.js @@ -1,17 +1,10 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "application/x-www-form-urlencoded" - }, - "body": { - "foo": "bar", - "hello": "world" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'application/x-www-form-urlencoded'}, + body: {foo: 'bar', hello: 'world'} +}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/application-json.js b/test/fixtures/output/javascript/fetch/application-json.js index c33e2601b..7aeb5510e 100644 --- a/test/fixtures/output/javascript/fetch/application-json.js +++ b/test/fixtures/output/javascript/fetch/application-json.js @@ -1,14 +1,10 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "application/json" - }, - "body": "{\"number\":1,\"string\":\"f\\\"oo\",\"arr\":[1,2,3],\"nested\":{\"a\":\"b\"},\"arr_mix\":[1,\"a\",{\"arr_mix_nested\":{}}],\"boolean\":false}" -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"number":1,"string":"f\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":{}}],"boolean":false}' +}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/cookies.js b/test/fixtures/output/javascript/fetch/cookies.js index 1910b61eb..8cbf70742 100644 --- a/test/fixtures/output/javascript/fetch/cookies.js +++ b/test/fixtures/output/javascript/fetch/cookies.js @@ -1,13 +1,6 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "cookie": "foo=bar; bar=baz" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'POST', headers: {cookie: 'foo=bar; bar=baz'}}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/custom-method.js b/test/fixtures/output/javascript/fetch/custom-method.js index 0db47d03b..1a12c8405 100644 --- a/test/fixtures/output/javascript/fetch/custom-method.js +++ b/test/fixtures/output/javascript/fetch/custom-method.js @@ -1,11 +1,6 @@ -fetch("http://mockbin.com/har", { - "method": "PROPFIND", - "headers": {} -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'PROPFIND'}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/full.js b/test/fixtures/output/javascript/fetch/full.js index a2ec34345..4c7d08f18 100644 --- a/test/fixtures/output/javascript/fetch/full.js +++ b/test/fixtures/output/javascript/fetch/full.js @@ -1,18 +1,14 @@ -fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { - "method": "POST", - "headers": { - "cookie": "foo=bar; bar=baz", - "accept": "application/json", - "content-type": "application/x-www-form-urlencoded" +const options = { + method: 'POST', + headers: { + cookie: 'foo=bar; bar=baz', + accept: 'application/json', + 'content-type': 'application/x-www-form-urlencoded' }, - "body": { - "foo": "bar" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); + body: {foo: 'bar'} +}; + +fetch('http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/headers.js b/test/fixtures/output/javascript/fetch/headers.js index a34adda83..583e54cb6 100644 --- a/test/fixtures/output/javascript/fetch/headers.js +++ b/test/fixtures/output/javascript/fetch/headers.js @@ -1,14 +1,6 @@ -fetch("http://mockbin.com/har", { - "method": "GET", - "headers": { - "accept": "application/json", - "x-foo": "Bar" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'GET', headers: {accept: 'application/json', 'x-foo': 'Bar'}}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/https.js b/test/fixtures/output/javascript/fetch/https.js index 44ecf1e1e..ba9350cc6 100644 --- a/test/fixtures/output/javascript/fetch/https.js +++ b/test/fixtures/output/javascript/fetch/https.js @@ -1,11 +1,6 @@ -fetch("https://mockbin.com/har", { - "method": "GET", - "headers": {} -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'GET'}; + +fetch('https://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js index cccaca065..f35e2be3c 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-multiline.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-multiline.js @@ -1,14 +1,10 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "application/json" - }, - "body": "{\"foo\":\"bar\"}" -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"foo":"bar"}' +}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js index 7e23ce071..e0adc2da4 100644 --- a/test/fixtures/output/javascript/fetch/jsonObj-null-value.js +++ b/test/fixtures/output/javascript/fetch/jsonObj-null-value.js @@ -1,14 +1,10 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "application/json" - }, - "body": "{\"foo\":null}" -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'application/json'}, + body: '{"foo":null}' +}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/multipart-data.js b/test/fixtures/output/javascript/fetch/multipart-data.js index 28e319b20..b469e5f05 100644 --- a/test/fixtures/output/javascript/fetch/multipart-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-data.js @@ -1,16 +1,14 @@ const form = new FormData(); form.append("foo", "Hello World"); -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "multipart/form-data; boundary=---011000010111000001101001" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = form; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/multipart-file.js b/test/fixtures/output/javascript/fetch/multipart-file.js index 2070febb8..7fa08db3f 100644 --- a/test/fixtures/output/javascript/fetch/multipart-file.js +++ b/test/fixtures/output/javascript/fetch/multipart-file.js @@ -1,16 +1,14 @@ const form = new FormData(); form.append("foo", "test/fixtures/files/hello.txt"); -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "multipart/form-data; boundary=---011000010111000001101001" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = form; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/multipart-form-data.js b/test/fixtures/output/javascript/fetch/multipart-form-data.js index 38006446b..28cc96d32 100644 --- a/test/fixtures/output/javascript/fetch/multipart-form-data.js +++ b/test/fixtures/output/javascript/fetch/multipart-form-data.js @@ -1,16 +1,14 @@ const form = new FormData(); form.append("foo", "bar"); -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" - } -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = { + method: 'POST', + headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'} +}; + +options.body = form; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/query.js b/test/fixtures/output/javascript/fetch/query.js index dc6ad30b8..8f331fda6 100644 --- a/test/fixtures/output/javascript/fetch/query.js +++ b/test/fixtures/output/javascript/fetch/query.js @@ -1,11 +1,6 @@ -fetch("http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value", { - "method": "GET", - "headers": {} -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'GET'}; + +fetch('http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/short.js b/test/fixtures/output/javascript/fetch/short.js index 77c07817f..8b0152c24 100644 --- a/test/fixtures/output/javascript/fetch/short.js +++ b/test/fixtures/output/javascript/fetch/short.js @@ -1,11 +1,6 @@ -fetch("http://mockbin.com/har", { - "method": "GET", - "headers": {} -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'GET'}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/fetch/text-plain.js b/test/fixtures/output/javascript/fetch/text-plain.js index 036f741ab..38ef7081e 100644 --- a/test/fixtures/output/javascript/fetch/text-plain.js +++ b/test/fixtures/output/javascript/fetch/text-plain.js @@ -1,14 +1,6 @@ -fetch("http://mockbin.com/har", { - "method": "POST", - "headers": { - "content-type": "text/plain" - }, - "body": "Hello World" -}) -.then(response => response.json()) -.then(response => { - console.log(response); -}) -.catch(err => { - console.error(err); -}); +const options = {method: 'POST', headers: {'content-type': 'text/plain'}, body: 'Hello World'}; + +fetch('http://mockbin.com/har', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); From 71eec07c833c6421270c417a9d6e311b0fb34f27 Mon Sep 17 00:00:00 2001 From: Adam David Date: Wed, 28 Apr 2021 11:00:38 -0700 Subject: [PATCH 131/181] Add --globoff option to shell_curl (#199) * Add nested query fixture * Add --globoff option to shell/curl * Update expected output to match recent changes --- src/targets/shell/curl.js | 15 +++++++-- test/fixtures/output/c/libcurl/nested.c | 6 ++++ .../output/clojure/clj_http/nested.clj | 5 +++ .../output/csharp/httpclient/nested.cs | 12 +++++++ .../output/csharp/restsharp/nested.cs | 3 ++ test/fixtures/output/go/native/nested.go | 23 ++++++++++++++ test/fixtures/output/http/1.1/nested | 4 +++ .../output/java/asynchttp/nested.java | 8 +++++ test/fixtures/output/java/nethttp/nested.java | 6 ++++ test/fixtures/output/java/okhttp/nested.java | 8 +++++ test/fixtures/output/java/unirest/nested.java | 2 ++ .../output/javascript/axios/nested.js | 13 ++++++++ .../output/javascript/fetch/nested.js | 6 ++++ .../output/javascript/jquery/nested.js | 11 +++++++ test/fixtures/output/javascript/xhr/nested.js | 14 +++++++++ test/fixtures/output/kotlin/okhttp/nested.kt | 8 +++++ test/fixtures/output/node/axios/nested.js | 13 ++++++++ test/fixtures/output/node/fetch/nested.js | 10 ++++++ test/fixtures/output/node/native/nested.js | 24 ++++++++++++++ test/fixtures/output/node/request/nested.js | 14 +++++++++ test/fixtures/output/node/unirest/nested.js | 16 ++++++++++ .../output/objc/nsurlsession/nested.m | 18 +++++++++++ test/fixtures/output/ocaml/cohttp/nested.ml | 9 ++++++ test/fixtures/output/php/curl/nested.php | 24 ++++++++++++++ test/fixtures/output/php/http1/nested.php | 19 ++++++++++++ test/fixtures/output/php/http2/nested.php | 17 ++++++++++ .../output/powershell/restmethod/nested.ps1 | 1 + .../output/powershell/webrequest/nested.ps1 | 1 + test/fixtures/output/python/python3/nested.py | 10 ++++++ .../fixtures/output/python/requests/nested.py | 9 ++++++ test/fixtures/output/r/httr/nested.r | 12 +++++++ test/fixtures/output/ruby/native/nested.rb | 11 +++++++ test/fixtures/output/shell/curl/nested.sh | 2 ++ test/fixtures/output/shell/httpie/nested.sh | 1 + test/fixtures/output/shell/wget/nested.sh | 4 +++ .../output/swift/nsurlsession/nested.swift | 18 +++++++++++ test/fixtures/requests/nested.json | 19 ++++++++++++ test/targets/shell/curl.js | 31 +++++++++++++++++++ 38 files changed, 424 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/output/c/libcurl/nested.c create mode 100644 test/fixtures/output/clojure/clj_http/nested.clj create mode 100644 test/fixtures/output/csharp/httpclient/nested.cs create mode 100644 test/fixtures/output/csharp/restsharp/nested.cs create mode 100644 test/fixtures/output/go/native/nested.go create mode 100644 test/fixtures/output/http/1.1/nested create mode 100644 test/fixtures/output/java/asynchttp/nested.java create mode 100644 test/fixtures/output/java/nethttp/nested.java create mode 100644 test/fixtures/output/java/okhttp/nested.java create mode 100644 test/fixtures/output/java/unirest/nested.java create mode 100644 test/fixtures/output/javascript/axios/nested.js create mode 100644 test/fixtures/output/javascript/fetch/nested.js create mode 100644 test/fixtures/output/javascript/jquery/nested.js create mode 100644 test/fixtures/output/javascript/xhr/nested.js create mode 100644 test/fixtures/output/kotlin/okhttp/nested.kt create mode 100644 test/fixtures/output/node/axios/nested.js create mode 100644 test/fixtures/output/node/fetch/nested.js create mode 100644 test/fixtures/output/node/native/nested.js create mode 100644 test/fixtures/output/node/request/nested.js create mode 100644 test/fixtures/output/node/unirest/nested.js create mode 100644 test/fixtures/output/objc/nsurlsession/nested.m create mode 100644 test/fixtures/output/ocaml/cohttp/nested.ml create mode 100644 test/fixtures/output/php/curl/nested.php create mode 100644 test/fixtures/output/php/http1/nested.php create mode 100644 test/fixtures/output/php/http2/nested.php create mode 100644 test/fixtures/output/powershell/restmethod/nested.ps1 create mode 100644 test/fixtures/output/powershell/webrequest/nested.ps1 create mode 100644 test/fixtures/output/python/python3/nested.py create mode 100644 test/fixtures/output/python/requests/nested.py create mode 100644 test/fixtures/output/r/httr/nested.r create mode 100644 test/fixtures/output/ruby/native/nested.rb create mode 100644 test/fixtures/output/shell/curl/nested.sh create mode 100644 test/fixtures/output/shell/httpie/nested.sh create mode 100644 test/fixtures/output/shell/wget/nested.sh create mode 100644 test/fixtures/output/swift/nsurlsession/nested.swift create mode 100644 test/fixtures/requests/nested.json diff --git a/src/targets/shell/curl.js b/src/targets/shell/curl.js index d6ef8846e..f097f5ae2 100644 --- a/src/targets/shell/curl.js +++ b/src/targets/shell/curl.js @@ -18,13 +18,22 @@ module.exports = function (source, options) { const opts = Object.assign({ indent: ' ', short: false, - binary: false + binary: false, + globOff: false }, options) const code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') - code.push('curl %s %s', opts.short ? '-X' : '--request', source.method) - .push(util.format('%s%s', opts.short ? '' : '--url ', helpers.quote(source.fullUrl))) + const globOption = opts.short ? '-g' : '--globoff' + const requestOption = opts.short ? '-X' : '--request' + let formattedUrl = helpers.quote(source.fullUrl) + + code.push('curl %s %s', requestOption, source.method) + if (opts.globOff) { + formattedUrl = unescape(formattedUrl) + code.push(globOption) + } + code.push(util.format('%s%s', opts.short ? '' : '--url ', formattedUrl)) if (source.httpVersion === 'HTTP/1.0') { code.push(opts.short ? '-0' : '--http1.0') diff --git a/test/fixtures/output/c/libcurl/nested.c b/test/fixtures/output/c/libcurl/nested.c new file mode 100644 index 000000000..dfb8ee8f2 --- /dev/null +++ b/test/fixtures/output/c/libcurl/nested.c @@ -0,0 +1,6 @@ +CURL *hnd = curl_easy_init(); + +curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); +curl_easy_setopt(hnd, CURLOPT_URL, "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value"); + +CURLcode ret = curl_easy_perform(hnd); diff --git a/test/fixtures/output/clojure/clj_http/nested.clj b/test/fixtures/output/clojure/clj_http/nested.clj new file mode 100644 index 000000000..73016ab59 --- /dev/null +++ b/test/fixtures/output/clojure/clj_http/nested.clj @@ -0,0 +1,5 @@ +(require '[clj-http.client :as client]) + +(client/get "http://mockbin.com/har" {:query-params {:foo[bar] "baz,zap" + :fiz "buz" + :key "value"}}) diff --git a/test/fixtures/output/csharp/httpclient/nested.cs b/test/fixtures/output/csharp/httpclient/nested.cs new file mode 100644 index 000000000..0024a37e6 --- /dev/null +++ b/test/fixtures/output/csharp/httpclient/nested.cs @@ -0,0 +1,12 @@ +var client = new HttpClient(); +var request = new HttpRequestMessage +{ + Method = HttpMethod.Get, + RequestUri = new Uri("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value"), +}; +using (var response = await client.SendAsync(request)) +{ + response.EnsureSuccessStatusCode(); + var body = await response.Content.ReadAsStringAsync(); + Console.WriteLine(body); +} diff --git a/test/fixtures/output/csharp/restsharp/nested.cs b/test/fixtures/output/csharp/restsharp/nested.cs new file mode 100644 index 000000000..fbc0fd775 --- /dev/null +++ b/test/fixtures/output/csharp/restsharp/nested.cs @@ -0,0 +1,3 @@ +var client = new RestClient("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value"); +var request = new RestRequest(Method.GET); +IRestResponse response = client.Execute(request); diff --git a/test/fixtures/output/go/native/nested.go b/test/fixtures/output/go/native/nested.go new file mode 100644 index 000000000..f392179d7 --- /dev/null +++ b/test/fixtures/output/go/native/nested.go @@ -0,0 +1,23 @@ +package main + +import ( + "fmt" + "net/http" + "io/ioutil" +) + +func main() { + + url := "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value" + + req, _ := http.NewRequest("GET", url, nil) + + res, _ := http.DefaultClient.Do(req) + + defer res.Body.Close() + body, _ := ioutil.ReadAll(res.Body) + + fmt.Println(res) + fmt.Println(string(body)) + +} diff --git a/test/fixtures/output/http/1.1/nested b/test/fixtures/output/http/1.1/nested new file mode 100644 index 000000000..04944865c --- /dev/null +++ b/test/fixtures/output/http/1.1/nested @@ -0,0 +1,4 @@ +GET /har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value HTTP/1.1 +Host: mockbin.com + + diff --git a/test/fixtures/output/java/asynchttp/nested.java b/test/fixtures/output/java/asynchttp/nested.java new file mode 100644 index 000000000..ae76e58a1 --- /dev/null +++ b/test/fixtures/output/java/asynchttp/nested.java @@ -0,0 +1,8 @@ +AsyncHttpClient client = new DefaultAsyncHttpClient(); +client.prepare("GET", "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + .execute() + .toCompletableFuture() + .thenAccept(System.out::println) + .join(); + +client.close(); diff --git a/test/fixtures/output/java/nethttp/nested.java b/test/fixtures/output/java/nethttp/nested.java new file mode 100644 index 000000000..edd4a0ff1 --- /dev/null +++ b/test/fixtures/output/java/nethttp/nested.java @@ -0,0 +1,6 @@ +HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value")) + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); +HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); +System.out.println(response.body()); diff --git a/test/fixtures/output/java/okhttp/nested.java b/test/fixtures/output/java/okhttp/nested.java new file mode 100644 index 000000000..fface6c99 --- /dev/null +++ b/test/fixtures/output/java/okhttp/nested.java @@ -0,0 +1,8 @@ +OkHttpClient client = new OkHttpClient(); + +Request request = new Request.Builder() + .url("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + .get() + .build(); + +Response response = client.newCall(request).execute(); diff --git a/test/fixtures/output/java/unirest/nested.java b/test/fixtures/output/java/unirest/nested.java new file mode 100644 index 000000000..7ad3da188 --- /dev/null +++ b/test/fixtures/output/java/unirest/nested.java @@ -0,0 +1,2 @@ +HttpResponse response = Unirest.get("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + .asString(); diff --git a/test/fixtures/output/javascript/axios/nested.js b/test/fixtures/output/javascript/axios/nested.js new file mode 100644 index 000000000..00c3fd556 --- /dev/null +++ b/test/fixtures/output/javascript/axios/nested.js @@ -0,0 +1,13 @@ +import axios from "axios"; + +const options = { + method: 'GET', + url: 'http://mockbin.com/har', + params: {'foo[bar]': 'baz,zap', fiz: 'buz', key: 'value'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/javascript/fetch/nested.js b/test/fixtures/output/javascript/fetch/nested.js new file mode 100644 index 000000000..f4fd92dfa --- /dev/null +++ b/test/fixtures/output/javascript/fetch/nested.js @@ -0,0 +1,6 @@ +const options = {method: 'GET'}; + +fetch('http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value', options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); diff --git a/test/fixtures/output/javascript/jquery/nested.js b/test/fixtures/output/javascript/jquery/nested.js new file mode 100644 index 000000000..20ea35d73 --- /dev/null +++ b/test/fixtures/output/javascript/jquery/nested.js @@ -0,0 +1,11 @@ +const settings = { + "async": true, + "crossDomain": true, + "url": "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value", + "method": "GET", + "headers": {} +}; + +$.ajax(settings).done(function (response) { + console.log(response); +}); diff --git a/test/fixtures/output/javascript/xhr/nested.js b/test/fixtures/output/javascript/xhr/nested.js new file mode 100644 index 000000000..6660e830d --- /dev/null +++ b/test/fixtures/output/javascript/xhr/nested.js @@ -0,0 +1,14 @@ +const data = null; + +const xhr = new XMLHttpRequest(); +xhr.withCredentials = true; + +xhr.addEventListener("readystatechange", function () { + if (this.readyState === this.DONE) { + console.log(this.responseText); + } +}); + +xhr.open("GET", "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value"); + +xhr.send(data); diff --git a/test/fixtures/output/kotlin/okhttp/nested.kt b/test/fixtures/output/kotlin/okhttp/nested.kt new file mode 100644 index 000000000..b7439ff71 --- /dev/null +++ b/test/fixtures/output/kotlin/okhttp/nested.kt @@ -0,0 +1,8 @@ +val client = OkHttpClient() + +val request = Request.Builder() + .url("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + .get() + .build() + +val response = client.newCall(request).execute() diff --git a/test/fixtures/output/node/axios/nested.js b/test/fixtures/output/node/axios/nested.js new file mode 100644 index 000000000..eda2acbd2 --- /dev/null +++ b/test/fixtures/output/node/axios/nested.js @@ -0,0 +1,13 @@ +var axios = require("axios").default; + +var options = { + method: 'GET', + url: 'http://mockbin.com/har', + params: {'foo[bar]': 'baz,zap', fiz: 'buz', key: 'value'} +}; + +axios.request(options).then(function (response) { + console.log(response.data); +}).catch(function (error) { + console.error(error); +}); diff --git a/test/fixtures/output/node/fetch/nested.js b/test/fixtures/output/node/fetch/nested.js new file mode 100644 index 000000000..2976da50e --- /dev/null +++ b/test/fixtures/output/node/fetch/nested.js @@ -0,0 +1,10 @@ +const fetch = require('node-fetch'); + +let url = 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value'; + +let options = {method: 'GET'}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error('error:' + err)); diff --git a/test/fixtures/output/node/native/nested.js b/test/fixtures/output/node/native/nested.js new file mode 100644 index 000000000..f5a048696 --- /dev/null +++ b/test/fixtures/output/node/native/nested.js @@ -0,0 +1,24 @@ +const http = require("http"); + +const options = { + "method": "GET", + "hostname": "mockbin.com", + "port": null, + "path": "/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value", + "headers": {} +}; + +const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); +}); + +req.end(); diff --git a/test/fixtures/output/node/request/nested.js b/test/fixtures/output/node/request/nested.js new file mode 100644 index 000000000..f3b711bd6 --- /dev/null +++ b/test/fixtures/output/node/request/nested.js @@ -0,0 +1,14 @@ +const request = require('request'); + +const options = { + method: 'GET', + url: 'http://mockbin.com/har', + qs: {'foo[bar]': 'baz,zap', fiz: 'buz', key: 'value'} +}; + +request(options, function (error, response, body) { + if (error) throw new Error(error); + + console.log(body); +}); + diff --git a/test/fixtures/output/node/unirest/nested.js b/test/fixtures/output/node/unirest/nested.js new file mode 100644 index 000000000..5df42aa0f --- /dev/null +++ b/test/fixtures/output/node/unirest/nested.js @@ -0,0 +1,16 @@ +const unirest = require("unirest"); + +const req = unirest("GET", "http://mockbin.com/har"); + +req.query({ + "foo[bar]": "baz,zap", + "fiz": "buz", + "key": "value" +}); + +req.end(function (res) { + if (res.error) throw new Error(res.error); + + console.log(res.body); +}); + diff --git a/test/fixtures/output/objc/nsurlsession/nested.m b/test/fixtures/output/objc/nsurlsession/nested.m new file mode 100644 index 000000000..b3c64dcf5 --- /dev/null +++ b/test/fixtures/output/objc/nsurlsession/nested.m @@ -0,0 +1,18 @@ +#import + +NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value"] + cachePolicy:NSURLRequestUseProtocolCachePolicy + timeoutInterval:10.0]; +[request setHTTPMethod:@"GET"]; + +NSURLSession *session = [NSURLSession sharedSession]; +NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request + completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { + if (error) { + NSLog(@"%@", error); + } else { + NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; + NSLog(@"%@", httpResponse); + } + }]; +[dataTask resume]; diff --git a/test/fixtures/output/ocaml/cohttp/nested.ml b/test/fixtures/output/ocaml/cohttp/nested.ml new file mode 100644 index 000000000..b9f95ece5 --- /dev/null +++ b/test/fixtures/output/ocaml/cohttp/nested.ml @@ -0,0 +1,9 @@ +open Cohttp_lwt_unix +open Cohttp +open Lwt + +let uri = Uri.of_string "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value" in + +Client.call `GET uri +>>= fun (res, body_stream) -> + (* Do stuff with the result *) diff --git a/test/fixtures/output/php/curl/nested.php b/test/fixtures/output/php/curl/nested.php new file mode 100644 index 000000000..9b345abe1 --- /dev/null +++ b/test/fixtures/output/php/curl/nested.php @@ -0,0 +1,24 @@ + "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value", + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => "", + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 30, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => "GET", +]); + +$response = curl_exec($curl); +$err = curl_error($curl); + +curl_close($curl); + +if ($err) { + echo "cURL Error #:" . $err; +} else { + echo $response; +} diff --git a/test/fixtures/output/php/http1/nested.php b/test/fixtures/output/php/http1/nested.php new file mode 100644 index 000000000..d0963b977 --- /dev/null +++ b/test/fixtures/output/php/http1/nested.php @@ -0,0 +1,19 @@ +setUrl('http://mockbin.com/har'); +$request->setMethod(HTTP_METH_GET); + +$request->setQueryData([ + 'foo[bar]' => 'baz,zap', + 'fiz' => 'buz', + 'key' => 'value' +]); + +try { + $response = $request->send(); + + echo $response->getBody(); +} catch (HttpException $ex) { + echo $ex; +} diff --git a/test/fixtures/output/php/http2/nested.php b/test/fixtures/output/php/http2/nested.php new file mode 100644 index 000000000..c240f5c06 --- /dev/null +++ b/test/fixtures/output/php/http2/nested.php @@ -0,0 +1,17 @@ +setRequestUrl('http://mockbin.com/har'); +$request->setRequestMethod('GET'); +$request->setQuery(new http\QueryString([ + 'foo[bar]' => 'baz,zap', + 'fiz' => 'buz', + 'key' => 'value' +])); + +$client->enqueue($request)->send(); +$response = $client->getResponse(); + +echo $response->getBody(); diff --git a/test/fixtures/output/powershell/restmethod/nested.ps1 b/test/fixtures/output/powershell/restmethod/nested.ps1 new file mode 100644 index 000000000..2fb02991f --- /dev/null +++ b/test/fixtures/output/powershell/restmethod/nested.ps1 @@ -0,0 +1 @@ +$response = Invoke-RestMethod -Uri 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' -Method GET diff --git a/test/fixtures/output/powershell/webrequest/nested.ps1 b/test/fixtures/output/powershell/webrequest/nested.ps1 new file mode 100644 index 000000000..d05d97730 --- /dev/null +++ b/test/fixtures/output/powershell/webrequest/nested.ps1 @@ -0,0 +1 @@ +$response = Invoke-WebRequest -Uri 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' -Method GET diff --git a/test/fixtures/output/python/python3/nested.py b/test/fixtures/output/python/python3/nested.py new file mode 100644 index 000000000..75c6f9a2c --- /dev/null +++ b/test/fixtures/output/python/python3/nested.py @@ -0,0 +1,10 @@ +import http.client + +conn = http.client.HTTPConnection("mockbin.com") + +conn.request("GET", "/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + +res = conn.getresponse() +data = res.read() + +print(data.decode("utf-8")) diff --git a/test/fixtures/output/python/requests/nested.py b/test/fixtures/output/python/requests/nested.py new file mode 100644 index 000000000..affab7a79 --- /dev/null +++ b/test/fixtures/output/python/requests/nested.py @@ -0,0 +1,9 @@ +import requests + +url = "http://mockbin.com/har" + +querystring = {"foo[bar]":"baz,zap","fiz":"buz","key":"value"} + +response = requests.request("GET", url, params=querystring) + +print(response.text) diff --git a/test/fixtures/output/r/httr/nested.r b/test/fixtures/output/r/httr/nested.r new file mode 100644 index 000000000..669352cf7 --- /dev/null +++ b/test/fixtures/output/r/httr/nested.r @@ -0,0 +1,12 @@ +library(httr) + +url <- "http://mockbin.com/har" + +queryString <- list( + foo[bar] = "baz,zap", + fiz = "buz" +) + +response <- VERB("GET", url, query = queryString, content_type("application/octet-stream")) + +content(response, "text") diff --git a/test/fixtures/output/ruby/native/nested.rb b/test/fixtures/output/ruby/native/nested.rb new file mode 100644 index 000000000..9a12a21dc --- /dev/null +++ b/test/fixtures/output/ruby/native/nested.rb @@ -0,0 +1,11 @@ +require 'uri' +require 'net/http' + +url = URI("http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value") + +http = Net::HTTP.new(url.host, url.port) + +request = Net::HTTP::Get.new(url) + +response = http.request(request) +puts response.read_body diff --git a/test/fixtures/output/shell/curl/nested.sh b/test/fixtures/output/shell/curl/nested.sh new file mode 100644 index 000000000..8c9149622 --- /dev/null +++ b/test/fixtures/output/shell/curl/nested.sh @@ -0,0 +1,2 @@ +curl --request GET \ + --url 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' diff --git a/test/fixtures/output/shell/httpie/nested.sh b/test/fixtures/output/shell/httpie/nested.sh new file mode 100644 index 000000000..261890e50 --- /dev/null +++ b/test/fixtures/output/shell/httpie/nested.sh @@ -0,0 +1 @@ +http GET 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' diff --git a/test/fixtures/output/shell/wget/nested.sh b/test/fixtures/output/shell/wget/nested.sh new file mode 100644 index 000000000..ce9cdfe68 --- /dev/null +++ b/test/fixtures/output/shell/wget/nested.sh @@ -0,0 +1,4 @@ +wget --quiet \ + --method GET \ + --output-document \ + - 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' diff --git a/test/fixtures/output/swift/nsurlsession/nested.swift b/test/fixtures/output/swift/nsurlsession/nested.swift new file mode 100644 index 000000000..21415b678 --- /dev/null +++ b/test/fixtures/output/swift/nsurlsession/nested.swift @@ -0,0 +1,18 @@ +import Foundation + +let request = NSMutableURLRequest(url: NSURL(string: "http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value")! as URL, + cachePolicy: .useProtocolCachePolicy, + timeoutInterval: 10.0) +request.httpMethod = "GET" + +let session = URLSession.shared +let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in + if (error != nil) { + print(error) + } else { + let httpResponse = response as? HTTPURLResponse + print(httpResponse) + } +}) + +dataTask.resume() diff --git a/test/fixtures/requests/nested.json b/test/fixtures/requests/nested.json new file mode 100644 index 000000000..a9caa7565 --- /dev/null +++ b/test/fixtures/requests/nested.json @@ -0,0 +1,19 @@ +{ + "method": "GET", + "url": "http://mockbin.com/har", + "httpVersion": "HTTP/1.1", + "queryString": [ + { + "name": "foo[bar]", + "value": "baz,zap" + }, + { + "name": "fiz", + "value": "buz" + }, + { + "name": "key", + "value": "value" + } + ] +} \ No newline at end of file diff --git a/test/targets/shell/curl.js b/test/targets/shell/curl.js index ec24212d6..9435639b0 100644 --- a/test/targets/shell/curl.js +++ b/test/targets/shell/curl.js @@ -24,6 +24,37 @@ module.exports = function (HTTPSnippet, fixtures) { result.should.eql("curl -X POST 'http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value' -H 'accept: application/json' -H 'content-type: application/x-www-form-urlencoded' -b 'foo=bar; bar=baz' --data-binary foo=bar") }) + it('should use short globoff option', function () { + const result = new HTTPSnippet(fixtures.requests.nested).convert('shell', 'curl', { + short: true, + indent: false, + globOff: true + }) + + result.should.be.a.String() + result.should.eql("curl -X GET -g 'http://mockbin.com/har?foo[bar]=baz,zap&fiz=buz&key=value'") + }) + + it('should use long globoff option', function () { + const result = new HTTPSnippet(fixtures.requests.nested).convert('shell', 'curl', { + indent: false, + globOff: true + }) + + result.should.be.a.String() + result.should.eql("curl --request GET --globoff --url 'http://mockbin.com/har?foo[bar]=baz,zap&fiz=buz&key=value'") + }) + + it('should not de-glob when globoff is false', function () { + const result = new HTTPSnippet(fixtures.requests.nested).convert('shell', 'curl', { + indent: false, + globOff: false + }) + + result.should.be.a.String() + result.should.eql("curl --request GET --url 'http://mockbin.com/har?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value'") + }) + it('should use --http1.0 for HTTP/1.0', function () { const result = new HTTPSnippet(fixtures.curl.http1).convert('shell', 'curl', { indent: false From cd028ad1076145304a8b03d46e0d7d2ac24d57e9 Mon Sep 17 00:00:00 2001 From: noac Date: Mon, 28 Jun 2021 14:29:01 +0300 Subject: [PATCH 132/181] fix jquery body - use the source object json field in case of application/json mime type --- src/targets/javascript/jquery.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/javascript/jquery.js b/src/targets/javascript/jquery.js index e84e390b6..3ff3e4848 100644 --- a/src/targets/javascript/jquery.js +++ b/src/targets/javascript/jquery.js @@ -34,7 +34,7 @@ module.exports = function (source, options) { case 'application/json': settings.processData = false - settings.data = source.postData.text + settings.data = source.postData.jsonObj break case 'multipart/form-data': From 7e746c4cd05fa5d117fd3cc4dcfaac16a07e8789 Mon Sep 17 00:00:00 2001 From: Nathan Bailey Date: Fri, 3 Sep 2021 13:21:31 -0700 Subject: [PATCH 133/181] fix(curl) remove boundary form content-type header (#227) --- src/targets/shell/curl.js | 17 +++++++++++++++++ .../output/shell/curl/multipart-data.sh | 2 +- .../output/shell/curl/multipart-file.sh | 2 +- .../output/shell/curl/multipart-form-data.sh | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/targets/shell/curl.js b/src/targets/shell/curl.js index f097f5ae2..3cde6bb5a 100644 --- a/src/targets/shell/curl.js +++ b/src/targets/shell/curl.js @@ -12,6 +12,7 @@ const util = require('util') const helpers = require('../../helpers/shell') +const headerHelpers = require('../../helpers/headers') const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { @@ -39,6 +40,22 @@ module.exports = function (source, options) { code.push(opts.short ? '-0' : '--http1.0') } + // if multipart form data, we want to remove the boundary + if (source.postData.mimeType === 'multipart/form-data') { + const contentTypeHeaderName = headerHelpers.getHeaderName(source.headersObj, 'content-type') + const contentTypeHeader = source.headersObj[contentTypeHeaderName] + + if (contentTypeHeaderName && contentTypeHeader) { + // remove the leading semi colon and boundary + // up to the next semi colon or the end of string + const noBoundary = contentTypeHeader.replace(/; boundary.+?(?=(;|$))/, '') + + // replace the content-type header with no boundary in both headersObj and allHeaders + source.headersObj[contentTypeHeaderName] = noBoundary + source.allHeaders[contentTypeHeaderName] = noBoundary + } + } + // construct headers Object.keys(source.headersObj).sort().forEach(function (key) { const header = util.format('%s: %s', key, source.headersObj[key]) diff --git a/test/fixtures/output/shell/curl/multipart-data.sh b/test/fixtures/output/shell/curl/multipart-data.sh index 40a0201c7..216ae2365 100644 --- a/test/fixtures/output/shell/curl/multipart-data.sh +++ b/test/fixtures/output/shell/curl/multipart-data.sh @@ -1,4 +1,4 @@ curl --request POST \ --url http://mockbin.com/har \ - --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \ + --header 'content-type: multipart/form-data' \ --form foo=@hello.txt diff --git a/test/fixtures/output/shell/curl/multipart-file.sh b/test/fixtures/output/shell/curl/multipart-file.sh index e054807c6..9f18a585b 100644 --- a/test/fixtures/output/shell/curl/multipart-file.sh +++ b/test/fixtures/output/shell/curl/multipart-file.sh @@ -1,4 +1,4 @@ curl --request POST \ --url http://mockbin.com/har \ - --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \ + --header 'content-type: multipart/form-data' \ --form foo=@test/fixtures/files/hello.txt diff --git a/test/fixtures/output/shell/curl/multipart-form-data.sh b/test/fixtures/output/shell/curl/multipart-form-data.sh index def1f4351..fd5d2d16a 100644 --- a/test/fixtures/output/shell/curl/multipart-form-data.sh +++ b/test/fixtures/output/shell/curl/multipart-form-data.sh @@ -1,4 +1,4 @@ curl --request POST \ --url http://mockbin.com/har \ - --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ + --header 'Content-Type: multipart/form-data' \ --form foo=bar From 9071fb58faaacfc9d898a72ba471cbec6774906e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:23:48 -0700 Subject: [PATCH 134/181] chore(deps): bump path-parse from 1.0.6 to 1.0.7 (#225) Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 66cd5ccbd..14f90469e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2571,9 +2571,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-type": { From b80accf62fbc299331e74ce7a9f9edc5e3a958e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:24:28 -0700 Subject: [PATCH 135/181] chore(deps): bump glob-parent from 5.1.1 to 5.1.2 (#223) Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/gulpjs/glob-parent/releases) - [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md) - [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2) --- updated-dependencies: - dependency-name: glob-parent dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Reynolds --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14f90469e..5e88e12c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1532,9 +1532,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" From 1a0c61f4c880f935e75d3b9c2e8ec36b7e574aee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:25:26 -0700 Subject: [PATCH 136/181] chore(deps): bump handlebars from 4.7.6 to 4.7.7 (#214) Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7. - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e88e12c6..7cbd26a3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1567,9 +1567,9 @@ "dev": true }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", From 02ce296f48f92f3450cc9bd1ba299169e132abab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:25:42 -0700 Subject: [PATCH 137/181] chore(deps): bump lodash from 4.17.19 to 4.17.21 (#215) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Reynolds --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7cbd26a3d..b6f76a3ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2067,9 +2067,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "log-symbols": { From d9d305251d8a993c360cb8a2d6684c2527228f8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Sep 2021 13:26:18 -0700 Subject: [PATCH 138/181] chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#217) Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eric Reynolds --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6f76a3ff..c6b1cc041 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1643,9 +1643,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "http-signature": { From 9530d5b5e91c37e055aa98f6a1ad2a5223ab8401 Mon Sep 17 00:00:00 2001 From: Suren Khorenyan Date: Fri, 3 Sep 2021 23:30:01 +0300 Subject: [PATCH 139/181] pass extra options to httpsnippet (pass through to the target) (#222) Co-authored-by: Eric Reynolds --- README.md | 10 +++++++++- bin/httpsnippet | 13 ++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cb59c19ba..acb7dd9c3 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ npm install --save httpsnippet ``` - Usage: httpsnippet [options] + Usage: httpsnippet [options] Options: @@ -32,6 +32,7 @@ npm install --save httpsnippet -t, --target target output -c, --client [client] target client library -o, --output write output to directory + -x, --extra [{"optionKey": "optionValue"}] provide extra options for the target/client ``` @@ -63,6 +64,13 @@ snippets/ └── endpoint-3.js ``` +provide extra options: + +```shell +httpsnippet example.json --target http --output ./snippets -x '{"autoHost": false, "autoContentLength": false}' +``` + + ## API ### HTTPSnippet(source) diff --git a/bin/httpsnippet b/bin/httpsnippet index 3747f6695..49410f8e4 100755 --- a/bin/httpsnippet +++ b/bin/httpsnippet @@ -17,12 +17,23 @@ cmd .option('-t, --target ', 'target output') .option('-c, --client [client]', 'target client library') .option('-o, --output ', 'write output to directory') + .option('-x, --extra [{"optionKey": "optionValue"}]', 'provide extra options for the target/client') .parse(process.argv) if (!cmd.args.length || !cmd.target) { cmd.help() } +let extraOptions +if (cmd.extra) { + try { + extraOptions = JSON.parse(cmd.extra) + } catch (e) { + console.error('%s failed to parse options %s (should be JSON)', chalk.red('✖'), chalk.cyan.bold(cmd.extra)) + process.exit() + } +} + let dir if (cmd.output) { dir = path.resolve(cmd.output) @@ -53,7 +64,7 @@ cmd.args.forEach(function (fileName) { }) .then(function (snippet) { - return snippet.convert(cmd.target, cmd.client) + return snippet.convert(cmd.target, cmd.client, extraOptions) }) .then(function (output) { From 6b85ba24b13241990fecae20eeae3c7d257cd415 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Fri, 3 Sep 2021 13:31:01 -0700 Subject: [PATCH 140/181] fix: not sending form urlencoded properly in JS fetch snippets (#218) Co-authored-by: Eric Reynolds --- src/targets/javascript/fetch.js | 12 +++++++++++- .../javascript/fetch/application-form-encoded.js | 2 +- test/fixtures/output/javascript/fetch/full.js | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index 2bf213fd7..f76e396cb 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -67,7 +67,17 @@ module.exports = function (source, options) { } } - code.push('const options = %s;', stringifyObject(options, { indent: opts.indent, inlineCharacterLimit: 80 })) + code.push('const options = %s;', stringifyObject(options, { + indent: opts.indent, + inlineCharacterLimit: 80, + transform: (object, property, originalResult) => { + if (property === 'body' && source.postData.mimeType === 'application/x-www-form-urlencoded') { + return `new URLSearchParams(${originalResult})` + } + + return originalResult + } + })) .blank() if (source.postData.mimeType === 'multipart/form-data') { diff --git a/test/fixtures/output/javascript/fetch/application-form-encoded.js b/test/fixtures/output/javascript/fetch/application-form-encoded.js index 186c1dbc5..a710c45c1 100644 --- a/test/fixtures/output/javascript/fetch/application-form-encoded.js +++ b/test/fixtures/output/javascript/fetch/application-form-encoded.js @@ -1,7 +1,7 @@ const options = { method: 'POST', headers: {'content-type': 'application/x-www-form-urlencoded'}, - body: {foo: 'bar', hello: 'world'} + body: new URLSearchParams({foo: 'bar', hello: 'world'}) }; fetch('http://mockbin.com/har', options) diff --git a/test/fixtures/output/javascript/fetch/full.js b/test/fixtures/output/javascript/fetch/full.js index 4c7d08f18..99298d460 100644 --- a/test/fixtures/output/javascript/fetch/full.js +++ b/test/fixtures/output/javascript/fetch/full.js @@ -5,7 +5,7 @@ const options = { accept: 'application/json', 'content-type': 'application/x-www-form-urlencoded' }, - body: {foo: 'bar'} + body: new URLSearchParams({foo: 'bar'}) }; fetch('http://mockbin.com/har?foo=bar&foo=baz&baz=abc&key=value', options) From 7fd160c016d7b00aca923673004dcdcf4b5a0068 Mon Sep 17 00:00:00 2001 From: Eric Reynolds Date: Fri, 3 Sep 2021 13:36:20 -0700 Subject: [PATCH 141/181] chore(release bump) - Bump package.json to version 2.0.0 BREAKING CHANGE: removed support for Node < 10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aa7fd35e7..0f9f6b063 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.25.0", + "version": "2.0.0", "name": "httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 66daf6faf9db58dec447d1a2e948840752705b89 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Tue, 15 Mar 2022 20:08:30 +0200 Subject: [PATCH 142/181] yarn lock --- yarn.lock | 2343 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 1372 insertions(+), 971 deletions(-) diff --git a/yarn.lock b/yarn.lock index 975a7816a..5b570ab65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,53 @@ # yarn lockfile v1 +"@babel/code-frame@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.20" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -12,35 +59,25 @@ abbrev@1.0.x: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= - -acorn@^5.5.0: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw= +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ajv@^4.7.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" ajv@^6.5.5: version "6.10.2" @@ -52,20 +89,25 @@ ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-colors@3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-regex@^2.0.0: version "2.1.1" @@ -77,23 +119,38 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -101,13 +158,39 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -array.prototype.find@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" - integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg== +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-includes@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array.prototype.flat@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +array.prototype.flatmap@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.13.0" + es-abstract "^1.19.0" asn1@~0.2.3: version "0.2.4" @@ -121,6 +204,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + async@1.x, async@~1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -141,15 +229,6 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== -babel-code-frame@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -162,6 +241,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -170,44 +254,42 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: - callsites "^0.2.0" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -218,7 +300,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -227,41 +309,37 @@ chalk@^2.0.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= - dependencies: - restore-cursor "^1.0.1" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" codeclimate-test-reporter@^0.5.1: version "0.5.1" @@ -280,11 +358,23 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -309,33 +399,19 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - es5-ext "^0.10.50" - type "^1.0.1" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" dashdash@^1.12.0: version "1.14.1" @@ -349,79 +425,85 @@ debug-log@^1.0.0: resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8= -debug@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^2.1.1, debug@^2.2.0, debug@^2.6.8: +debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.1: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" -deglob@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.1.tgz#d268e168727799862e8eac07042e165957c1f3be" - integrity sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw== - dependencies: - find-root "^1.0.0" - glob "^7.0.5" - ignore "^3.0.9" - pkg-config "^1.1.0" - run-parallel "^1.1.2" - uniq "^1.0.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -doctrine@1.5.0, doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== -doctrine@^2.0.0: +doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dotenv@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" @@ -463,10 +545,17 @@ editorconfig@^0.15.0: semver "^5.6.0" sigmund "^1.0.1" -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" error-ex@^1.3.1: version "1.3.2" @@ -475,99 +564,52 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.13.0, es-abstract@^1.5.1: - version "1.16.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" - integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: - es-to-primitive "^1.2.0" + call-bind "^1.0.2" + es-to-primitive "^1.2.1" function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.51, es5-ext@~0.10.14: - version "0.10.51" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz#ed2d7d9d48a12df86e0299287e93a09ff478842f" - integrity sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" - -es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1: +escalade@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz#859fdd34f32e905ff06d752e7171ddd4444a7ed1" - integrity sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.51" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -es6-weak-map@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -584,139 +626,173 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" +eslint-config-standard-jsx@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz#dc24992661325a2e480e2c3091d669f19034e18d" + integrity sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA== -eslint-config-standard-jsx@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1" - integrity sha512-F8fRh2WFnTek7dZH9ZaE0PCBwdVGkwVWZmizla/DDNOmg7Tx6B/IlK5+oYpiX29jpu73LszeJj5i1axEZv6VMw== +eslint-config-standard@16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" + integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== -eslint-config-standard@10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" - integrity sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE= - -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" - integrity sha1-Wt2BBujJKNssuiMrzZ76hG49oWw= - dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" - -eslint-module-utils@^2.0.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" - integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: - debug "^2.6.8" - pkg-dir "^2.0.0" + debug "^3.2.7" + resolve "^1.20.0" -eslint-plugin-import@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" - integrity sha1-crowb60wXWfEgWNIpGmaQimsi04= - dependencies: - builtin-modules "^1.1.1" - contains-path "^0.1.0" - debug "^2.2.0" - doctrine "1.5.0" - eslint-import-resolver-node "^0.2.0" - eslint-module-utils "^2.0.0" - has "^1.0.1" - lodash.cond "^4.3.0" - minimatch "^3.0.3" - pkg-up "^1.0.0" - -eslint-plugin-node@~4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz#c04390ab8dbcbb6887174023d6f3a72769e63b97" - integrity sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ== +eslint-module-utils@^2.6.2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: - ignore "^3.0.11" - minimatch "^3.0.2" - object-assign "^4.0.1" - resolve "^1.1.7" - semver "5.3.0" + debug "^3.2.7" + find-up "^2.1.0" -eslint-plugin-promise@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" - integrity sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o= +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@~2.24.2: + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-plugin-node@~11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz#9674d11c056d1bafac38e4a3a9060be740988d90" + integrity sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA== + +eslint-plugin-react@~7.25.1: + version "7.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz#3333a974772745ddb3aecea84621019b635766bc" + integrity sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w== + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + estraverse "^5.2.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.4" + object.fromentries "^2.0.4" + object.hasown "^1.0.0" + object.values "^1.1.4" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.5" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" -eslint-plugin-react@~6.10.0: - version "6.10.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" - integrity sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g= +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: - array.prototype.find "^2.0.1" - doctrine "^1.2.2" - has "^1.0.1" - jsx-ast-utils "^1.3.4" - object.assign "^4.0.4" + eslint-visitor-keys "^1.1.0" -eslint-plugin-standard@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" - integrity sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI= - -eslint@~3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" - integrity sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw= - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" - doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" - esquery "^1.0.0" - estraverse "^4.2.0" +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@~7.18.0: + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" + integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.3.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + file-entry-cache "^6.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.20" + minimatch "^3.0.4" natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espree@^3.4.0: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" - integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== - dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" esprima@2.7.x, esprima@^2.7.1: version "2.7.3" @@ -728,43 +804,40 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== +esquery@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: - estraverse "^4.0.0" + estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= - dependencies: - d "1" - es5-ext "~0.10.14" - event-stream@3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" @@ -778,11 +851,6 @@ event-stream@3.3.4: stream-combiner "~0.0.4" through "~2.3.1" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= - extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -803,51 +871,47 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-levenshtein@~2.0.4: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= +file-entry-cache@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" + flat-cache "^3.0.4" -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" + to-regex-range "^5.0.1" find-root@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" + locate-path "^6.0.0" + path-exists "^4.0.0" find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" @@ -856,22 +920,30 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -flat-cache@^1.2.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: - circular-json "^0.3.1" - graceful-fs "^4.1.2" - rimraf "~2.6.2" - write "^0.2.1" + locate-path "^3.0.0" -flat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: - is-buffer "~2.0.3" + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== forever-agent@~0.6.1: version "0.6.1" @@ -921,39 +993,52 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -generate-function@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" - integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== - dependencies: - is-property "^1.0.2" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= - dependencies: - is-property "^1.0.0" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-caller-file@^2.0.1: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" getpass@^0.1.1: version "0.1.7" @@ -962,10 +1047,17 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -996,7 +1088,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.3: +glob@^7.1.3: version "7.1.5" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== @@ -1008,10 +1100,17 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.14.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +graceful-fs@^4.1.15: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== graceful-fs@^4.1.2: version "4.2.3" @@ -1059,6 +1158,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -1069,12 +1173,29 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= -has@^1.0.1, has@^1.0.3: +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -1086,6 +1207,11 @@ he@1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -1095,10 +1221,23 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" imurmurhash@^0.1.4: version "0.1.4" @@ -1113,7 +1252,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.3: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1123,104 +1262,137 @@ ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34= +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-core-module@^2.2.0, is-core-module@^2.6.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== -is-my-json-valid@^2.10.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" - integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-property@^1.0.0, is-property@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: - has "^1.0.1" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" is-symbol@^1.0.2: version "1.0.2" @@ -1229,15 +1401,24 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" +is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" isexe@^2.0.0: version "2.0.0" @@ -1269,12 +1450,12 @@ istanbul@^0.4.0: which "^1.1.1" wordwrap "^1.0.0" -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.5.1: +js-yaml@3.x: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -1282,6 +1463,21 @@ js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.5.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -1297,32 +1493,32 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" jsprim@^1.2.2: version "1.4.1" @@ -1334,17 +1530,28 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^1.3.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" - integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE= +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" lcov-parse@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= -levn@^0.3.0, levn@~0.3.0: +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= @@ -1371,6 +1578,17 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-json-file@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" + integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== + dependencies: + graceful-fs "^4.1.15" + parse-json "^4.0.0" + pify "^4.0.1" + strip-bom "^3.0.0" + type-fest "^0.3.0" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -1387,22 +1605,41 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -lodash.cond@^4.3.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - integrity sha1-9HGh2khr5g9quVXRcRVSPdHSVdU= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash@^4.0.0, lodash@^4.17.15, lodash@^4.3.0: +lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -log-symbols@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== +lodash@^4.17.20: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: - chalk "^2.0.1" + js-tokens "^3.0.0 || ^4.0.0" lru-cache@^4.1.5: version "4.1.5" @@ -1412,6 +1649,13 @@ lru-cache@^4.1.5: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" @@ -1429,7 +1673,7 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.40.0" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -1441,7 +1685,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.0, minimist@^1.2.0: +minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -1461,68 +1705,63 @@ mkdirp-promise@^1.0.0: resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz#2c84893ed676e0d98fb18fb9a6212fd1b2b9a819" integrity sha1-LISJPtZ24NmPsY+5piEv0bK5qBk= -mkdirp@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" - integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== - dependencies: - minimist "^1.2.5" - -mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" -mocha@^6.2.0: - version "6.2.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.3.tgz#e648432181d8b99393410212664450a4c1e31912" - integrity sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg== +mocha@^8.2.1: + version "8.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== dependencies: - ansi-colors "3.2.3" + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" browser-stdout "1.3.1" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" growl "1.10.5" he "1.2.0" - js-yaml "3.13.1" - log-symbols "2.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" minimatch "3.0.4" - mkdirp "0.5.4" - ms "2.1.1" - node-environment-flags "1.0.5" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@^2.1.1: +ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== natural-compare@^1.4.0: version "1.4.0" @@ -1534,19 +1773,6 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -next-tick@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -node-environment-flags@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" - integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== - dependencies: - object.getownpropertydescriptors "^2.0.3" - semver "^5.7.0" - nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -1554,48 +1780,85 @@ nopt@3.x: dependencies: abbrev "1" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@4.1.0, object.assign@^4.0.4: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= +object.entries@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.hasown@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.values@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" once@1.x, once@^1.3.0: version "1.4.0" @@ -1604,11 +1867,6 @@ once@1.x, once@^1.3.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= - optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -1617,7 +1875,7 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.1, optionator@^0.8.2: +optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= @@ -1629,10 +1887,17 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" p-limit@^1.1.0: version "1.3.0" @@ -1648,6 +1913,13 @@ p-limit@^2.0.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -1662,6 +1934,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -1672,6 +1951,13 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -1680,33 +1966,43 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" @@ -1719,11 +2015,21 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pinkie-promise@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" @@ -1748,15 +2054,15 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pkg-conf@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" - integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= +pkg-conf@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae" + integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ== dependencies: - find-up "^2.0.0" - load-json-file "^4.0.0" + find-up "^3.0.0" + load-json-file "^5.2.0" -pkg-config@^1.1.0, pkg-config@^1.1.1: +pkg-config@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4" integrity sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q= @@ -1765,39 +2071,36 @@ pkg-config@^1.1.0, pkg-config@^1.1.1: find-root "^1.0.0" xtend "^4.0.1" -pkg-dir@^2.0.0: +pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= dependencies: find-up "^2.1.0" -pkg-up@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" - integrity sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY= - dependencies: - find-up "^1.0.0" - -pluralize@^1.2.1: +prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= +prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" pseudomap@^1.0.2: version "1.0.2" @@ -1824,6 +2127,13 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -1834,34 +2144,47 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -readable-stream@^2.2.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - 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" - -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" + picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= +regexp.prototype.flags@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== dependencies: - resolve "^1.1.6" + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== request@~2.88.0: version "2.88.0" @@ -1894,106 +2217,95 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -require-uncached@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.6, resolve@^1.1.7: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.20.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: - path-parse "^1.0.6" + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" + is-core-module "^2.2.0" + path-parse "^1.0.6" -rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= - dependencies: - once "^1.3.0" - -run-parallel@^1.1.2: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= - safe-buffer@^5.0.1, safe-buffer@^5.1.2: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semver@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +semver@^6.1.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -shelljs@^0.7.5: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM= +semver@^7.2.1: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + lru-cache "^6.0.0" + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== should-equal@^2.0.0: version "2.0.0" @@ -2039,15 +2351,28 @@ should@^13.2.3: should-type-adaptors "^1.0.1" should-util "^1.0.0" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + sigmund@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" @@ -2061,6 +2386,32 @@ source-map@~0.2.0: dependencies: amdefine ">=0.0.4" +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -2088,30 +2439,29 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -standard-engine@~7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-7.0.0.tgz#ebb77b9c8fc2c8165ffa353bd91ba0dff41af690" - integrity sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA= - dependencies: - deglob "^2.1.0" - get-stdin "^5.0.1" - minimist "^1.1.0" - pkg-conf "^2.0.0" - -standard@^10.0.2: - version "10.0.3" - resolved "https://registry.yarnpkg.com/standard/-/standard-10.0.3.tgz#7869bcbf422bdeeaab689a1ffb1fea9677dd50ea" - integrity sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w== - dependencies: - eslint "~3.19.0" - eslint-config-standard "10.2.1" - eslint-config-standard-jsx "4.0.2" - eslint-plugin-import "~2.2.0" - eslint-plugin-node "~4.2.2" - eslint-plugin-promise "~3.5.0" - eslint-plugin-react "~6.10.0" - eslint-plugin-standard "~3.0.1" - standard-engine "~7.0.0" +standard-engine@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-14.0.1.tgz#fe568e138c3d9768fc59ff81001f7049908a8156" + integrity sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q== + dependencies: + get-stdin "^8.0.0" + minimist "^1.2.5" + pkg-conf "^3.1.0" + xdg-basedir "^4.0.0" + +standard@^16.0.3: + version "16.0.4" + resolved "https://registry.yarnpkg.com/standard/-/standard-16.0.4.tgz#779113ba41dd218ab545e7b4eb2405561f6eb370" + integrity sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ== + dependencies: + eslint "~7.18.0" + eslint-config-standard "16.0.3" + eslint-config-standard-jsx "10.0.0" + eslint-plugin-import "~2.24.2" + eslint-plugin-node "~11.1.0" + eslint-plugin-promise "~5.1.0" + eslint-plugin-react "~7.25.1" + standard-engine "^14.0.1" stream-combiner@~0.0.4: version "0.0.4" @@ -2120,16 +2470,7 @@ stream-combiner@~0.0.4: dependencies: duplexer "~0.1.1" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0: +"string-width@^1.0.2 || 2": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -2137,37 +2478,44 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== +string.prototype.matchall@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - function-bind "^1.1.1" - -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - function-bind "^1.1.1" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: - safe-buffer "~5.1.0" + call-bind "^1.0.2" + define-properties "^1.1.3" stringify-object@^3.3.0: version "3.3.0" @@ -2192,29 +2540,34 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^4.1.0" + ansi-regex "^5.0.1" strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - has-flag "^3.0.0" + has-flag "^4.0.0" supports-color@^2.0.0: version "2.0.0" @@ -2235,28 +2588,46 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8= +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +table@^6.0.4: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through@2, through@^2.3.6, through@~2.3, through@~2.3.1: +through@2, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -2265,6 +2636,16 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +tsconfig-paths@^3.11.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" + integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -2277,6 +2658,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -2284,15 +2672,15 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== uglify-js@^3.1.4: version "3.6.4" @@ -2302,10 +2690,15 @@ uglify-js@^3.1.4: commander "~2.20.3" source-map "~0.6.1" -uniq@^1.0.1: +unbox-primitive@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" uri-js@^4.2.2: version "4.2.2" @@ -2314,23 +2707,24 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= - dependencies: - os-homedir "^1.0.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -2340,12 +2734,25 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" -which@1.3.1, which@^1.1.1: +which@^1.1.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -2359,6 +2766,11 @@ wide-align@1.1.3: dependencies: string-width "^1.0.2 || 2" +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wordwrap@^1.0.0, wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -2369,95 +2781,84 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xtend@^4.0.0, xtend@^4.0.1: +xtend@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 7f8d6b37ef086c83c80983078dd78ed07996f9ab Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Wed, 16 Mar 2022 15:11:56 +0200 Subject: [PATCH 143/181] r httr - fix broken snippet --- src/targets/r/httr.js | 21 +++++++++++---------- src/targets/rapidql/rapidql.js | 7 ++----- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/targets/r/httr.js b/src/targets/r/httr.js index db68df270..51a630aac 100644 --- a/src/targets/r/httr.js +++ b/src/targets/r/httr.js @@ -85,23 +85,24 @@ module.exports = function (source, options) { // Construct headers const headers = source.allHeaders - let headerCount = Object.keys(headers).length + const headersKeys = Object.keys(headers); + let headerCount = headersKeys.length let header = '' let cookies let accept - for (const head in headers) { - if (head.toLowerCase() === 'accept') { - accept = ', accept("' + headers[head] + '")' + headersKeys.forEach((headerKey, index) => { + if (headerKey.toLowerCase() === 'accept') { + accept = ', accept("' + headers[headerKey] + '")' headerCount = headerCount - 1 - } else if (head.toLowerCase() === 'cookie') { - cookies = ', set_cookies(`' + headers[head].replace(/;/g, '", `').replace(/` /g, '`').replace(/=/g, '` = "') + '")' + } else if (headerKey.toLowerCase() === 'cookie') { + cookies = ', set_cookies(`' + headers[headerKey].replace(/;/g, '", `').replace(/` /g, '`').replace(/=/g, '` = "') + '")' headerCount = headerCount - 1 - } else if (head.toLowerCase() !== 'content-type') { - header = header + head.replace('-', '_') + " = '" + headers[head] - if (headerCount > 1) { header = header + "', " } + } else if (headerKey.toLowerCase() !== 'content-type') { + header += `'${headerKey}' = '${headers[headerKey]}` + if (headerCount > 1 && index !== headersKeys.length - 1) { header += "', " } } - } + }) // Construct request const method = source.method diff --git a/src/targets/rapidql/rapidql.js b/src/targets/rapidql/rapidql.js index bd4b79867..b1611cfb6 100644 --- a/src/targets/rapidql/rapidql.js +++ b/src/targets/rapidql/rapidql.js @@ -1,18 +1,15 @@ 'use strict' -var util = require('util') -var stringifyObject = require('stringify-object') -var CodeBuilder = require('../../helpers/code-builder') +const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { var opts = Object.assign({ indent: ' ' }, options) - var code = new CodeBuilder(opts.indent) + const code = new CodeBuilder(opts.indent) code.push('// For more information about RapidQL, checkout docs.rapidql.com!'); - code.push(''); code.blank(); code.push("const RapidQL = require('RapidQL');"); code.push('let rql = new RapidQL({'); From a3a7661d10c2a72300d95fbf17064ac266664e1d Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Wed, 16 Mar 2022 17:02:30 +0200 Subject: [PATCH 144/181] r httr query params --- src/targets/r/httr.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/targets/r/httr.js b/src/targets/r/httr.js index 51a630aac..66321e545 100644 --- a/src/targets/r/httr.js +++ b/src/targets/r/httr.js @@ -27,24 +27,23 @@ module.exports = function (source, options) { // Construct query string const qs = source.queryObj - const queryCount = Object.keys(qs).length + const queryKeys = Object.keys(qs) + const queryCount = queryKeys.length delete source.queryObj.key - if (source.queryString.length === 1) { - code.push('queryString <- list(%s = "%s")', Object.keys(qs), Object.values(qs).toString()) + if (queryCount === 1) { + code.push('queryString <- list(%s = "%s")', queryKeys, Object.values(qs).toString()) .blank() - } else if (source.queryString.length > 1) { - let count = 1 - + } else if (queryCount > 1) { code.push('queryString <- list(') - for (const query in qs) { - if (count++ !== queryCount - 1) { - code.push(' %s = "%s",', query, qs[query].toString()) + queryKeys.forEach((queryKey, index) => { + if (index !== queryCount - 1) { + code.push(' %s = "%s",', queryKey, qs[queryKey].toString()) } else { - code.push(' %s = "%s"', query, qs[query].toString()) + code.push(' %s = "%s"', queryKey, qs[queryKey].toString()) } - } + }) code.push(')') .blank() From 5b23dea53ff0d59f591b3fb89b77be6a39526461 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Wed, 16 Mar 2022 20:37:12 +0200 Subject: [PATCH 145/181] npmpublish workflow file --- .github/workflows/npmpublish.yml | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/npmpublish.yml diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml new file mode 100644 index 000000000..a2ab2137d --- /dev/null +++ b/.github/workflows/npmpublish.yml @@ -0,0 +1,54 @@ +name: Publish HttpSnippet Packages + +on: + push: + branches: + - main + paths-ignore: + - "package.json" + - "**.md" + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + tags: + description: "Test scenario tags" + +jobs: + publish-package: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Auth + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + env: + github_token: ${{secrets.ACTIONS_ACCESS_KEY}} + + - name: Install node 14 + uses: actions/setup-node@v2 + with: + node-version: 14.x + registry-url: "https://npm.pkg.github.com" + scope: "@rapidapi" + + - name: Install yarn + run: npm install -g yarn + + - name: Install root dependencies + run: yarn --no-progress --non-interactive --frozen-lockfile + + - name: Publish Package + run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.ACTIONS_ACCESS_KEY}} From b32afc753c55ab3b7201c90768cebc345c9b8a68 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Wed, 16 Mar 2022 22:06:14 +0200 Subject: [PATCH 146/181] npmpublish workflow file update --- .github/workflows/npmpublish.yml | 2 +- package.json | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index a2ab2137d..3b6df7e24 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -28,7 +28,7 @@ jobs: with: fetch-depth: 0 - - name: Auth + - name: Authenticate run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" diff --git a/package.json b/package.json index efd24aa13..c40b7da40 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,15 @@ { "version": "1.22.1", - "name": "httpsnippet", + "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", "homepage": "https://github.com/Mashape/httpsnippet", "license": "MIT", "main": "src/index.js", "bin": "bin/httpsnippet", + "publishConfig": { + "registry": "https://npm.pkg.github.com/" + }, "keywords": [ "api", "clojure", From d5a20e5e56cb5909746a263a0e22e21908e0f6ae Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 10:45:49 +0200 Subject: [PATCH 147/181] workflow update --- .github/workflows/npmpublish.yml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 3b6df7e24..801f89bfb 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -14,7 +14,7 @@ on: required: true default: "warning" tags: - description: "Test scenario tags" + description: "Test scenario tag" jobs: publish-package: diff --git a/package.json b/package.json index c40b7da40..bccf43a3f 100644 --- a/package.json +++ b/package.json @@ -47,9 +47,9 @@ "bin", "src" ], - "repository": "Mashape/httpsnippet", + "repository": "RapidAPI/httpsnippet", "bugs": { - "url": "https://github.com/Mashape/httpsnippet/issues" + "url": "https://github.com/RapidAPI/httpsnippet/issues" }, "scripts": { "quick": "mocha --no-timeouts --fgrep 'Request Validation' --invert", From 3ce261fecc292f3f585718a24acff141ebec359e Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 10:53:51 +0200 Subject: [PATCH 148/181] workflow improve --- .github/workflows/npmpublish.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 801f89bfb..57490bc42 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -3,10 +3,8 @@ name: Publish HttpSnippet Packages on: push: branches: - - main - paths-ignore: - - "package.json" - - "**.md" + - sahar/cicd + workflow_dispatch: inputs: logLevel: @@ -42,13 +40,10 @@ jobs: registry-url: "https://npm.pkg.github.com" scope: "@rapidapi" - - name: Install yarn - run: npm install -g yarn - - name: Install root dependencies run: yarn --no-progress --non-interactive --frozen-lockfile - name: Publish Package - run: npm publish + run: yarn publish env: NODE_AUTH_TOKEN: ${{secrets.ACTIONS_ACCESS_KEY}} From 48d72e0e4ecbf013e07759a5a1e7eedb083545c1 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 10:55:34 +0200 Subject: [PATCH 149/181] version bump 1.22.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bccf43a3f..07324af92 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.1", + "version": "1.22.2", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 29c82af4dba88d852900dcfeb9ad444e0c88e247 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 10:58:59 +0200 Subject: [PATCH 150/181] workflow remove redundant lines --- .github/workflows/npmpublish.yml | 8 -------- package.json | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 57490bc42..74e067fe9 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -19,20 +19,12 @@ jobs: runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout Repository uses: actions/checkout@v2 with: fetch-depth: 0 - - name: Authenticate - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - env: - github_token: ${{secrets.ACTIONS_ACCESS_KEY}} - - name: Install node 14 uses: actions/setup-node@v2 with: diff --git a/package.json b/package.json index 07324af92..7d6bbadbb 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.2", + "version": "1.22.3", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From daece5789d4cdb8c482c9fd216979fcf47f19f4f Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 11:24:44 +0200 Subject: [PATCH 151/181] workflow update --- .github/workflows/npmpublish.yml | 2 -- package.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 74e067fe9..16bcdaebd 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -17,8 +17,6 @@ on: jobs: publish-package: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout Repository uses: actions/checkout@v2 diff --git a/package.json b/package.json index 7d6bbadbb..cd4f05e76 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.3", + "version": "1.22.4", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From dd880757609cec6284632eae206198995940d156 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 11:27:18 +0200 Subject: [PATCH 152/181] workflow update create release --- .github/workflows/npmpublish.yml | 15 +++++++++++++++ package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 16bcdaebd..b2742575b 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -18,6 +18,21 @@ jobs: publish-package: runs-on: ubuntu-latest steps: + - name: Checkout GitHub Actions + uses: actions/checkout@v2 + with: + repository: RapidAPI/rapidapi-github-actions + ref: master + token: ${{ secrets.ACTIONS_ACCESS_KEY }} + path: .github/actions + + - name: Create GitHub Release + uses: ./.github/actions/create-github-release + with: + github_head_ref: ${{ (github.head_ref) }} + github_base_ref: ${{ (github.base_ref) }} + ACTIONS_ACCESS_KEY: ${{ (secrets.ACTIONS_ACCESS_KEY) }} + - name: Checkout Repository uses: actions/checkout@v2 with: diff --git a/package.json b/package.json index cd4f05e76..df74fc980 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.4", + "version": "1.22.5", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 95f014de688d5f63cd13815d4075ea2a2c296ed9 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:27:50 +0000 Subject: [PATCH 153/181] chore(release): v2.0.0 --- CHANGELOG.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 4 +-- 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..f9b1adce7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,76 @@ +# [2.0.0](https://github.com/RapidAPI/httpsnippet/compare/v1.19.1...v2.0.0) (2022-03-17) + + +### Bug Fixes + +* add check for existing clients ([4946569](https://github.com/RapidAPI/httpsnippet/commit/4946569f452f8f4d91de082992b006adb701c0d3)) +* bug where FormData in the js fetch target wasn't applied ([#202](https://github.com/RapidAPI/httpsnippet/issues/202)) ([200b1fd](https://github.com/RapidAPI/httpsnippet/commit/200b1fda75e9862577fc11883143a0f15545a8e7)) +* can't load the form-data polyfill in browsers because fs doesn't exist ([#184](https://github.com/RapidAPI/httpsnippet/issues/184)) ([0fc7f4a](https://github.com/RapidAPI/httpsnippet/commit/0fc7f4a42cafadf00d1f2c0463ac93f9a8e7258b)) +* coding against native FormData and form-data ([ce5f277](https://github.com/RapidAPI/httpsnippet/commit/ce5f277068951998cf48044a1a70f0c547666cea)) +* don't convert header names to lowercase ([#178](https://github.com/RapidAPI/httpsnippet/issues/178)) ([6afa231](https://github.com/RapidAPI/httpsnippet/commit/6afa231ec6bb30f47b19e08c7d4887637eef5d8e)), closes [#74](https://github.com/RapidAPI/httpsnippet/issues/74) +* moving form-data usage over to using the native FormData object ([d493781](https://github.com/RapidAPI/httpsnippet/commit/d493781044108901b860c7ce374745bb244543fe)) +* node-fetch doesn't support the `qs` option ([#213](https://github.com/RapidAPI/httpsnippet/issues/213)) ([d82a992](https://github.com/RapidAPI/httpsnippet/commit/d82a9923cfdcfc67b1f10224e79b79ba04936495)) +* not sending form urlencoded properly in JS fetch snippets ([#218](https://github.com/RapidAPI/httpsnippet/issues/218)) ([6b85ba2](https://github.com/RapidAPI/httpsnippet/commit/6b85ba24b13241990fecae20eeae3c7d257cd415)) +* out of date regex that was causing readstreams to be stringified ([89177c3](https://github.com/RapidAPI/httpsnippet/commit/89177c34634c4481aab5ef1c0da1c6bbceb78a1f)) +* regression in header case-insensitivity ([#188](https://github.com/RapidAPI/httpsnippet/issues/188)) ([86e7b0e](https://github.com/RapidAPI/httpsnippet/commit/86e7b0e2e0cd9384db5d7dc7ed5608a1d4e3e7b3)) +* setting the form-data boundary when under node ([86c52ba](https://github.com/RapidAPI/httpsnippet/commit/86c52ba99e4ad36ecbd441d22f4ac525f7c9b39f)) +* updating the curl target to prioritize param.fileName ([ea50f99](https://github.com/RapidAPI/httpsnippet/commit/ea50f9909bf6a7d4325318578128abffdd8e27fb)) +* updating the node request target to prefer single quotes ([f98662c](https://github.com/RapidAPI/httpsnippet/commit/f98662c03ccf3875550d55cda9c51c263af27a36)) +* updating the node request target to prioritize param.fileName ([36a1a5b](https://github.com/RapidAPI/httpsnippet/commit/36a1a5bd97728b716cca6012d505946e1023b03a)) +* updating the node-fetch target to handle form-urlencoded requests ([#187](https://github.com/RapidAPI/httpsnippet/issues/187)) ([07d5ebf](https://github.com/RapidAPI/httpsnippet/commit/07d5ebfc2720d98693ba568447953e7b180ae5e2)) +* using `null` instead of `NULL` ([6dbb2b7](https://github.com/RapidAPI/httpsnippet/commit/6dbb2b70575fec160c417a74d49ab3fc613947bd)) + + +* chore(release bump) - Bump package.json to version 2.0.0 ([7fd160c](https://github.com/RapidAPI/httpsnippet/commit/7fd160c016d7b00aca923673004dcdcf4b5a0068)) + + +### Features + +* cleaner python requests json snippets ([#189](https://github.com/RapidAPI/httpsnippet/issues/189)) ([e81f30a](https://github.com/RapidAPI/httpsnippet/commit/e81f30a56ab8c600d583d7e9706ec944f12c106f)) +* updating javascript targets to use `const` instead of `var` ([cd034d0](https://github.com/RapidAPI/httpsnippet/commit/cd034d030b2317898ce8d5e10cbf6ff643a438a8)) +* updating php targets to use `[]` instead of `array()` ([6a814ab](https://github.com/RapidAPI/httpsnippet/commit/6a814abe78af59849c07cdaf8cd51ef266d71c52)) + + +### BREAKING CHANGES + +* removed support for Node < 10 + + + +## [1.19.1](https://github.com/RapidAPI/httpsnippet/compare/v1.19.0...v1.19.1) (2019-05-05) + + + +# [1.19.0](https://github.com/RapidAPI/httpsnippet/compare/v1.16.7...v1.19.0) (2019-04-29) + + +### Reverts + +* Revert "docs(badges): remove badges until fixed" ([a1ed134](https://github.com/RapidAPI/httpsnippet/commit/a1ed13467d54c4a870c7421e2f003e3c7ab47c49)) + + + +## [1.16.7](https://github.com/RapidAPI/httpsnippet/compare/v1.16.5...v1.16.7) (2019-03-10) + + +### Bug Fixes + +* jsonObj cannot have null value ([f21d76e](https://github.com/RapidAPI/httpsnippet/commit/f21d76ebdb3715f8c6b16fba1100761a8fc50d2a)) +* **package:** update har-validator to version 5.0.0 ([f1a74c8](https://github.com/RapidAPI/httpsnippet/commit/f1a74c80952dac63d812750c3b24038da44fe244)) + + +### Features + +* **powershell:** add powershell webrequest target ([#127](https://github.com/RapidAPI/httpsnippet/issues/127)) ([7496355](https://github.com/RapidAPI/httpsnippet/commit/74963555cdcb4677a4f5a412fd476f567761f3e9)), closes [#105](https://github.com/RapidAPI/httpsnippet/issues/105) + + + +## [1.16.5](https://github.com/RapidAPI/httpsnippet/compare/v1.16.4...v1.16.5) (2015-11-24) + + +### Bug Fixes + +* **promises:** update har-validator and remove dependency on bluebird ([c328a36](https://github.com/RapidAPI/httpsnippet/commit/c328a3626a839b9813242f2ceade723b08342153)) + + + diff --git a/package.json b/package.json index df74fc980..7d06e4a03 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.22.5", + "version": "2.0.0", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", @@ -95,4 +95,4 @@ "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } -} +} \ No newline at end of file From b1bca8db4576ce928b1651c300c417891892f2d0 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:28:06 +0000 Subject: [PATCH 154/181] chore(release): v2.0.1 --- CHANGELOG.md | 13 ++++--------- package.json | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9b1adce7..fc68754af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.1](https://github.com/RapidAPI/httpsnippet/compare/v2.0.0...v2.0.1) (2022-03-17) + + + # [2.0.0](https://github.com/RapidAPI/httpsnippet/compare/v1.19.1...v2.0.0) (2022-03-17) @@ -65,12 +69,3 @@ -## [1.16.5](https://github.com/RapidAPI/httpsnippet/compare/v1.16.4...v1.16.5) (2015-11-24) - - -### Bug Fixes - -* **promises:** update har-validator and remove dependency on bluebird ([c328a36](https://github.com/RapidAPI/httpsnippet/commit/c328a3626a839b9813242f2ceade723b08342153)) - - - diff --git a/package.json b/package.json index 7d06e4a03..521dbbfa0 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.0", + "version": "2.0.1", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 9dbc2dcaac1bdc279d86f1a2a50b0879d4ea4019 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:28:27 +0000 Subject: [PATCH 155/181] chore(release): v2.0.2 --- CHANGELOG.md | 19 ++++--------------- package.json | 2 +- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc68754af..1eea7ddaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.2](https://github.com/RapidAPI/httpsnippet/compare/v2.0.1...v2.0.2) (2022-03-17) + + + ## [2.0.1](https://github.com/RapidAPI/httpsnippet/compare/v2.0.0...v2.0.1) (2022-03-17) @@ -54,18 +58,3 @@ -## [1.16.7](https://github.com/RapidAPI/httpsnippet/compare/v1.16.5...v1.16.7) (2019-03-10) - - -### Bug Fixes - -* jsonObj cannot have null value ([f21d76e](https://github.com/RapidAPI/httpsnippet/commit/f21d76ebdb3715f8c6b16fba1100761a8fc50d2a)) -* **package:** update har-validator to version 5.0.0 ([f1a74c8](https://github.com/RapidAPI/httpsnippet/commit/f1a74c80952dac63d812750c3b24038da44fe244)) - - -### Features - -* **powershell:** add powershell webrequest target ([#127](https://github.com/RapidAPI/httpsnippet/issues/127)) ([7496355](https://github.com/RapidAPI/httpsnippet/commit/74963555cdcb4677a4f5a412fd476f567761f3e9)), closes [#105](https://github.com/RapidAPI/httpsnippet/issues/105) - - - diff --git a/package.json b/package.json index 521dbbfa0..140df0a64 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.1", + "version": "2.0.2", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From ac79556b3d27e65bb8799433860577e571baccd3 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:28:49 +0000 Subject: [PATCH 156/181] chore(release): v2.0.3 --- CHANGELOG.md | 13 ++++--------- package.json | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eea7ddaa..e5c835df6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.3](https://github.com/RapidAPI/httpsnippet/compare/v2.0.2...v2.0.3) (2022-03-17) + + + ## [2.0.2](https://github.com/RapidAPI/httpsnippet/compare/v2.0.1...v2.0.2) (2022-03-17) @@ -49,12 +53,3 @@ -# [1.19.0](https://github.com/RapidAPI/httpsnippet/compare/v1.16.7...v1.19.0) (2019-04-29) - - -### Reverts - -* Revert "docs(badges): remove badges until fixed" ([a1ed134](https://github.com/RapidAPI/httpsnippet/commit/a1ed13467d54c4a870c7421e2f003e3c7ab47c49)) - - - diff --git a/package.json b/package.json index 140df0a64..67646bacc 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.2", + "version": "2.0.3", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 0ed9bbfba7cfebdac046e1b0f26b905e41107dda Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:29:05 +0000 Subject: [PATCH 157/181] chore(release): v2.0.4 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5c835df6..d8884ff61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.4](https://github.com/RapidAPI/httpsnippet/compare/v2.0.3...v2.0.4) (2022-03-17) + + + ## [2.0.3](https://github.com/RapidAPI/httpsnippet/compare/v2.0.2...v2.0.3) (2022-03-17) @@ -49,7 +53,3 @@ -## [1.19.1](https://github.com/RapidAPI/httpsnippet/compare/v1.19.0...v1.19.1) (2019-05-05) - - - diff --git a/package.json b/package.json index 67646bacc..33ff3ce81 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.3", + "version": "2.0.4", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 1bed818178c3c2f4b09fe0d32bcba87b1f435213 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:29:22 +0000 Subject: [PATCH 158/181] chore(release): v2.0.5 --- CHANGELOG.md | 43 ++++--------------------------------------- package.json | 2 +- 2 files changed, 5 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8884ff61..05bfc1380 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.5](https://github.com/RapidAPI/httpsnippet/compare/v2.0.4...v2.0.5) (2022-03-17) + + + ## [2.0.4](https://github.com/RapidAPI/httpsnippet/compare/v2.0.3...v2.0.4) (2022-03-17) @@ -14,42 +18,3 @@ -# [2.0.0](https://github.com/RapidAPI/httpsnippet/compare/v1.19.1...v2.0.0) (2022-03-17) - - -### Bug Fixes - -* add check for existing clients ([4946569](https://github.com/RapidAPI/httpsnippet/commit/4946569f452f8f4d91de082992b006adb701c0d3)) -* bug where FormData in the js fetch target wasn't applied ([#202](https://github.com/RapidAPI/httpsnippet/issues/202)) ([200b1fd](https://github.com/RapidAPI/httpsnippet/commit/200b1fda75e9862577fc11883143a0f15545a8e7)) -* can't load the form-data polyfill in browsers because fs doesn't exist ([#184](https://github.com/RapidAPI/httpsnippet/issues/184)) ([0fc7f4a](https://github.com/RapidAPI/httpsnippet/commit/0fc7f4a42cafadf00d1f2c0463ac93f9a8e7258b)) -* coding against native FormData and form-data ([ce5f277](https://github.com/RapidAPI/httpsnippet/commit/ce5f277068951998cf48044a1a70f0c547666cea)) -* don't convert header names to lowercase ([#178](https://github.com/RapidAPI/httpsnippet/issues/178)) ([6afa231](https://github.com/RapidAPI/httpsnippet/commit/6afa231ec6bb30f47b19e08c7d4887637eef5d8e)), closes [#74](https://github.com/RapidAPI/httpsnippet/issues/74) -* moving form-data usage over to using the native FormData object ([d493781](https://github.com/RapidAPI/httpsnippet/commit/d493781044108901b860c7ce374745bb244543fe)) -* node-fetch doesn't support the `qs` option ([#213](https://github.com/RapidAPI/httpsnippet/issues/213)) ([d82a992](https://github.com/RapidAPI/httpsnippet/commit/d82a9923cfdcfc67b1f10224e79b79ba04936495)) -* not sending form urlencoded properly in JS fetch snippets ([#218](https://github.com/RapidAPI/httpsnippet/issues/218)) ([6b85ba2](https://github.com/RapidAPI/httpsnippet/commit/6b85ba24b13241990fecae20eeae3c7d257cd415)) -* out of date regex that was causing readstreams to be stringified ([89177c3](https://github.com/RapidAPI/httpsnippet/commit/89177c34634c4481aab5ef1c0da1c6bbceb78a1f)) -* regression in header case-insensitivity ([#188](https://github.com/RapidAPI/httpsnippet/issues/188)) ([86e7b0e](https://github.com/RapidAPI/httpsnippet/commit/86e7b0e2e0cd9384db5d7dc7ed5608a1d4e3e7b3)) -* setting the form-data boundary when under node ([86c52ba](https://github.com/RapidAPI/httpsnippet/commit/86c52ba99e4ad36ecbd441d22f4ac525f7c9b39f)) -* updating the curl target to prioritize param.fileName ([ea50f99](https://github.com/RapidAPI/httpsnippet/commit/ea50f9909bf6a7d4325318578128abffdd8e27fb)) -* updating the node request target to prefer single quotes ([f98662c](https://github.com/RapidAPI/httpsnippet/commit/f98662c03ccf3875550d55cda9c51c263af27a36)) -* updating the node request target to prioritize param.fileName ([36a1a5b](https://github.com/RapidAPI/httpsnippet/commit/36a1a5bd97728b716cca6012d505946e1023b03a)) -* updating the node-fetch target to handle form-urlencoded requests ([#187](https://github.com/RapidAPI/httpsnippet/issues/187)) ([07d5ebf](https://github.com/RapidAPI/httpsnippet/commit/07d5ebfc2720d98693ba568447953e7b180ae5e2)) -* using `null` instead of `NULL` ([6dbb2b7](https://github.com/RapidAPI/httpsnippet/commit/6dbb2b70575fec160c417a74d49ab3fc613947bd)) - - -* chore(release bump) - Bump package.json to version 2.0.0 ([7fd160c](https://github.com/RapidAPI/httpsnippet/commit/7fd160c016d7b00aca923673004dcdcf4b5a0068)) - - -### Features - -* cleaner python requests json snippets ([#189](https://github.com/RapidAPI/httpsnippet/issues/189)) ([e81f30a](https://github.com/RapidAPI/httpsnippet/commit/e81f30a56ab8c600d583d7e9706ec944f12c106f)) -* updating javascript targets to use `const` instead of `var` ([cd034d0](https://github.com/RapidAPI/httpsnippet/commit/cd034d030b2317898ce8d5e10cbf6ff643a438a8)) -* updating php targets to use `[]` instead of `array()` ([6a814ab](https://github.com/RapidAPI/httpsnippet/commit/6a814abe78af59849c07cdaf8cd51ef266d71c52)) - - -### BREAKING CHANGES - -* removed support for Node < 10 - - - diff --git a/package.json b/package.json index 33ff3ce81..202568dc7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.4", + "version": "2.0.5", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 018bea19dc26158363b3670d6fa28f8ad1b265f6 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 11:43:25 +0200 Subject: [PATCH 159/181] checkout repo before actions --- .github/workflows/npmpublish.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index b2742575b..e0094e789 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -18,21 +18,6 @@ jobs: publish-package: runs-on: ubuntu-latest steps: - - name: Checkout GitHub Actions - uses: actions/checkout@v2 - with: - repository: RapidAPI/rapidapi-github-actions - ref: master - token: ${{ secrets.ACTIONS_ACCESS_KEY }} - path: .github/actions - - - name: Create GitHub Release - uses: ./.github/actions/create-github-release - with: - github_head_ref: ${{ (github.head_ref) }} - github_base_ref: ${{ (github.base_ref) }} - ACTIONS_ACCESS_KEY: ${{ (secrets.ACTIONS_ACCESS_KEY) }} - - name: Checkout Repository uses: actions/checkout@v2 with: @@ -48,6 +33,21 @@ jobs: - name: Install root dependencies run: yarn --no-progress --non-interactive --frozen-lockfile + - name: Checkout GitHub Actions + uses: actions/checkout@v2 + with: + repository: RapidAPI/rapidapi-github-actions + ref: master + token: ${{ secrets.ACTIONS_ACCESS_KEY }} + path: .github/actions + + - name: Create GitHub Release + uses: ./.github/actions/create-github-release + with: + github_head_ref: ${{ (github.head_ref) }} + github_base_ref: ${{ (github.base_ref) }} + ACTIONS_ACCESS_KEY: ${{ (secrets.ACTIONS_ACCESS_KEY) }} + - name: Publish Package run: yarn publish env: From 5a10ed4894d3e55bfe4fa8e0837b49a10ea0dbd2 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:43:58 +0000 Subject: [PATCH 160/181] chore(release): v2.0.6 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05bfc1380..a44726824 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.6](https://github.com/RapidAPI/httpsnippet/compare/v2.0.5...v2.0.6) (2022-03-17) + + + ## [2.0.5](https://github.com/RapidAPI/httpsnippet/compare/v2.0.4...v2.0.5) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.1](https://github.com/RapidAPI/httpsnippet/compare/v2.0.0...v2.0.1) (2022-03-17) - - - diff --git a/package.json b/package.json index 202568dc7..afff811a8 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.5", + "version": "2.0.6", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 9c25d7465ce18336b760e78933a3c04298ec900f Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:44:26 +0000 Subject: [PATCH 161/181] chore(release): v2.0.7 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a44726824..27aedce5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.7](https://github.com/RapidAPI/httpsnippet/compare/v2.0.6...v2.0.7) (2022-03-17) + + + ## [2.0.6](https://github.com/RapidAPI/httpsnippet/compare/v2.0.5...v2.0.6) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.2](https://github.com/RapidAPI/httpsnippet/compare/v2.0.1...v2.0.2) (2022-03-17) - - - diff --git a/package.json b/package.json index afff811a8..3526f16ab 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.6", + "version": "2.0.7", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 7a4a684dec315ce851ecbed32093c42a6f1dfb8c Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:44:57 +0000 Subject: [PATCH 162/181] chore(release): v2.0.8 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27aedce5f..fad71c2c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.8](https://github.com/RapidAPI/httpsnippet/compare/v2.0.7...v2.0.8) (2022-03-17) + + + ## [2.0.7](https://github.com/RapidAPI/httpsnippet/compare/v2.0.6...v2.0.7) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.3](https://github.com/RapidAPI/httpsnippet/compare/v2.0.2...v2.0.3) (2022-03-17) - - - diff --git a/package.json b/package.json index 3526f16ab..83aa0837f 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.7", + "version": "2.0.8", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From a50bab1a1702758daefd6f52fa04eeecc1f76714 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:45:24 +0000 Subject: [PATCH 163/181] chore(release): v2.0.9 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fad71c2c1..9ff89ff0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.9](https://github.com/RapidAPI/httpsnippet/compare/v2.0.8...v2.0.9) (2022-03-17) + + + ## [2.0.8](https://github.com/RapidAPI/httpsnippet/compare/v2.0.7...v2.0.8) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.4](https://github.com/RapidAPI/httpsnippet/compare/v2.0.3...v2.0.4) (2022-03-17) - - - diff --git a/package.json b/package.json index 83aa0837f..a41bff0ac 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.8", + "version": "2.0.9", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From f3c1d8231b975bb2d16633dc34d418e8b1bb37e8 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:45:52 +0000 Subject: [PATCH 164/181] chore(release): v2.0.10 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ff89ff0d..85896122b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.10](https://github.com/RapidAPI/httpsnippet/compare/v2.0.9...v2.0.10) (2022-03-17) + + + ## [2.0.9](https://github.com/RapidAPI/httpsnippet/compare/v2.0.8...v2.0.9) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.5](https://github.com/RapidAPI/httpsnippet/compare/v2.0.4...v2.0.5) (2022-03-17) - - - diff --git a/package.json b/package.json index a41bff0ac..b81cf6e65 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.9", + "version": "2.0.10", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 88a6d46dae91f8f72d6d3ef413f8d875aaae1718 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 11:53:09 +0200 Subject: [PATCH 165/181] ignore package.json for workflow trigger --- .github/workflows/npmpublish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index e0094e789..5d251e0d4 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -4,6 +4,9 @@ on: push: branches: - sahar/cicd + paths-ignore: + - "package.json" + - "**.md" workflow_dispatch: inputs: From b6c0b654dc5e6411f5498e4b3b25c3c248d83e27 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 09:53:44 +0000 Subject: [PATCH 166/181] chore(release): v2.0.11 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85896122b..b3b5d1e82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.11](https://github.com/RapidAPI/httpsnippet/compare/v2.0.10...v2.0.11) (2022-03-17) + + + ## [2.0.10](https://github.com/RapidAPI/httpsnippet/compare/v2.0.9...v2.0.10) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.6](https://github.com/RapidAPI/httpsnippet/compare/v2.0.5...v2.0.6) (2022-03-17) - - - diff --git a/package.json b/package.json index b81cf6e65..80583fca9 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.10", + "version": "2.0.11", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 4235ef96d424340a69264161cb7698964d5b29a0 Mon Sep 17 00:00:00 2001 From: Sahar Bechor Date: Thu, 17 Mar 2022 11:56:17 +0200 Subject: [PATCH 167/181] trigger on push to master --- .github/workflows/npmpublish.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 5d251e0d4..eff0d166a 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -1,22 +1,13 @@ -name: Publish HttpSnippet Packages +name: Publish HttpSnippet Package on: push: branches: - - sahar/cicd + - master paths-ignore: - "package.json" - "**.md" - workflow_dispatch: - inputs: - logLevel: - description: "Log level" - required: true - default: "warning" - tags: - description: "Test scenario tag" - jobs: publish-package: runs-on: ubuntu-latest @@ -51,7 +42,7 @@ jobs: github_base_ref: ${{ (github.base_ref) }} ACTIONS_ACCESS_KEY: ${{ (secrets.ACTIONS_ACCESS_KEY) }} - - name: Publish Package + - name: Publish HttpSnippet Package run: yarn publish env: NODE_AUTH_TOKEN: ${{secrets.ACTIONS_ACCESS_KEY}} From e00e717c4a450143dc3c1ef1987d81c9b70fa96a Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 17 Mar 2022 10:03:22 +0000 Subject: [PATCH 168/181] chore(release): v2.0.12 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3b5d1e82..e8867ec8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.12](https://github.com/RapidAPI/httpsnippet/compare/v2.0.11...v2.0.12) (2022-03-17) + + + ## [2.0.11](https://github.com/RapidAPI/httpsnippet/compare/v2.0.10...v2.0.11) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.7](https://github.com/RapidAPI/httpsnippet/compare/v2.0.6...v2.0.7) (2022-03-17) - - - diff --git a/package.json b/package.json index 80583fca9..7a82deb43 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.11", + "version": "2.0.12", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From f4d1d079488cee26f7889c9a0f9f1240d24212e4 Mon Sep 17 00:00:00 2001 From: saharbechor <99657814+saharbechor@users.noreply.github.com> Date: Sun, 20 Mar 2022 12:53:59 +0200 Subject: [PATCH 169/181] axios javascript fix: data: '[form]' (#3) --- src/targets/javascript/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/javascript/axios.js b/src/targets/javascript/axios.js index 838eb0d46..06d529317 100644 --- a/src/targets/javascript/axios.js +++ b/src/targets/javascript/axios.js @@ -69,7 +69,7 @@ module.exports = function (source, options) { } } - code.push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }).replace('"[form]"', 'form')) + code.push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }).replace("'[form]'", 'form')) .blank() code.push(util.format('axios.request(options).then(%s', 'function (response) {')) From 6e4a67ed6cfff1b378be8d5744b4a8a4160751bf Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Sun, 20 Mar 2022 10:54:29 +0000 Subject: [PATCH 170/181] chore(release): v2.0.13 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8867ec8a..93bf8076b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.13](https://github.com/RapidAPI/httpsnippet/compare/v2.0.12...v2.0.13) (2022-03-20) + + + ## [2.0.12](https://github.com/RapidAPI/httpsnippet/compare/v2.0.11...v2.0.12) (2022-03-17) @@ -14,7 +18,3 @@ -## [2.0.8](https://github.com/RapidAPI/httpsnippet/compare/v2.0.7...v2.0.8) (2022-03-17) - - - diff --git a/package.json b/package.json index 7a82deb43..d1b2b3b71 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.12", + "version": "2.0.13", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From fbaed97c58c7532abf62b84c55f9b3c6d6e92381 Mon Sep 17 00:00:00 2001 From: Sahar Bechor <99657814+saharbechor@users.noreply.github.com> Date: Mon, 28 Mar 2022 12:26:34 +0300 Subject: [PATCH 171/181] Update/Fix form-data/x-www-form-urlencoded snippets (#4) * node-axios update application/form-data and x-www-form-urlencoded * node axios minor touches, node fetch placeholder path to file * javascript axios multipart/form-data remove content-type header and handle file param as a file instead of base64 * case-insensitive removeProperty helper(currently used to remove "content-type" header) * typo * node-fetch - remove 'content-type' header and add spread formData headers on multipart/form-data * update js-axios content-type header comment * reusable params helper - construct params code, checkIfRequestContainsFile general helper, use URLSearchParams for x-www-form-urlencoded, consistent code for node/js axios and fetch * "encodedParams" also in js axios * codeBuilder clone, constructAppendedParamsCode same "append" method + options argument * new helpers unit tests, mocharc file(to take only spec files) * insensitive case property remove test * use lodash isObject, check constructAppendedParamsCode test code result string * constructAppendedParamsCode options argument tests --- .mocharc.json | 10 +++ package.json | 3 +- src/helpers/code-builder.js | 71 +++++++++++--------- src/helpers/general.js | 30 +++++++++ src/helpers/helpers.spec.js | 114 ++++++++++++++++++++++++++++++++ src/helpers/params.js | 52 +++++++++++++++ src/targets/javascript/axios.js | 51 ++++++++------ src/targets/javascript/fetch.js | 62 ++++++++--------- src/targets/node/axios.js | 51 +++++++++++--- src/targets/node/fetch.js | 74 ++++++++++----------- 10 files changed, 378 insertions(+), 140 deletions(-) create mode 100644 .mocharc.json create mode 100644 src/helpers/general.js create mode 100644 src/helpers/helpers.spec.js create mode 100644 src/helpers/params.js diff --git a/.mocharc.json b/.mocharc.json new file mode 100644 index 000000000..e5ca4a010 --- /dev/null +++ b/.mocharc.json @@ -0,0 +1,10 @@ +{ + "diff": true, + "extension": ["js", "cjs", "mjs"], + "package": "./package.json", + "reporter": "spec", + "slow": "75", + "timeout": "2000", + "ui": "bdd", + "spec": "**/*.spec.js" +} diff --git a/package.json b/package.json index d1b2b3b71..a74796f69 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,6 @@ }, "scripts": { "quick": "mocha --no-timeouts --fgrep 'Request Validation' --invert", - "pretest": "standard && echint", "test": "mocha --no-timeouts", "posttest": "exit 0 && npm run coverage", "coverage": "istanbul cover --dir coverage _mocha -- --fgrep 'Request Validation' --invert -R dot", @@ -95,4 +94,4 @@ "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } -} \ No newline at end of file +} diff --git a/src/helpers/code-builder.js b/src/helpers/code-builder.js index c1a75e86d..59f6146c2 100644 --- a/src/helpers/code-builder.js +++ b/src/helpers/code-builder.js @@ -1,6 +1,7 @@ -'use strict' +"use strict"; -const util = require('util') +const { cloneDeep } = require("lodash"); +const util = require("util"); /** * Helper object to format and aggragate lines of code. @@ -12,10 +13,10 @@ const util = require('util') * @param {string} join Desired character to join each line of code */ const CodeBuilder = function (indentation, join) { - this.code = [] - this.indentation = indentation - this.lineJoin = join || '\n' -} + this.code = []; + this.indentation = indentation; + this.lineJoin = join || "\n"; +}; /** * Add given indentation level to given string and format the string (variadic) @@ -37,26 +38,26 @@ const CodeBuilder = function (indentation, join) { * // returns: 'console.log("\t\thello world")' */ CodeBuilder.prototype.buildLine = function (indentationLevel, line) { - let lineIndentation = '' - let slice = 2 - if (Object.prototype.toString.call(indentationLevel) === '[object String]') { - slice = 1 - line = indentationLevel - indentationLevel = 0 + let lineIndentation = ""; + let slice = 2; + if (Object.prototype.toString.call(indentationLevel) === "[object String]") { + slice = 1; + line = indentationLevel; + indentationLevel = 0; } else if (indentationLevel === null) { - return null + return null; } while (indentationLevel) { - lineIndentation += this.indentation - indentationLevel-- + lineIndentation += this.indentation; + indentationLevel--; } - const format = Array.prototype.slice.call(arguments, slice, arguments.length) - format.unshift(lineIndentation + line) + const format = Array.prototype.slice.call(arguments, slice, arguments.length); + format.unshift(lineIndentation + line); - return util.format.apply(this, format) -} + return util.format.apply(this, format); +}; /** * Invoke buildLine() and add the line at the top of current lines @@ -65,10 +66,10 @@ CodeBuilder.prototype.buildLine = function (indentationLevel, line) { * @return {this} */ CodeBuilder.prototype.unshift = function () { - this.code.unshift(this.buildLine.apply(this, arguments)) + this.code.unshift(this.buildLine.apply(this, arguments)); - return this -} + return this; +}; /** * Invoke buildLine() and add the line at the bottom of current lines @@ -77,27 +78,35 @@ CodeBuilder.prototype.unshift = function () { * @return {this} */ CodeBuilder.prototype.push = function () { - this.code.push(this.buildLine.apply(this, arguments)) + this.code.push(this.buildLine.apply(this, arguments)); - return this -} + return this; +}; /** * Add an empty line at the end of current lines * @return {this} */ CodeBuilder.prototype.blank = function () { - this.code.push(null) + this.code.push(null); - return this -} + return this; +}; /** * Concatenate all current lines using the given lineJoin * @return {string} */ CodeBuilder.prototype.join = function () { - return this.code.join(this.lineJoin) -} + return this.code.join(this.lineJoin); +}; -module.exports = CodeBuilder +CodeBuilder.prototype.clone = function () { + return cloneDeep(this); +}; + +CodeBuilder.prototype.getLength = function () { + return this.code.length; +}; + +module.exports = CodeBuilder; diff --git a/src/helpers/general.js b/src/helpers/general.js new file mode 100644 index 000000000..804ea2d13 --- /dev/null +++ b/src/helpers/general.js @@ -0,0 +1,30 @@ +const { omit, isObject } = require("lodash"); + +module.exports = { + /** + * + * @param {Object} originalObject - The object from which the property needs to be removed + * @param {string} propertyName - The name of the property to remove(case insensitive) + * @returns the object without the property that was asked to remove + */ + removeProperty: (originalObject, propertyName) => { + if (!isObject(originalObject)) { + throw new Error("originalObject must be an object."); + } + const key = Object.keys(originalObject).find( + (key) => key.toLowerCase() === propertyName.toLowerCase() + ); + if (key) { + return omit(originalObject, key); + } else { + return originalObject; + } + }, + + checkIfRequestContainsFile: (request) => { + return ( + request.postData.mimeType === "multipart/form-data" && + request.postData.params.some((param) => param.fileName) + ); + }, +}; diff --git a/src/helpers/helpers.spec.js b/src/helpers/helpers.spec.js new file mode 100644 index 000000000..f92751f87 --- /dev/null +++ b/src/helpers/helpers.spec.js @@ -0,0 +1,114 @@ +const { omit } = require("lodash"); +const should = require("should"); +const CodeBuilder = require("./code-builder"); + +const { removeProperty } = require("./general"); +const { constructAppendedParamsCode } = require("./params"); + +describe("Test helpers methods", () => { + describe("Test RemoveProperty helper", () => { + it("RemoveProperty called with invalid params", () => { + (function () { + removeProperty("str", "property"); + }.should.throw(new Error("originalObject must be an object."))); + }); + + it("returned object stayed the same if a non existing property name sent", () => { + const obj = { a: 1, b: 2 }; + const result = removeProperty(obj, "c"); + + result.should.equal(obj); + }); + + it("insensitive case property removed from object successfully", () => { + const obj = { a: 1, b: 2 }; + const result = removeProperty(obj, "B"); + + result.should.deepEqual(omit(obj, "b")); + }); + }); + + describe("Test constructAppendedParamsCode helper", () => { + const fakeParams = [ + { name: "a", value: "1" }, + { name: "b", value: "2" }, + ]; + + it("called with invalid code argument", () => { + (function () { + constructAppendedParamsCode({}, []); + }.should.throw( + new Error("code argument must be an instance of CodeBuilder") + )); + }); + + it("called with invalid params argument", () => { + (function () { + constructAppendedParamsCode(new CodeBuilder(), {}); + }.should.throw(new Error("params argument must be an array"))); + }); + + describe("called with multiple options variations", () => { + const fakeParamsWithFile = [ + ...fakeParams, + { name: "a", fileName: "fakeFileName" }, + ]; + const lastIndex = params.length - 1; + + it("called with file param and false isBrowser option", () => { + const result = constructAppendedParamsCode( + new CodeBuilder(), + fakeParamsWithFile, + { + isBrowser: false, + } + ); + + result.should.be.an.instanceof(CodeBuilder); + result + .join() + .should.containEql( + `fs.createReadStream("/PATH/TO/${fakeParamsWithFile[lastIndex].fileName}")` + ); + }); + + it("called with file param and true isBrowser option", () => { + const result = constructAppendedParamsCode( + new CodeBuilder(), + fakeParamsWithFile, + { + isBrowser: true, + } + ); + + result.should.be.an.instanceof(CodeBuilder); + result + .join() + .should.containEql( + `yourAppInput.files[0], ${JSON.stringify( + params[lastIndex].fileName + )}` + ); + }); + + it("called with dataVarName option", () => { + const result = constructAppendedParamsCode(new CodeBuilder(), params, { + dataVarName: "dataObject", + }); + + result.should.be.an.instanceof(CodeBuilder); + result.join().should.containEql("dataObject.append"); + }); + }); + + it("returned new code object with two params", () => { + const result = constructAppendedParamsCode(new CodeBuilder(), fakeParams); + + result.should.be.an.instanceof(CodeBuilder); + result.getLength().should.equal(2); + result + .join() + .should.equal('data.append("a", "1");\ndata.append("b", "2");'); + }); + }); +}); diff --git a/src/helpers/params.js b/src/helpers/params.js new file mode 100644 index 000000000..86bfa8a61 --- /dev/null +++ b/src/helpers/params.js @@ -0,0 +1,52 @@ +const { isArray } = require("lodash"); + +const CodeBuilder = require("./code-builder"); + +const defaultConstructParamsCodeOptions = { + isBrowser: false, + dataVarName: "data", +}; + +module.exports = { + /** + * + * @param {CodeBuilder} code - Original codeBuilder instance + * @param {[Object]} params - List of params objects + * * @param {Objects} options + * @param {boolean} options.isBrowser - Boolean indicating if browser or other environment(e.g. node) + * @param {string} options.dataVarName - The data object name + * @returns New code instance with params appended to the supplied data object + */ + constructAppendedParamsCode: ( + code, + params = [], + options = defaultConstructParamsCodeOptions + ) => { + if (!(code instanceof CodeBuilder)) { + throw new Error("code argument must be an instance of CodeBuilder"); + } else if (!isArray(params)) { + throw new Error("params argument must be an array"); + } + + const { isBrowser = false, dataVarName = "data" } = options; + const newCode = code.clone(); + + params.forEach(function (param) { + let value = + param.value !== undefined ? JSON.stringify(param.value.toString()) : ""; + if (param.fileName) { + value = isBrowser + ? `yourAppInput.files[0], ${JSON.stringify(param.fileName)}` + : `fs.createReadStream("/PATH/TO/${param.fileName}")`; + } + newCode.push( + "%s.append(%s, %s);", + dataVarName, + JSON.stringify(param.name), + value + ); + }); + + return newCode; + }, +}; diff --git a/src/targets/javascript/axios.js b/src/targets/javascript/axios.js index 06d529317..7aae17364 100644 --- a/src/targets/javascript/axios.js +++ b/src/targets/javascript/axios.js @@ -12,16 +12,18 @@ const util = require('util') const stringifyObject = require('stringify-object') const CodeBuilder = require('../../helpers/code-builder') +const { removeProperty } = require('../../helpers/general') +const { constructAppendedParamsCode } = require('../../helpers/params') module.exports = function (source, options) { const opts = Object.assign({ indent: ' ' }, options) - const code = new CodeBuilder(opts.indent) + let code = new CodeBuilder(opts.indent) + code.push('import axios from "axios";') - .blank() const reqOpts = { method: source.method, @@ -37,41 +39,48 @@ module.exports = function (source, options) { } switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - reqOpts.data = source.postData.paramsObj - break - - case 'application/json': + case 'application/json': { if (source.postData.jsonObj) { - reqOpts.data = source.postData.jsonObj + reqOpts.data = JSON.stringify(source.postData.jsonObj) } break + } - case 'multipart/form-data': - code.push('const form = new FormData();') + case 'application/x-www-form-urlencoded': { + code.blank() + .push('const encodedParams = new URLSearchParams();') + + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: true, dataVarName: 'encodedParams' }) - source.postData.params.forEach(function (param) { - code.push( - 'form.append(%s, %s);', - JSON.stringify(param.name), - JSON.stringify(param.value || param.fileName || '') - ) - }) + reqOpts.data = 'encodedParams' + break + } + + case 'multipart/form-data': { + // when a web api's form-data is sent in a request, application/form-data media type is automatically inserted + // into the headers with the right boundary + reqOpts.headers = removeProperty(reqOpts.headers, 'content-type') code.blank() + .push('const data = new FormData();') - reqOpts.data = '[form]' + code = constructAppendedParamsCode(code, source.postData.params, code, { isBrowser: true, dataVarName: 'data' }) + + reqOpts.data = 'data' break + } - default: + default: { if (source.postData.text) { reqOpts.data = source.postData.text } + } } - code.push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }).replace("'[form]'", 'form')) + code.blank() + .push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }) + .replace(/'encodedParams'/, 'encodedParams').replace(/'data'/, 'data')) .blank() - code.push(util.format('axios.request(options).then(%s', 'function (response) {')) .push(1, 'console.log(response.data);') .push('}).catch(%s', 'function (error) {') diff --git a/src/targets/javascript/fetch.js b/src/targets/javascript/fetch.js index f76e396cb..7ffc341fc 100644 --- a/src/targets/javascript/fetch.js +++ b/src/targets/javascript/fetch.js @@ -10,7 +10,10 @@ 'use strict' +const stringifyObject = require('stringify-object') const CodeBuilder = require('../../helpers/code-builder') +const { removeProperty } = require('../../helpers/general') +const { constructAppendedParamsCode } = require('../../helpers/params') module.exports = function (source, options) { const opts = Object.assign( @@ -21,8 +24,7 @@ module.exports = function (source, options) { options ) - const stringifyObject = require('stringify-object') - const code = new CodeBuilder(opts.indent) + let code = new CodeBuilder(opts.indent) options = { method: source.method @@ -37,54 +39,44 @@ module.exports = function (source, options) { } switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - options.body = source.postData.paramsObj - ? source.postData.paramsObj - : source.postData.text - break - - case 'application/json': + case 'application/json': { options.body = JSON.stringify(source.postData.jsonObj) break + } - case 'multipart/form-data': - code.push('const form = new FormData();') + case 'application/x-www-form-urlencoded': { + code.push('const encodedParams = new URLSearchParams();') + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: true, dataVarName: 'encodedParams' }) + code.blank(); - source.postData.params.forEach(function (param) { - code.push( - 'form.append(%s, %s);', - JSON.stringify(param.name), - JSON.stringify(param.value || param.fileName || '') - ) - }) + options.body = 'encodedParams' + break + } + + case 'multipart/form-data': { + // when a web api's form-data is sent in a request, application/form-data media type is automatically inserted + // into the headers with the right boundary + options.headers = removeProperty(options.headers, 'content-type') + code.push('const data = new FormData();') + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: true, dataVarName: 'data' }) code.blank() + + options.body = 'data'; break + } - default: + default: { if (source.postData.text) { options.body = source.postData.text } + } } - code.push('const options = %s;', stringifyObject(options, { - indent: opts.indent, - inlineCharacterLimit: 80, - transform: (object, property, originalResult) => { - if (property === 'body' && source.postData.mimeType === 'application/x-www-form-urlencoded') { - return `new URLSearchParams(${originalResult})` - } - - return originalResult - } - })) + code.push('const options = %s;', stringifyObject(options, { indent: opts.indent, inlineCharacterLimit: 80 }) + .replace(/'encodedParams'/, 'encodedParams').replace(/'data'/, 'data')) .blank() - if (source.postData.mimeType === 'multipart/form-data') { - code.push('options.body = form;') - .blank() - } - code.push("fetch('%s', options)", source.fullUrl) .push(1, '.then(response => response.json())') .push(1, '.then(response => console.log(response))') diff --git a/src/targets/node/axios.js b/src/targets/node/axios.js index 92387de8b..6045f87ff 100644 --- a/src/targets/node/axios.js +++ b/src/targets/node/axios.js @@ -12,16 +12,21 @@ const util = require('util') const stringifyObject = require('stringify-object') const CodeBuilder = require('../../helpers/code-builder') +const { removeProperty, checkIfRequestContainsFile } = require('../../helpers/general') +const { constructAppendedParamsCode } = require('../../helpers/params') module.exports = function (source, options) { const opts = Object.assign({ indent: ' ' }, options) + + let code = new CodeBuilder(opts.indent) - const code = new CodeBuilder(opts.indent) + if (checkIfRequestContainsFile(source)) { + code.push('const fs = require("fs");') + } - code.push('var axios = require("axios").default;') - .blank() + code.push('const axios = require("axios");') const reqOpts = { method: source.method, @@ -37,23 +42,47 @@ module.exports = function (source, options) { } switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - reqOpts.data = source.postData.paramsObj - break - - case 'application/json': + case 'application/json': { if (source.postData.jsonObj) { - reqOpts.data = source.postData.jsonObj + reqOpts.data = JSON.stringify(source.postData.jsonObj) } break + } + + case 'application/x-www-form-urlencoded': { + code.blank() + .push('const encodedParams = new URLSearchParams();') + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: false, dataVarName: 'encodedParams' }) + + reqOpts.data = 'encodedParams' + break + } + + case 'multipart/form-data': { + // content-type header will come from the data.getHeaders() with the right boundary + reqOpts.headers = removeProperty(reqOpts.headers, 'content-type') + reqOpts.headers.placeholderGetHeaders = 'placeholderGetHeaders' + + code.unshift('const FormData = require("form-data");') + .blank() + .push('const data = new FormData();') + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: false, dataVarName: 'data' }) + + reqOpts.data = 'data' + break + } - default: + default: { if (source.postData.text) { reqOpts.data = source.postData.text } + } } - code.push('var options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + code.blank() + .push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }) + .replace(/'encodedParams'/, 'encodedParams').replace(/'data'/, 'data') + .replace("placeholderGetHeaders: 'placeholderGetHeaders'", '...data.getHeaders()')) .blank() code.push(util.format('axios.request(options).then(%s', 'function (response) {')) diff --git a/src/targets/node/fetch.js b/src/targets/node/fetch.js index 971d81774..d5fec1e79 100644 --- a/src/targets/node/fetch.js +++ b/src/targets/node/fetch.js @@ -12,14 +12,19 @@ const stringifyObject = require('stringify-object') const CodeBuilder = require('../../helpers/code-builder') +const { removeProperty, checkIfRequestContainsFile } = require('../../helpers/general') +const { constructAppendedParamsCode } = require('../../helpers/params') module.exports = function (source, options) { const opts = Object.assign({ indent: ' ' }, options) - let includeFS = false - const code = new CodeBuilder(opts.indent) + let code = new CodeBuilder(opts.indent) + + if (checkIfRequestContainsFile(source)) { + code.push('const fs = require("fs");') + } code.push('const fetch = require(\'node-fetch\');') const url = source.fullUrl @@ -32,46 +37,43 @@ module.exports = function (source, options) { } switch (source.postData.mimeType) { - case 'application/x-www-form-urlencoded': - code.unshift('const { URLSearchParams } = require(\'url\');') - code.push('const encodedParams = new URLSearchParams();') + case 'application/json': { + if (source.postData.jsonObj) { + reqOpts.body = JSON.stringify(source.postData.jsonObj) + } + break + } + + case 'application/x-www-form-urlencoded': { code.blank() + .push('const encodedParams = new URLSearchParams();') - source.postData.params.forEach(function (param) { - code.push('encodedParams.set(\'' + param.name + '\', \'' + param.value + '\');') - }) + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: false, dataVarName: 'encodedParams' }) reqOpts.body = 'encodedParams' break + } - case 'application/json': - if (source.postData.jsonObj) { - reqOpts.body = JSON.stringify(source.postData.jsonObj) - } - break + case 'multipart/form-data': { + // content-type header will come from the data.getHeaders() with the right boundary + reqOpts.headers = removeProperty(reqOpts.headers, 'content-type') + reqOpts.headers.placeholderGetHeaders = 'placeholderGetHeaders' - case 'multipart/form-data': code.unshift('const FormData = require(\'form-data\');') - code.push('const formData = new FormData();') code.blank() + .push('const data = new FormData();') - source.postData.params.forEach(function (param) { - if (!param.fileName && !param.fileName && !param.contentType) { - code.push('formData.append(\'' + param.name + '\', \'' + param.value + '\');') - return - } - - if (param.fileName) { - includeFS = true - code.push('formData.append(\'' + param.name + '\', fs.createReadStream(\'' + param.fileName + '\'));') - } - }) + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: false, dataVarName: 'data' }) + + reqOpts.body = 'data' break + } - default: + default: { if (source.postData.text) { reqOpts.body = source.postData.text } + } } // construct cookies argument @@ -88,26 +90,18 @@ module.exports = function (source, options) { } } code.blank() - code.push('let url = \'' + url + '\';') + code.push('const url = \'' + url + '\';') .blank() - code.push('let options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })) + .push('const options = %s;', stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 }) + .replace(/'encodedParams'/, 'encodedParams').replace(/'data'/, 'data') + .replace("placeholderGetHeaders: 'placeholderGetHeaders'", '...data.getHeaders()')) .blank() - - if (includeFS) { - code.unshift('const fs = require(\'fs\');') - } - if (source.postData.mimeType === 'multipart/form-data') { - code.push('options.body = formData;') - .blank() - } - code.push('fetch(url, options)') + .push('fetch(url, options)') .push(1, '.then(res => res.json())') .push(1, '.then(json => console.log(json))') .push(1, '.catch(err => console.error(\'error:\' + err));') return code.join() - .replace(/'encodedParams'/, 'encodedParams') - .replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")') } module.exports.info = { From 8d5edd73e9c8686a1ab70ea36e97bf9e2e7f41f1 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Mon, 28 Mar 2022 09:27:03 +0000 Subject: [PATCH 172/181] chore(release): v2.0.14 --- CHANGELOG.md | 8 ++++---- package.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93bf8076b..1701b3af6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.14](https://github.com/RapidAPI/httpsnippet/compare/v2.0.13...v2.0.14) (2022-03-28) + + + ## [2.0.13](https://github.com/RapidAPI/httpsnippet/compare/v2.0.12...v2.0.13) (2022-03-20) @@ -14,7 +18,3 @@ -## [2.0.9](https://github.com/RapidAPI/httpsnippet/compare/v2.0.8...v2.0.9) (2022-03-17) - - - diff --git a/package.json b/package.json index a74796f69..461443e70 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.13", + "version": "2.0.14", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", @@ -94,4 +94,4 @@ "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } -} +} \ No newline at end of file From a63f726bae5c512285a933b78d46d417349b9cdd Mon Sep 17 00:00:00 2001 From: Sahar Bechor <99657814+saharbechor@users.noreply.github.com> Date: Mon, 28 Mar 2022 14:16:46 +0300 Subject: [PATCH 173/181] send to helper redundant extra argument fix (#5) --- src/targets/javascript/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/javascript/axios.js b/src/targets/javascript/axios.js index 7aae17364..6a88fc104 100644 --- a/src/targets/javascript/axios.js +++ b/src/targets/javascript/axios.js @@ -64,7 +64,7 @@ module.exports = function (source, options) { code.blank() .push('const data = new FormData();') - code = constructAppendedParamsCode(code, source.postData.params, code, { isBrowser: true, dataVarName: 'data' }) + code = constructAppendedParamsCode(code, source.postData.params, { isBrowser: true, dataVarName: 'data' }) reqOpts.data = 'data' break From 6bd49cf95abe25a8775127924d7f4210f0b8ac9c Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Mon, 28 Mar 2022 11:17:12 +0000 Subject: [PATCH 174/181] chore(release): v2.0.15 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1701b3af6..365f92a9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.15](https://github.com/RapidAPI/httpsnippet/compare/v2.0.14...v2.0.15) (2022-03-28) + + + ## [2.0.14](https://github.com/RapidAPI/httpsnippet/compare/v2.0.13...v2.0.14) (2022-03-28) @@ -14,7 +18,3 @@ -## [2.0.10](https://github.com/RapidAPI/httpsnippet/compare/v2.0.9...v2.0.10) (2022-03-17) - - - diff --git a/package.json b/package.json index 461443e70..7b3f5992f 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.14", + "version": "2.0.15", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 2211549ae5009e1629f3bb3efe8292194263f730 Mon Sep 17 00:00:00 2001 From: Sahar Bechor <99657814+saharbechor@users.noreply.github.com> Date: Wed, 30 Mar 2022 12:12:57 +0300 Subject: [PATCH 175/181] Sahar/java okhttp snippet (#6) * update okhttp to work on version >3 * indentation * code blank at the end only on put/post * code push, indentation as first argument * handle headers with lodash methods * retrieve comment about headers pickBy --- src/targets/java/okhttp.js | 54 +++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/src/targets/java/okhttp.js b/src/targets/java/okhttp.js index 3dc756419..bea940b41 100644 --- a/src/targets/java/okhttp.js +++ b/src/targets/java/okhttp.js @@ -10,6 +10,7 @@ 'use strict' +const _ = require('lodash') const CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { @@ -26,17 +27,43 @@ module.exports = function (source, options) { code.push('OkHttpClient client = new OkHttpClient();') .blank() - if (source.postData.text) { - if (source.postData.boundary) { - code.push('MediaType mediaType = MediaType.parse("%s; boundary=%s");', source.postData.mimeType, source.postData.boundary) - } else { - code.push('MediaType mediaType = MediaType.parse("%s");', source.postData.mimeType) - } - code.push('RequestBody body = RequestBody.create(mediaType, %s);', JSON.stringify(source.postData.text)) + if (source.postData.mimeType === 'multipart/form-data') { + code.push('RequestBody body = new MultipartBody.Builder()') + .push(1, '.setType(MultipartBody.FORM)') + + source.postData.params.forEach((param) => { + if (param.fileName) { + code.push(1, '.addFormDataPart(%s, %s,', JSON.stringify(param.name), JSON.stringify(param.fileName)) + .push(2, 'RequestBody.create(MediaType.parse("text/plain"), fileInput))') + } else { + const value = JSON.stringify(param.value.toString()) || "" + code.push(1, '.addFormDataPart(%s, %s)', JSON.stringify(param.name), value) + } + }) + + code.push(1, '.build();') + } else if (source.postData.mimeType === 'application/x-www-form-urlencoded') { + code.push('RequestBody body = new FormBody.Builder()') + + source.postData.params.forEach((param) => { + const value = JSON.stringify(param.value.toString()) || "" + code.push(1, '.add(%s, %s)', JSON.stringify(param.name), value) + }) + + code.push(1, '.build();') + } else if (source.postData.text) { + code.push('MediaType mediaType = MediaType.parse("%s");', source.postData.mimeType) + .push('String value = %s;', JSON.stringify(source.postData.text)) + .push('RequestBody body = RequestBody.create(mediaType, value);') + } + + if (source.postData.params) { + code.blank() } code.push('Request request = new Request.Builder()') - code.push(1, '.url("%s")', source.fullUrl) + .push(1, '.url("%s")', source.fullUrl) + if (methods.indexOf(source.method.toUpperCase()) === -1) { if (source.postData.text) { code.push(1, '.method("%s", body)', source.method.toUpperCase()) @@ -53,15 +80,10 @@ module.exports = function (source, options) { code.push(1, '.%s()', source.method.toLowerCase()) } - // Add headers, including the cookies - const headers = Object.keys(source.allHeaders) - // construct headers - if (headers.length) { - headers.forEach(function (key) { - code.push(1, '.addHeader("%s", "%s")', key, source.allHeaders[key]) - }) - } + _(source.allHeaders) + .pickBy((value, key) => !(value.toLowerCase().includes('multipart/form-data'))) // Remove content type header if form-data + .forEach((value, key) => { code.push(1, '.addHeader("%s", "%s")', key, value) }) code.push(1, '.build();') .blank() From 902eb4299cf9ea2a139a6edfc86ba67aaa1f0f54 Mon Sep 17 00:00:00 2001 From: Sahar Bechor <99657814+saharbechor@users.noreply.github.com> Date: Wed, 30 Mar 2022 12:26:33 +0300 Subject: [PATCH 176/181] commit test (#7) --- src/targets/java/okhttp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/targets/java/okhttp.js b/src/targets/java/okhttp.js index bea940b41..5d93390a0 100644 --- a/src/targets/java/okhttp.js +++ b/src/targets/java/okhttp.js @@ -80,7 +80,7 @@ module.exports = function (source, options) { code.push(1, '.%s()', source.method.toLowerCase()) } - // construct headers + // construct request headers _(source.allHeaders) .pickBy((value, key) => !(value.toLowerCase().includes('multipart/form-data'))) // Remove content type header if form-data .forEach((value, key) => { code.push(1, '.addHeader("%s", "%s")', key, value) }) From cd9c5bbcc2bb83c01d89e666168e7d81c890a371 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Wed, 30 Mar 2022 09:29:54 +0000 Subject: [PATCH 177/181] chore(release): v2.0.16 --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 365f92a9e..f675a1469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.16](https://github.com/RapidAPI/httpsnippet/compare/v2.0.15...v2.0.16) (2022-03-30) + + + ## [2.0.15](https://github.com/RapidAPI/httpsnippet/compare/v2.0.14...v2.0.15) (2022-03-28) @@ -14,7 +18,3 @@ -## [2.0.11](https://github.com/RapidAPI/httpsnippet/compare/v2.0.10...v2.0.11) (2022-03-17) - - - diff --git a/package.json b/package.json index 7b3f5992f..9139dcbf1 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.15", + "version": "2.0.16", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From cd10bb3ebfd8520ea51eea89eeb83811e5783a12 Mon Sep 17 00:00:00 2001 From: Sahar Bechor <99657814+saharbechor@users.noreply.github.com> Date: Wed, 22 Mar 2023 09:43:20 +0200 Subject: [PATCH 178/181] chore: update action (#8) --- .github/workflows/npmpublish.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index eff0d166a..b9bc79849 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -8,19 +8,24 @@ on: - "package.json" - "**.md" +env: + NODE_VERSION: 16 + jobs: publish-package: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: + token: ${{ secrets.ACTIONS_ACCESS_KEY }} fetch-depth: 0 - - name: Install node 14 - uses: actions/setup-node@v2 + - name: Install Node.JS + uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: ${{ env.NODE_VERSION }} + cache: 'yarn' registry-url: "https://npm.pkg.github.com" scope: "@rapidapi" @@ -28,7 +33,7 @@ jobs: run: yarn --no-progress --non-interactive --frozen-lockfile - name: Checkout GitHub Actions - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: RapidAPI/rapidapi-github-actions ref: master @@ -45,4 +50,4 @@ jobs: - name: Publish HttpSnippet Package run: yarn publish env: - NODE_AUTH_TOKEN: ${{secrets.ACTIONS_ACCESS_KEY}} + NODE_AUTH_TOKEN: ${{ secrets.ACTIONS_ACCESS_KEY }} From bb95ea86bdaa7e7523563730f4a34ae946038b29 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Wed, 22 Mar 2023 07:43:53 +0000 Subject: [PATCH 179/181] chore(release): v2.0.17 [skip ci] --- CHANGELOG.md | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f675a1469..9e4fae74c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.0.17](https://github.com/RapidAPI/httpsnippet/compare/v2.0.16...v2.0.17) (2023-03-22) + + + ## [2.0.16](https://github.com/RapidAPI/httpsnippet/compare/v2.0.15...v2.0.16) (2022-03-30) @@ -14,7 +18,3 @@ -## [2.0.12](https://github.com/RapidAPI/httpsnippet/compare/v2.0.11...v2.0.12) (2022-03-17) - - - diff --git a/package.json b/package.json index 9139dcbf1..d4cd517ba 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.16", + "version": "2.0.17", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)", From 55a5c2a9b5f544acb4472508a5ebf54d15a7d9c7 Mon Sep 17 00:00:00 2001 From: NadavNassi <72296766+NadavNassi@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:05:22 +0200 Subject: [PATCH 180/181] fix: update form data (#10) --- package-lock.json | 4729 +++++++++++++++++++++++++++++---------------- package.json | 4 +- yarn.lock | 2196 +++++++++++---------- 3 files changed, 4145 insertions(+), 2784 deletions(-) diff --git a/package-lock.json b/package-lock.json index c6b1cc041..b95daf5ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,78 +1,122 @@ { - "name": "httpsnippet", - "version": "1.25.0", - "lockfileVersion": 1, + "name": "@rapidapi/httpsnippet", + "version": "2.0.17", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/code-frame": { + "packages": { + "": { + "name": "@rapidapi/httpsnippet", + "version": "2.0.17", + "license": "MIT", + "dependencies": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "debug": "^2.2.0", + "event-stream": "3.3.4", + "form-data": "^3.0.4", + "fs-readfile-promise": "^2.0.1", + "fs-writefile-promise": "^1.0.3", + "har-validator": "^5.0.0", + "lodash": "^4.17.15", + "pinkie-promise": "^2.0.0", + "stringify-object": "^3.3.0" + }, + "bin": { + "httpsnippet": "bin/httpsnippet" + }, + "devDependencies": { + "codeclimate-test-reporter": "^0.5.1", + "echint": "^4.0.2", + "glob": "^6.0.1", + "istanbul": "^0.4.0", + "mocha": "^8.2.1", + "require-directory": "^2.1.1", + "should": "^13.2.3", + "standard": "^16.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "requires": { + "dependencies": { "@babel/highlight": "^7.10.4" } }, - "@babel/helper-validator-identifier": { + "node_modules/@babel/helper-validator-identifier": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, - "@babel/highlight": { + "node_modules/@babel/highlight": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@eslint/eslintrc": { + "node_modules/@eslint/eslintrc": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", @@ -84,541 +128,717 @@ "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "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" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "@types/json5": { + "node_modules/@eslint/eslintrc/node_modules/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 + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "@ungap/promise-all-settled": { + "node_modules/@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 }, - "abbrev": { + "node_modules/abbrev": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, - "acorn": { + "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "ajv": { + "node_modules/ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "requires": { + "dependencies": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, - "amdefine": { + "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": ">=0.4.2" + } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, - "requires": { + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "requires": { + "dependencies": { "sprintf-js": "~1.0.2" } }, - "array-includes": { + "node_modules/array-includes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "get-intrinsic": "^1.0.1", "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.flat": { + "node_modules/array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.flatmap": { + "node_modules/array.prototype.flatmap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "asn1": { + "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": "~2.1.0" } }, - "assert-plus": { + "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8" + } }, - "astral-regex": { + "node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "aws-sign2": { + "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "aws4": { + "node_modules/aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "bcrypt-pbkdf": { + "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "requires": { + "dependencies": { "tweetnacl": "^0.14.3" } }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "browser-stdout": { + "node_modules/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 }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "camelcase": { + "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "chalk": { + "node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { + "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "chokidar": { + "node_modules/chokidar": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, - "requires": { + "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" } }, - "cliui": { + "node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, - "requires": { + "dependencies": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "codeclimate-test-reporter": { + "node_modules/codeclimate-test-reporter": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/codeclimate-test-reporter/-/codeclimate-test-reporter-0.5.1.tgz", "integrity": "sha512-XCzmc8dH+R4orK11BCg5pBbXc35abxq9sept4YvUFRkFl9zb9MIVRrCKENe6U1TKAMTgvGJmrYyHn0y2lerpmg==", + "deprecated": "codeclimate-test-reporter has been deprecated in favor of our new unified test-reporter. Please visit https://docs.codeclimate.com/docs/configuring-test-coverage for details on setting up the new test-reporter.", "dev": true, - "requires": { + "dependencies": { "async": "~1.5.2", "commander": "2.9.0", "lcov-parse": "0.0.10", "request": "~2.88.0" }, + "bin": { + "codeclimate-test-reporter": "bin/codeclimate.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/codeclimate-test-reporter/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/codeclimate-test-reporter/node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" } }, - "color-convert": { + "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "requires": { + "dependencies": { "color-name": "1.1.3" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "commander": { + "node_modules/commander": { "version": "2.20.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "contains-path": { + "node_modules/contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "requires": { + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "dashdash": { + "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "debug": { + "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { + "dependencies": { "ms": "2.0.0" } }, - "debug-log": { + "node_modules/debug-log": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "decamelize": { + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "deep-extend": { + "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.0.0" + } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "define-properties": { + "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "requires": { + "dependencies": { "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } }, - "diff": { + "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.1" + } }, - "doctrine": { + "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { + "dependencies": { "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "dotenv": { + "node_modules/dotenv": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "duplexer": { + "node_modules/duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, - "ecc-jsbn": { + "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "requires": { + "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "echint": { + "node_modules/echint": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/echint/-/echint-4.0.2.tgz", "integrity": "sha512-iUEHrTxUqpZ0V6ayTmjyf9/f3Iz/Pp3EGKhmfFpnZQ4tjTk3ZyO9bO2qGwgr3coSknzXdieYrcCe3JDsiI/Uvw==", + "deprecated": "no longer maintained", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.4.2", "commander": "^2.19.0", "dotenv": "^7.0.0", @@ -627,116 +847,144 @@ "minimatch": "^3.0.4", "pkg-config": "^1.1.1" }, + "bin": { + "echint": "lib/bin.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/echint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", - "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" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/echint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/echint/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/echint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/echint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "editorconfig": { + "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", "dev": true, - "requires": { + "dependencies": { "commander": "^2.19.0", "lru-cache": "^4.1.5", "semver": "^5.6.0", "sigmund": "^1.0.1" }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "enquirer": { + "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "requires": { + "dependencies": { "ansi-colors": "^4.1.1" }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - } + "engines": { + "node": ">=8.6" + } + }, + "node_modules/enquirer/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" } }, - "error-ex": { + "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "requires": { + "dependencies": { "is-arrayish": "^0.2.1" } }, - "es-abstract": { + "node_modules/es-abstract": { "version": "1.18.0-next.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -752,88 +1000,165 @@ "string.prototype.trimend": "^1.0.3", "string.prototype.trimstart": "^1.0.3" }, - "dependencies": { - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "requires": { + "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } }, - "escodegen": { + "node_modules/escodegen": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, - "requires": { + "dependencies": { "esprima": "^2.7.1", "estraverse": "^1.9.1", "esutils": "^2.0.2", - "optionator": "^0.8.1", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { "source-map": "~0.2.0" } }, - "eslint": { + "node_modules/eslint": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "@eslint/eslintrc": "^0.2.1", "ajv": "^6.10.0", @@ -872,193 +1197,127 @@ "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - } + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-config-standard": { + "node_modules/eslint-config-standard": { "version": "16.0.2", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^7.12.1", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1" + } }, - "eslint-config-standard-jsx": { + "node_modules/eslint-config-standard-jsx": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^7.12.1", + "eslint-plugin-react": "^7.21.5" + } }, - "eslint-import-resolver-node": { + "node_modules/eslint-import-resolver-node": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, - "requires": { + "dependencies": { "debug": "^2.6.9", "resolve": "^1.13.1" - }, + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, "dependencies": { - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - } + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "eslint-module-utils": { + "node_modules/eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, - "requires": { + "dependencies": { "debug": "^2.6.9", "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "eslint-plugin-es": { + "node_modules/eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", "dev": true, - "requires": { + "dependencies": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" } }, - "eslint-plugin-import": { + "node_modules/eslint-plugin-import": { "version": "2.22.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, - "requires": { + "dependencies": { "array-includes": "^3.1.1", "array.prototype.flat": "^1.2.3", "contains-path": "^0.1.0", @@ -1073,35 +1332,45 @@ "resolve": "^1.17.0", "tsconfig-paths": "^3.9.0" }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - } + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "eslint-plugin-node": { + "node_modules/eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, - "requires": { + "dependencies": { "eslint-plugin-es": "^3.0.0", "eslint-utils": "^2.0.0", "ignore": "^5.1.1", @@ -1109,43 +1378,59 @@ "resolve": "^1.10.1", "semver": "^6.1.0" }, + "engines": { + "node": ">=8.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-plugin-node/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint-plugin-node/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "eslint-plugin-promise": { + "node_modules/eslint-plugin-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-promise": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "eslint-plugin-react": { + "node_modules/eslint-plugin-react": { "version": "7.21.5", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", "dev": true, - "requires": { + "dependencies": { "array-includes": "^3.1.1", "array.prototype.flatmap": "^1.2.3", "doctrine": "^2.1.0", @@ -1158,145 +1443,371 @@ "resolve": "^1.18.1", "string.prototype.matchall": "^4.0.2" }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - } + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "eslint-scope": { + "node_modules/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": { + "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "eslint-utils": { + "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, - "requires": { + "dependencies": { "eslint-visitor-keys": "^1.1.0" }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "eslint-visitor-keys": { + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "espree": { + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "requires": { + "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" } }, - "esprima": { + "node_modules/esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } }, - "esquery": { + "node_modules/esquery": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^5.1.0" }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^5.2.0" }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "event-stream": { + "node_modules/event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "requires": { + "dependencies": { "duplexer": "~0.1.1", "from": "~0", "map-stream": "~0.1.0", @@ -1306,561 +1817,789 @@ "through": "~2.3.1" } }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extsprintf": { + "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "dev": true, + "engines": [ + "node >=0.6.0" + ] }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "file-entry-cache": { + "node_modules/file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, - "requires": { + "dependencies": { "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-root": { + "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", "dev": true }, - "find-up": { + "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "requires": { + "dependencies": { "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "flat": { + "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true + "dev": true, + "bin": { + "flat": "cli.js" + } }, - "flat-cache": { + "node_modules/flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, - "requires": { + "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" + }, + "engines": { + "node": ">=4" } }, - "flatted": { + "node_modules/flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "forever-agent": { + "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "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": { + "node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "license": "MIT", + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - } + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "from": { + "node_modules/from": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, - "fs-readfile-promise": { + "node_modules/fs-readfile-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz", "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=", - "requires": { + "dependencies": { "graceful-fs": "^4.1.2" } }, - "fs-writefile-promise": { + "node_modules/fs-writefile-promise": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz", "integrity": "sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM=", - "requires": { + "dependencies": { "mkdirp-promise": "^1.0.0", "pinkie-promise": "^1.0.0" }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fs-writefile-promise/node_modules/pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dependencies": { - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "requires": { - "pinkie": "^1.0.0" - } - } + "pinkie": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { + "node_modules/fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "functional-red-black-tree": { + "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", - "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - } + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-own-enumerable-property-symbols": { + "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==" }, - "get-stdin": { + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stdin": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "getpass": { + "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" } }, - "glob": { + "node_modules/glob": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "requires": { + "dependencies": { "inflight": "^1.0.4", "inherits": "2", "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "globals": { + "node_modules/globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, - "requires": { + "dependencies": { "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "graceful-fs": { + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, - "graceful-readlink": { + "node_modules/graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, - "growl": { + "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.x" + } }, - "handlebars": { + "node_modules/handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", - "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "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 - } + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/handlebars/node_modules/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, + "engines": { + "node": ">=0.10.0" } }, - "har-schema": { + "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } }, - "har-validator": { + "node_modules/har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", - "requires": { + "deprecated": "this library is no longer supported", + "dependencies": { "ajv": "^6.5.5", "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "has": { + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-ansi": { + "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { + "dependencies": { "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "has-flag": { + "node_modules/has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "he": { + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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 + "dev": true, + "bin": { + "he": "bin/he" + } }, - "hosted-git-info": { + "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, - "http-signature": { + "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "ignore": { + "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4" + } }, - "import-fresh": { + "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, - "ini": { + "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "internal-slot": { + "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, - "requires": { + "dependencies": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "is-arrayish": { + "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-callable": { + "node_modules/is-callable": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, - "requires": { + "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-date-object": { + "node_modules/is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-negative-zero": { + "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "is-obj": { + "node_modules/is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "engines": { + "node": ">=0.10.0" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-regex": { + "node_modules/is-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, - "requires": { + "dependencies": { "has-symbols": "^1.0.1" }, - "dependencies": { - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-regexp": { + "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "engines": { + "node": ">=0.10.0" + } }, - "is-string": { + "node_modules/is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-symbol": { + "node_modules/is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, - "requires": { + "dependencies": { "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "is-typedarray": { + "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isstream": { + "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "istanbul": { + "node_modules/istanbul": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "deprecated": "This module is no longer maintained, try this instead:\n npm i nyc\nVisit https://istanbul.js.org/integrations for other alternatives.", "dev": true, - "requires": { + "dependencies": { "abbrev": "1.0.x", "async": "1.x", "escodegen": "1.8.x", @@ -1876,981 +2615,1330 @@ "which": "^1.1.1", "wordwrap": "^1.0.0" }, + "bin": { + "istanbul": "lib/cli.js" + } + }, + "node_modules/istanbul/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/istanbul/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "jsbn": { + "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "json-parse-better-errors": { + "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "json-schema": { + "node_modules/json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "json-schema-traverse": { + "node_modules/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==" }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json-stringify-safe": { + "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json5": { + "node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "jsprim": { + "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, - "jsx-ast-utils": { + "node_modules/jsx-ast-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", "dev": true, - "requires": { + "dependencies": { "array-includes": "^3.1.2", "object.assign": "^4.1.2" }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jsx-ast-utils/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "dependencies": { - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "lcov-parse": { + "node_modules/lcov-parse": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", "dev": true }, - "levn": { + "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "lintspaces": { + "node_modules/lintspaces": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/lintspaces/-/lintspaces-0.6.3.tgz", "integrity": "sha512-nUwq/jK+gUhpILtV9Ms2cuF16LB9a8nnecowSQD5LRNX3+h1Bl1zIvPZNQgJYeK9xxuoR+HuWnjagQsvyJbS4w==", "dev": true, - "requires": { + "dependencies": { "deep-extend": "^0.6.0", "editorconfig": "^0.15.0", "rc": "^1.2.8" + }, + "engines": { + "node": ">=5" } }, - "load-json-file": { + "node_modules/load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "locate-path": { + "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "requires": { + "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "log-symbols": { + "node_modules/log-symbols": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "dev": true, - "requires": { + "dependencies": { "chalk": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "loose-envify": { + "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, - "requires": { + "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "lru-cache": { + "node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "requires": { + "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, - "map-stream": { + "node_modules/map-stream": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "requires": { - "mime-db": "1.40.0" + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { + "node_modules/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "mkdirp": { + "node_modules/mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dependencies": { "minimist": "0.0.8" }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "bin": { + "mkdirp": "bin/cmd.js" } }, - "mkdirp-promise": { + "node_modules/mkdirp-promise": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz", - "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=" + "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "mkdirp": ">=0.5.0" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, - "mocha": { + "node_modules/mocha": { "version": "8.2.1", "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.14.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "2.0.0" + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/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, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/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, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "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" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "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" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "ms": { + "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nanoid": { + "node_modules/nanoid": { "version": "3.1.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", - "dev": true + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || >=13.7" + } }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "neo-async": { + "node_modules/neo-async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, - "nopt": { + "node_modules/nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, - "requires": { + "dependencies": { "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" } }, - "normalize-package-data": { + "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "requires": { + "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" - }, + } + }, + "node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, "dependencies": { - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "oauth-sign": { + "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "object-assign": { + "node_modules/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 + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-keys": { + "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "object.entries": { + "node_modules/object.entries": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" } }, - "object.fromentries": { + "node_modules/object.fromentries": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.values": { + "node_modules/object.values": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "optionator": { + "node_modules/optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, - "requires": { + "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.4", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "p-limit": { + "node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "requires": { + "dependencies": { "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "p-locate": { + "node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "requires": { + "dependencies": { "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "p-try": { + "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "parent-module": { + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "parse-json": { + "node_modules/parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, - "requires": { + "dependencies": { "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "path-exists": { + "node_modules/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 + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-type": { + "node_modules/path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, - "requires": { + "dependencies": { "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "pause-stream": { + "node_modules/pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "requires": { + "dependencies": { "through": "~2.3" } }, - "performance-now": { + "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "picomatch": { + "node_modules/picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "pify": { + "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pinkie": { + "node_modules/pinkie": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=" + "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise/node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "pkg-conf": { + "node_modules/pkg-conf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", "dev": true, - "requires": { + "dependencies": { "find-up": "^3.0.0", "load-json-file": "^5.2.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/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, "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" - } - }, - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.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-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.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" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true - } + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/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, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-conf/node_modules/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, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "pkg-config": { + "node_modules/pkg-config": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", "dev": true, - "requires": { + "dependencies": { "debug-log": "^1.0.0", "find-root": "^1.0.0", "xtend": "^4.0.1" + }, + "engines": { + "node": ">=0.10" } }, - "pkg-dir": { + "node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "requires": { + "dependencies": { "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "progress": { + "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "prop-types": { + "node_modules/prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dev": true, - "requires": { + "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, - "pseudomap": { + "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, - "psl": { + "node_modules/psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, - "punycode": { + "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } }, - "qs": { + "node_modules/qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "rc": { + "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, - "requires": { + "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" } }, - "react-is": { + "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "read-pkg": { + "node_modules/read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, - "requires": { + "dependencies": { "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "read-pkg-up": { + "node_modules/read-pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, - "requires": { + "dependencies": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, - "requires": { + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "regexp.prototype.flags": { + "node_modules/regexp.prototype.flags": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "regexpp": { + "node_modules/regexpp": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } }, - "request": { + "node_modules/request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { + "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -2872,143 +3960,175 @@ "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - } + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "resolve": { + "node_modules/resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, "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" - } - } + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "safe-buffer": { + "node_modules/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 }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "semver": { + "node_modules/semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, - "requires": { + "dependencies": { "lru-cache": "^6.0.0" }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "serialize-javascript": { + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/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": { + "dependencies": { "randombytes": "^2.1.0" } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "should": { + "node_modules/should": { "version": "13.2.3", "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", "dev": true, - "requires": { + "dependencies": { "should-equal": "^2.0.0", "should-format": "^3.0.3", "should-type": "^1.4.0", @@ -3016,162 +4136,179 @@ "should-util": "^1.0.0" } }, - "should-equal": { + "node_modules/should-equal": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", "dev": true, - "requires": { + "dependencies": { "should-type": "^1.4.0" } }, - "should-format": { + "node_modules/should-format": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", "dev": true, - "requires": { + "dependencies": { "should-type": "^1.3.0", "should-type-adaptors": "^1.0.1" } }, - "should-type": { + "node_modules/should-type": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", "dev": true }, - "should-type-adaptors": { + "node_modules/should-type-adaptors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", "dev": true, - "requires": { + "dependencies": { "should-type": "^1.3.0", "should-util": "^1.0.0" } }, - "should-util": { + "node_modules/should-util": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", "dev": true }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" }, - "dependencies": { - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sigmund": { + "node_modules/sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", "dev": true }, - "slice-ansi": { + "node_modules/slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" } }, - "source-map": { + "node_modules/source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, "optional": true, - "requires": { + "dependencies": { "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" } }, - "spdx-correct": { + "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "requires": { + "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-exceptions": { + "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, - "spdx-expression-parse": { + "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "requires": { + "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { + "node_modules/spdx-license-ids": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, - "split": { + "node_modules/split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "requires": { + "dependencies": { "through": "2" + }, + "engines": { + "node": "*" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { + "node_modules/sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, - "requires": { + "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -3181,14 +4318,36 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "standard": { + "node_modules/standard": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { "eslint": "~7.13.0", "eslint-config-standard": "16.0.2", "eslint-config-standard-jsx": "10.0.0", @@ -3197,69 +4356,97 @@ "eslint-plugin-promise": "~4.2.1", "eslint-plugin-react": "~7.21.5", "standard-engine": "^14.0.1" + }, + "bin": { + "standard": "bin/cmd.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "standard-engine": { + "node_modules/standard-engine": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz", "integrity": "sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { "get-stdin": "^8.0.0", "minimist": "^1.2.5", "pkg-conf": "^3.1.0", "xdg-basedir": "^4.0.0" }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } + "engines": { + "node": ">=8.10" } }, - "stream-combiner": { + "node_modules/standard-engine/node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/stream-combiner": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "requires": { + "dependencies": { "duplexer": "~0.1.1" } }, - "string-width": { + "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "requires": { + "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "string.prototype.matchall": { + "node_modules/string.prototype.matchall": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", @@ -3268,390 +4455,472 @@ "regexp.prototype.flags": "^1.3.0", "side-channel": "^1.0.3" }, - "dependencies": { - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "stringify-object": { + "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { + "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { + "dependencies": { "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } }, - "table": { + "node_modules/table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "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" - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "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 - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/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 + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "through": { + "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "tough-cookie": { + "node_modules/tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, - "requires": { + "dependencies": { "psl": "^1.1.24", "punycode": "^1.4.1" }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "engines": { + "node": ">=0.8" } }, - "tsconfig-paths": { + "node_modules/tough-cookie/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/tsconfig-paths": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, - "requires": { + "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", "minimist": "^1.2.0", "strip-bom": "^3.0.0" } }, - "tunnel-agent": { + "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "tweetnacl": { + "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type-check": { + "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "uglify-js": { + "node_modules/uglify-js": { "version": "3.5.8", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.8.tgz", "integrity": "sha512-GFSjB1nZIzoIq70qvDRtWRORHX3vFkAnyK/rDExc0BN7r9+/S+Voz3t/fwJuVfjppAMz+ceR2poE7tkhvnVwQQ==", "dev": true, "optional": true, - "requires": { + "dependencies": { "commander": "~2.20.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, - "optional": true - } + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/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, + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "uuid": { + "node_modules/uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "v8-compile-cache": { + "node_modules/v8-compile-cache": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", "dev": true }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "verror": { + "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-module": { + "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "wide-align": { + "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, - "requires": { + "dependencies": { "string-width": "^1.0.2 || 2" } }, - "word-wrap": { + "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "wordwrap": { + "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "workerpool": { + "node_modules/workerpool": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", "dev": true }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write": { + "node_modules/write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, - "requires": { + "dependencies": { "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" } }, - "xdg-basedir": { + "node_modules/xdg-basedir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "xtend": { + "node_modules/xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "node_modules/y18n": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, - "yallist": { + "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs": { + "node_modules/yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "requires": { + "dependencies": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", @@ -3662,120 +4931,164 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "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-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.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" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "13.1.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "requires": { + "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, - "requires": { + "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/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, "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/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, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "yocto-queue": { + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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 + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index d4cd517ba..30ea35ca0 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "commander": "^2.9.0", "debug": "^2.2.0", "event-stream": "3.3.4", - "form-data": "3.0.0", + "form-data": "^3.0.4", "fs-readfile-promise": "^2.0.1", "fs-writefile-promise": "^1.0.3", "har-validator": "^5.0.0", @@ -94,4 +94,4 @@ "pinkie-promise": "^2.0.0", "stringify-object": "^3.3.0" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 5b570ab65..2390df6e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,30 +3,30 @@ "@babel/code-frame@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: - "@babel/highlight" "^7.16.7" + "@babel/highlight" "^7.10.4" -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@babel/helper-validator-identifier@^7.10.4": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-validator-identifier" "^7.10.4" chalk "^2.0.0" js-tokens "^4.0.0" -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== +"@eslint/eslintrc@^0.2.1": + version "0.2.2" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz" + integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -35,220 +35,233 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.20" + lodash "^4.17.19" minimatch "^3.0.4" strip-json-comments "^3.1.1" "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@ungap/promise-all-settled@1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: +abbrev@1, abbrev@1.0.x: version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + version "5.3.1" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== -acorn@^7.4.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.4.0: version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.10.0, ajv@^6.5.5: + version "6.10.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz" + integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== +ajv@^6.10.2: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" uri-js "^4.2.2" amdefine@>=0.0.4: version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= +ansi-styles@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" anymatch@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.1" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-includes@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== +array-includes@^3.1.1, array-includes@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz" + integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - is-string "^1.0.7" + es-abstract "^1.18.0-next.1" + get-intrinsic "^1.0.1" + is-string "^1.0.5" -array.prototype.flat@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== +array.prototype.flat@^1.2.3: + version "1.2.4" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.18.0-next.1" -array.prototype.flatmap@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" - integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== +array.prototype.flatmap@^1.2.3: + version "1.2.4" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" asn1@~0.2.3: version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== dependencies: safer-buffer "~2.1.0" -assert-plus@1.0.0, assert-plus@^1.0.0: +assert-plus@^1.0.0, assert-plus@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async@~1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@1.x, async@~1.5.2: +async@1.x: version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -256,19 +269,27 @@ brace-expansion@^1.1.7: braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browser-stdout@1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -276,22 +297,27 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= chalk@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" @@ -300,9 +326,18 @@ chalk@^1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -310,17 +345,17 @@ chalk@^2.0.0, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + version "4.1.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== +chokidar@3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -330,20 +365,20 @@ chokidar@3.5.1: normalize-path "~3.0.0" readdirp "~3.5.0" optionalDependencies: - fsevents "~2.3.1" + fsevents "~2.1.2" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" codeclimate-test-reporter@^0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/codeclimate-test-reporter/-/codeclimate-test-reporter-0.5.1.tgz#2fd517e1a7932b00b0aafffc8d1dfbe91d0443cf" + resolved "https://registry.npmjs.org/codeclimate-test-reporter/-/codeclimate-test-reporter-0.5.1.tgz" integrity sha512-XCzmc8dH+R4orK11BCg5pBbXc35abxq9sept4YvUFRkFl9zb9MIVRrCKENe6U1TKAMTgvGJmrYyHn0y2lerpmg== dependencies: async "~1.5.2" @@ -353,60 +388,72 @@ codeclimate-test-reporter@^0.5.1: color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz" + integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + dependencies: + delayed-stream "~1.0.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" +commander@^2.19.0, commander@^2.9.0, commander@~2.20.0: + version "2.20.0" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + commander@2.9.0: version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + resolved "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= dependencies: graceful-readlink ">= 1.0.0" -commander@^2.19.0, commander@^2.9.0, commander@~2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + core-util-is@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -415,108 +462,125 @@ cross-spawn@^7.0.2: dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" debug-log@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + resolved "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz" integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8= -debug@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debug@^2.2.0, debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= dependencies: ms "2.0.0" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== +debug@^4.0.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^4.1.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^4.0.1, debug@^4.1.1: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== +debug@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== dependencies: ms "2.1.2" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + decamelize@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= define-properties@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== +diff@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + dotenv@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz" integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" @@ -524,7 +588,7 @@ ecc-jsbn@~0.1.1: echint@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/echint/-/echint-4.0.2.tgz#05ef791f68db83cd09f66f1fc553b4092542e74a" + resolved "https://registry.npmjs.org/echint/-/echint-4.0.2.tgz" integrity sha512-iUEHrTxUqpZ0V6ayTmjyf9/f3Iz/Pp3EGKhmfFpnZQ4tjTk3ZyO9bO2qGwgr3coSknzXdieYrcCe3JDsiI/Uvw== dependencies: chalk "^2.4.2" @@ -537,7 +601,7 @@ echint@^4.0.2: editorconfig@^0.15.0: version "0.15.3" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + resolved "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz" integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== dependencies: commander "^2.19.0" @@ -545,78 +609,94 @@ editorconfig@^0.15.0: semver "^5.6.0" sigmund "^1.0.1" -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== enquirer@^2.3.5: version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== dependencies: ansi-colors "^4.1.1" -error-ex@^1.3.1: +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== +es-abstract@^1.18.0-next.1: + version "1.18.0-next.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz" + integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" + get-intrinsic "^1.0.2" has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" + has-symbols "^1.0.1" + is-callable "^1.2.2" is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" + is-regex "^1.1.1" + object-inspect "^1.9.0" object-keys "^1.1.1" object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" + string.prototype.trimend "^1.0.3" + string.prototype.trimstart "^1.0.3" + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escape-string-regexp@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - escodegen@1.8.x: version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz" integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= dependencies: esprima "^2.7.1" @@ -628,62 +708,60 @@ escodegen@1.8.x: eslint-config-standard-jsx@10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz#dc24992661325a2e480e2c3091d669f19034e18d" + resolved "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz" integrity sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA== -eslint-config-standard@16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== +eslint-config-standard@16.0.2: + version "16.0.2" + resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz" + integrity sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw== -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz" + integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== dependencies: - debug "^3.2.7" - resolve "^1.20.0" + debug "^2.6.9" + resolve "^1.13.1" -eslint-module-utils@^2.6.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== +eslint-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz" + integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== dependencies: - debug "^3.2.7" - find-up "^2.1.0" + debug "^2.6.9" + pkg-dir "^2.0.0" eslint-plugin-es@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== dependencies: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@~2.24.2: - version "2.24.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" - integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== +eslint-plugin-import@^2.22.1, eslint-plugin-import@~2.22.1: + version "2.22.1" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz" + integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.0" has "^1.0.3" - is-core-module "^2.6.0" minimatch "^3.0.4" - object.values "^1.1.4" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.11.0" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" -eslint-plugin-node@~11.1.0: +eslint-plugin-node@^11.1.0, eslint-plugin-node@~11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== dependencies: eslint-plugin-es "^3.0.0" @@ -693,33 +771,31 @@ eslint-plugin-node@~11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-promise@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz#9674d11c056d1bafac38e4a3a9060be740988d90" - integrity sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA== +eslint-plugin-promise@^4.2.1, eslint-plugin-promise@~4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz" + integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== -eslint-plugin-react@~7.25.1: - version "7.25.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz#3333a974772745ddb3aecea84621019b635766bc" - integrity sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w== +eslint-plugin-react@^7.21.5, eslint-plugin-react@~7.21.5: + version "7.21.5" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz" + integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" - estraverse "^5.2.0" + has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.hasown "^1.0.0" - object.values "^1.1.4" + object.entries "^1.1.2" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" + resolve "^1.18.1" + string.prototype.matchall "^4.0.2" eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -727,28 +803,33 @@ eslint-scope@^5.1.1: eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + version "2.0.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@~7.18.0: - version "7.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" - integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== +"eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", eslint@^7.12.1, eslint@>=4.19.1, eslint@>=5.16.0, eslint@~7.13.0: + version "7.13.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz" + integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.3.0" + "@eslint/eslintrc" "^0.2.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -758,10 +839,10 @@ eslint@~7.18.0: eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + espree "^7.3.0" esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^6.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" @@ -772,7 +853,7 @@ eslint@~7.18.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.20" + lodash "^4.17.19" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -781,66 +862,71 @@ eslint@~7.18.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^5.2.3" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: +espree@^7.3.0: version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@2.7.x, esprima@^2.7.1: +esprima@^2.7.1, esprima@2.7.x: version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + resolved "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + version "1.3.1" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^1.9.1: version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estraverse@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + version "2.0.2" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= event-stream@3.3.4: version "3.3.4" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + resolved "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz" integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= dependencies: duplexer "~0.1.1" @@ -853,115 +939,113 @@ event-stream@3.3.4: extend@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extsprintf@1.3.0: +extsprintf@^1.2.0, extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-deep-equal@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-deep-equal@^3.1.1: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -file-entry-cache@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: - flat-cache "^3.0.4" + flat-cache "^2.0.1" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-root@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" flat@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== +form-data@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz" + integrity sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" - mime-types "^2.1.12" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.35" form-data@~2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" @@ -970,19 +1054,19 @@ form-data@~2.3.2: from@~0: version "0.1.7" - resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + resolved "https://registry.npmjs.org/from/-/from-0.1.7.tgz" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= fs-readfile-promise@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz#80023823981f9ffffe01609e8be668f69ae49e70" + resolved "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz" integrity sha1-gAI4I5gfn//+AWCei+Zo9prknnA= dependencies: graceful-fs "^4.1.2" fs-writefile-promise@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz#e02f9b58ffc255ed822adc7a01114f445d48d063" + resolved "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz" integrity sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM= dependencies: mkdirp-promise "^1.0.0" @@ -990,85 +1074,80 @@ fs-writefile-promise@^1.0.3: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-caller-file@^2.0.5: +get-caller-file@^2.0.1: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" +get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.2.6: + version "1.3.0" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" - integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== + version "3.0.0" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz" + integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" get-stdin@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" glob-parent@^5.0.0, glob-parent@~5.1.0: version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - 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" - glob@^5.0.15: version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + resolved "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= dependencies: inflight "^1.0.4" @@ -1079,7 +1158,7 @@ glob@^5.0.15: glob@^6.0.1: version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= dependencies: inflight "^1.0.4" @@ -1089,9 +1168,21 @@ glob@^6.0.1: path-is-absolute "^1.0.0" glob@^7.1.3: - version "7.1.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" - integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== + version "7.1.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz" + integrity sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE= + dependencies: + 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" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1102,119 +1193,117 @@ glob@^7.1.3: globals@^12.1.0: version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== dependencies: type-fest "^0.8.1" -graceful-fs@^4.1.15: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@^4.1.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.1.15, graceful-fs@^4.1.2: + version "4.1.15" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== "graceful-readlink@>= 1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + resolved "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= growl@1.10.5: version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== handlebars@^4.0.1: - version "4.4.5" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.5.tgz#1b1f94f9bfe7379adda86a8b73fb570265a0dddd" - integrity sha512-0Ce31oWVB7YidkaTq33ZxEbN+UDxMMgThvCe8ptgQViymL5DPis9uLdTA13MiRPhgvqyxIegugrP97iK3JeBHg== + version "4.7.7" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: + minimist "^1.2.5" neo-async "^2.6.0" - optimist "^0.6.1" source-map "^0.6.1" + wordwrap "^1.0.0" optionalDependencies: uglify-js "^3.1.4" har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@^5.0.0, har-validator@~5.1.0: version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= dependencies: ajv "^6.5.5" har-schema "^2.0.0" has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - has-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + he@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" @@ -1223,17 +1312,17 @@ http-signature@~1.2.0: ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -1241,30 +1330,30 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.3: +internal-slot@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: get-intrinsic "^1.1.0" @@ -1273,166 +1362,117 @@ internal-slot@^1.0.3: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.2.0, is-core-module@^2.6.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== dependencies: has "^1.0.3" is-date-object@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" + version "2.0.1" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + has-symbols "^1.0.1" is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== is-symbol@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz" integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== dependencies: has-symbols "^1.0.0" -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" +isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= istanbul@^0.4.0: version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + resolved "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz" integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= dependencies: abbrev "1.0.x" @@ -1452,77 +1492,65 @@ istanbul@^0.4.0: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.x: +js-yaml@^3.13.1, js-yaml@3.x: version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" jsprim@^1.2.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" @@ -1531,21 +1559,21 @@ jsprim@^1.2.2: verror "1.10.0" "jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" - integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + version "3.2.0" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== dependencies: - array-includes "^3.1.3" + array-includes "^3.1.2" object.assign "^4.1.2" lcov-parse@0.0.10: version "0.0.10" - resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + resolved "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz" integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -1553,7 +1581,7 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" @@ -1561,26 +1589,26 @@ levn@~0.3.0: lintspaces@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/lintspaces/-/lintspaces-0.6.3.tgz#44a7de459032bcfbcb8b92d049070be8b4c90f32" + resolved "https://registry.npmjs.org/lintspaces/-/lintspaces-0.6.3.tgz" integrity sha512-nUwq/jK+gUhpILtV9Ms2cuF16LB9a8nnecowSQD5LRNX3+h1Bl1zIvPZNQgJYeK9xxuoR+HuWnjagQsvyJbS4w== dependencies: deep-extend "^0.6.0" editorconfig "^0.15.0" rc "^1.2.8" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" + parse-json "^2.2.0" + pify "^2.0.0" strip-bom "^3.0.0" load-json-file@^5.2.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz" integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== dependencies: graceful-fs "^4.1.15" @@ -1591,7 +1619,7 @@ load-json-file@^5.2.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" @@ -1599,7 +1627,7 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -1607,43 +1635,33 @@ locate-path@^3.0.0: locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lodash@^4.17.20: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz" integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: chalk "^4.0.0" loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^4.1.5: version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" @@ -1651,138 +1669,133 @@ lru-cache@^4.1.5: lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" map-stream@~0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + resolved "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== +mime-types@^2.1.12, mime-types@^2.1.35, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.40.0" + mime-db "1.52.0" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: +minimatch@^3.0.4, "minimatch@2 || 3", minimatch@3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - minimist@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@^1.2.5: version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= mkdirp-promise@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz#2c84893ed676e0d98fb18fb9a6212fd1b2b9a819" + resolved "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz" integrity sha1-LISJPtZ24NmPsY+5piEv0bK5qBk= -mkdirp@0.5.x: +mkdirp@^0.5.1, mkdirp@>=0.5.0, mkdirp@0.5.x: version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" mocha@^8.2.1: - version "8.4.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" - integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== + version "8.2.1" + resolved "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz" + integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.5.1" - debug "4.3.1" - diff "5.0.0" + chokidar "3.4.3" + debug "4.2.0" + diff "4.0.2" escape-string-regexp "4.0.0" find-up "5.0.0" glob "7.1.6" growl "1.10.5" he "1.2.0" - js-yaml "4.0.0" + js-yaml "3.14.0" log-symbols "4.0.0" minimatch "3.0.4" - ms "2.1.3" - nanoid "3.1.20" + ms "2.1.2" + nanoid "3.1.12" serialize-javascript "5.0.1" strip-json-comments "3.1.1" - supports-color "8.1.1" + supports-color "7.2.0" which "2.0.2" wide-align "1.1.3" - workerpool "6.1.0" - yargs "16.2.0" - yargs-parser "20.2.4" + workerpool "6.0.2" + yargs "13.3.2" + yargs-parser "13.1.2" yargs-unparser "2.0.0" ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.0" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz" + integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== nopt@3.x: version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= dependencies: abbrev "1" normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -1792,32 +1805,32 @@ normalize-package-data@^2.3.2: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" @@ -1825,59 +1838,46 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.fromentries@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== +object.entries@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.1" + es-abstract "^1.18.0-next.1" + has "^1.0.3" -object.hasown@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" - integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== +object.fromentries@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz" + integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.1" + es-abstract "^1.18.0-next.1" + has "^1.0.3" -object.values@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.values@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz" + integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.1" + es-abstract "^1.18.0-next.1" + has "^1.0.3" -once@1.x, once@^1.3.0: +once@^1.3.0, once@1.x: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.8.1: version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz" integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" @@ -1889,7 +1889,7 @@ optionator@^0.8.1: optionator@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -1901,66 +1901,73 @@ optionator@^0.9.1: p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" p-limit@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" @@ -1968,95 +1975,90 @@ parse-json@^4.0.0: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: - pify "^3.0.0" + pify "^2.0.0" pause-stream@0.0.11: version "0.0.11" - resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + resolved "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= dependencies: through "~2.3" performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + version "2.2.2" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz" integrity sha1-0dpn9UglY7t89X8oauKCLs+/NnA= dependencies: pinkie "^1.0.0" pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz" integrity sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q= pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== pkg-conf@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae" + resolved "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz" integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ== dependencies: find-up "^3.0.0" @@ -2064,79 +2066,79 @@ pkg-conf@^3.1.0: pkg-config@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4" + resolved "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz" integrity sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q= dependencies: debug-log "^1.0.0" find-root "^1.0.0" xtend "^4.0.1" -pkg-up@^2.0.0: +pkg-dir@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= progress@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + version "15.7.2" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" - react-is "^16.13.1" + react-is "^16.8.1" pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24: - version "1.4.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" - integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== + version "1.1.31" + resolved "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= punycode@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== qs@~6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" rc@^1.2.8: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -2144,51 +2146,51 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^16.13.1: +react-is@^16.8.1: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= dependencies: find-up "^2.0.0" - read-pkg "^3.0.0" + read-pkg "^2.0.0" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= dependencies: - load-json-file "^4.0.0" + load-json-file "^2.0.0" normalize-package-data "^2.3.2" - path-type "^3.0.0" + path-type "^2.0.0" readdirp@~3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" -regexp.prototype.flags@^1.3.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== +regexp.prototype.flags@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + version "3.1.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== request@~2.88.0: version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + resolved "https://registry.npmjs.org/request/-/request-2.88.0.tgz" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== dependencies: aws-sign2 "~0.7.0" @@ -2214,109 +2216,137 @@ request@~2.88.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= +resolve@^1.10.0: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.20.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== +resolve@^1.10.1: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" + is-core-module "^2.1.0" + path-parse "^1.0.6" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== +resolve@^1.13.1: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: - is-core-module "^2.2.0" + is-core-module "^2.1.0" path-parse "^1.0.6" -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== +resolve@^1.17.0: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: - glob "^7.1.3" + is-core-module "^2.1.0" + path-parse "^1.0.6" -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +resolve@^1.18.1: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"semver@2 || 3 || 4 || 5", semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^5.6.0: + version "5.7.0" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== semver@^6.1.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + version "7.3.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + serialize-javascript@5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz" integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== dependencies: randombytes "^2.1.0" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== should-equal@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" + resolved "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz" integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== dependencies: should-type "^1.4.0" should-format@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" + resolved "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz" integrity sha1-m/yPdPo5IFxT04w01xcwPidxJPE= dependencies: should-type "^1.3.0" @@ -2324,7 +2354,7 @@ should-format@^3.0.3: should-type-adaptors@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" + resolved "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz" integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== dependencies: should-type "^1.3.0" @@ -2332,17 +2362,17 @@ should-type-adaptors@^1.0.1: should-type@^1.3.0, should-type@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" + resolved "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz" integrity sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM= should-util@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" - integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== + version "1.0.0" + resolved "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz" + integrity sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM= should@^13.2.3: version "13.2.3" - resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" + resolved "https://registry.npmjs.org/should/-/should-13.2.3.tgz" integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== dependencies: should-equal "^2.0.0" @@ -2351,9 +2381,9 @@ should@^13.2.3: should-type-adaptors "^1.0.1" should-util "^1.0.0" -side-channel@^1.0.4: +side-channel@^1.0.3, side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -2362,33 +2392,38 @@ side-channel@^1.0.4: sigmund@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + resolved "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" -source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@~0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz" integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50= dependencies: amdefine ">=0.0.4" +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -2396,37 +2431,37 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.7" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== split@0.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + resolved "https://registry.npmjs.org/split/-/split-0.3.3.tgz" integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" @@ -2441,7 +2476,7 @@ sshpk@^1.7.0: standard-engine@^14.0.1: version "14.0.1" - resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-14.0.1.tgz#fe568e138c3d9768fc59ff81001f7049908a8156" + resolved "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz" integrity sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q== dependencies: get-stdin "^8.0.0" @@ -2450,76 +2485,84 @@ standard-engine@^14.0.1: xdg-basedir "^4.0.0" standard@^16.0.3: - version "16.0.4" - resolved "https://registry.yarnpkg.com/standard/-/standard-16.0.4.tgz#779113ba41dd218ab545e7b4eb2405561f6eb370" - integrity sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ== + version "16.0.3" + resolved "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz" + integrity sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg== dependencies: - eslint "~7.18.0" - eslint-config-standard "16.0.3" + eslint "~7.13.0" + eslint-config-standard "16.0.2" eslint-config-standard-jsx "10.0.0" - eslint-plugin-import "~2.24.2" + eslint-plugin-import "~2.22.1" eslint-plugin-node "~11.1.0" - eslint-plugin-promise "~5.1.0" - eslint-plugin-react "~7.25.1" + eslint-plugin-promise "~4.2.1" + eslint-plugin-react "~7.21.5" standard-engine "^14.0.1" stream-combiner@~0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + resolved "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= dependencies: duplexer "~0.1.1" "string-width@^1.0.2 || 2": version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" -string.prototype.matchall@^4.0.5: - version "4.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" - integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== +string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: - call-bind "^1.0.2" + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.matchall@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz" + integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw== + dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" + es-abstract "^1.18.0-next.1" + has-symbols "^1.0.1" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.3" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== +string.prototype.trimend@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== +string.prototype.trimstart@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.0" define-properties "^1.1.3" stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -2528,118 +2571,129 @@ stringify-object@^3.3.0: strip-ansi@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: - ansi-regex "^5.0.1" + ansi-regex "^5.0.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^3.1.0: version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= dependencies: has-flag "^1.0.0" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +supports-color@7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" -table@^6.0.4: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== +table@^5.2.3: + version "5.4.6" + resolved "https://registry.npmjs.org/table/-/table-5.4.6.tgz" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through@2, through@~2.3, through@~2.3.1: +through@~2.3, through@~2.3.1, through@2: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tough-cookie@~2.4.3: version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz" integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== dependencies: psl "^1.1.24" punycode "^1.4.1" -tsconfig-paths@^3.11.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" - integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz" + integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -2648,78 +2702,68 @@ tsconfig-paths@^3.11.0: tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" type-fest@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== uglify-js@^3.1.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.4.tgz#88cc880c6ed5cf9868fdfa0760654e7bed463f1d" - integrity sha512-9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA== + version "3.5.8" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.8.tgz" + integrity sha512-GFSjB1nZIzoIq70qvDRtWRORHX3vFkAnyK/rDExc0BN7r9+/S+Voz3t/fwJuVfjppAMz+ceR2poE7tkhvnVwQQ== dependencies: - commander "~2.20.3" + commander "~2.20.0" source-map "~0.6.1" -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - uri-js@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz" integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== dependencies: punycode "^2.1.0" uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + version "3.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + version "2.2.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -2727,117 +2771,118 @@ validate-npm-package-license@^3.0.1: verror@1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.1.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + isexe "^2.0.0" -which@2.0.2, which@^2.0.1: +which@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -which@^1.1.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== +which@2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" wide-align@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" word-wrap@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wordwrap@^1.0.0, wordwrap@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -workerpool@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" - integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz" + integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/write/-/write-1.0.3.tgz" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + xdg-basedir@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + version "4.0.1" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^13.1.2, yargs-parser@13.1.2: + version "13.1.2" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" yargs-unparser@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: camelcase "^6.0.0" @@ -2845,20 +2890,23 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@13.3.2: + version "13.3.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From a39495c4be258b61adf92034255fdc6ada693bc8 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Tue, 30 Dec 2025 10:05:44 +0000 Subject: [PATCH 181/181] chore(release): v2.0.18 [skip ci] --- CHANGELOG.md | 13 +++++++++---- package.json | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e4fae74c..4c1e0c383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [2.0.18](https://github.com/RapidAPI/httpsnippet/compare/v2.0.17...v2.0.18) (2025-12-30) + + +### Bug Fixes + +* update form data ([#10](https://github.com/RapidAPI/httpsnippet/issues/10)) ([55a5c2a](https://github.com/RapidAPI/httpsnippet/commit/55a5c2a9b5f544acb4472508a5ebf54d15a7d9c7)) + + + ## [2.0.17](https://github.com/RapidAPI/httpsnippet/compare/v2.0.16...v2.0.17) (2023-03-22) @@ -14,7 +23,3 @@ -## [2.0.13](https://github.com/RapidAPI/httpsnippet/compare/v2.0.12...v2.0.13) (2022-03-20) - - - diff --git a/package.json b/package.json index 30ea35ca0..5cd1ec31f 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "2.0.17", + "version": "2.0.18", "name": "@rapidapi/httpsnippet", "description": "HTTP Request snippet generator for *most* languages", "author": "Ahmad Nassri (https://www.mashape.com/)",