From e998459ab78bddc88983ec7830c75e2ead73358f Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Fri, 24 Apr 2020 09:26:04 +0200 Subject: [PATCH 01/30] Reload single URL if responded with invalid status --- README.md | 12 ++++++++++++ core/util/runPuppet.js | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 079aa1a0c..980e076c1 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,18 @@ module.exports = async (page, scenario, vp) => { }; ``` +### Reload scenario on specific error (puppeteer) + +By default puppeteer will take a screenshot even if the URL returned http status different than 200. If you want to reload website on failure (only once), add the following code to `backstop.json`. + +```json +"reloadOnError": { + "enable": true, // Whether website should be reloaded on error + "waitBeforeReload": 1500, // Wait 1500ms before reload + "onStatus": [504, 503, 500] // Reload website if responded with one of the following statuses +}, +``` + #### Setting the base path for custom onBefore and onReady scripts By default the base path is a folder called `engine_scripts` inside your BackstopJS installation directory. You can override this by setting the `paths.scripts` property in your `backstop.json` file to point to somewhere in your project directory (recommended). diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 7f2dcca15..bd8a9ae88 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -118,7 +118,24 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (isReference && scenario.referenceUrl) { url = scenario.referenceUrl; } - await page.goto(translateUrl(url)); + var request = await page.goto(translateUrl(url)); + + // --- RELOAD WEBSITE IF THERE WAS AN ERROR (base on the response code) --- + if (typeof config.reloadOnError !== 'undefined' && typeof config.reloadOnError.enable !== 'undefined' && typeof config.reloadOnError.onStatus !== 'undefined' && config.reloadOnError.enable === true) { + if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { + // Wait for the website if needed + if (typeof config.reloadOnError.waitBeforeReload !== 'undefined' && parseInt(config.reloadOnError.waitBeforeReload) > 0) { + await ((milis) => { + return new Promise(function (resolve, reject) { + console.log('URL responded with status', request.status(), 'will be reloaded after', milis, 'ms'); + setTimeout(function () { resolve(); }, milis); + }); + })(config.reloadOnError.waitBeforeReload); + + await page.goto(translateUrl(url)); + } + } + } await injectBackstopTools(page); From 4bc7eb2e3039c29c454564b4f6483b27b3ea2ae3 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Fri, 24 Apr 2020 09:45:19 +0200 Subject: [PATCH 02/30] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 980e076c1..673985ead 100644 --- a/README.md +++ b/README.md @@ -477,6 +477,7 @@ By default puppeteer will take a screenshot even if the URL returned http status "onStatus": [504, 503, 500] // Reload website if responded with one of the following statuses }, ``` +Keep in mind that it works fine only with puppeteer `"engine": "puppeteer"`. #### Setting the base path for custom onBefore and onReady scripts From 08a644008a47726ce09c83aa1a17954f04d6ba01 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 28 Apr 2020 10:24:42 +0200 Subject: [PATCH 03/30] - Reload page after error X times - Generate report with broken-urls --- core/util/createBitmaps.js | 20 ++++++++++++++++++- core/util/extendConfig.js | 7 +++++++ core/util/runPuppet.js | 39 +++++++++++++++++++++++++++++--------- 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/core/util/createBitmaps.js b/core/util/createBitmaps.js index 8b0d0ba36..b28418ce4 100644 --- a/core/util/createBitmaps.js +++ b/core/util/createBitmaps.js @@ -153,9 +153,18 @@ function delegateScenarios (config) { function writeCompareConfigFile (comparePairsFileName, compareConfig) { var compareConfigJSON = JSON.stringify(compareConfig, null, 2); ensureDirectoryPath(comparePairsFileName); + return fs.writeFile(comparePairsFileName, compareConfigJSON); } +function flatMapFailuresUrls (rawTestPairs) { + return rawTestPairs.reduce((acc, result) => { + var failureUrls = result.failureUrls; + + return acc.concat(failureUrls); + }, []); +} + function flatMapTestPairs (rawTestPairs) { return rawTestPairs.reduce((acc, result) => { var testPairs = result.testPairs; @@ -190,8 +199,17 @@ module.exports = function (config, isReference) { const result = { compareConfig: { testPairs: flatMapTestPairs(rawTestPairs) - } + }, }; + + const failuresUrls = flatMapFailuresUrls(rawTestPairs); + + if (failuresUrls.length > 0) { + var failedUrlsPath = config.bitmaps_reference + '/' + (isReference ? 'reference-' : 'test-') + config.reloadOnError.outputFile; + ensureDirectoryPath(failedUrlsPath); + fs.writeFile(failedUrlsPath, JSON.stringify(failuresUrls, null, '\t')) + } + return writeCompareConfigFile(config.tempCompareConfigFileName, result); }); diff --git a/core/util/extendConfig.js b/core/util/extendConfig.js index bd241dbcb..796cf16b1 100644 --- a/core/util/extendConfig.js +++ b/core/util/extendConfig.js @@ -23,6 +23,13 @@ function extendConfig (config, userConfig) { config.asyncCompareLimit = userConfig.asyncCompareLimit; config.backstopVersion = version; config.dockerCommandTemplate = userConfig.dockerCommandTemplate; + config.reloadOnError = userConfig.reloadOnError || { + "enabled": false, + "retryCount": 3, + "waitBeforeReload": 1500, + "onStatus": [504, 503, 500], + "outputFile": "retry_urls.json" + } return config; } diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index bd8a9ae88..40f384b61 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -65,7 +65,10 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar const browser = await puppeteer.launch(puppeteerArgs); const page = await browser.newPage(); + let urlWrongStatus = []; + await page.setViewport({ width: VP_W, height: VP_H }); + page.setDefaultNavigationTimeout(engineTools.getEngineOption(config, 'waitTimeout', TEST_TIMEOUT)); if (isReference) { @@ -118,22 +121,35 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (isReference && scenario.referenceUrl) { url = scenario.referenceUrl; } + var request = await page.goto(translateUrl(url)); - // --- RELOAD WEBSITE IF THERE WAS AN ERROR (base on the response code) --- - if (typeof config.reloadOnError !== 'undefined' && typeof config.reloadOnError.enable !== 'undefined' && typeof config.reloadOnError.onStatus !== 'undefined' && config.reloadOnError.enable === true) { + if (config.reloadOnError.enabled) { + // Check the status of the request if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { - // Wait for the website if needed - if (typeof config.reloadOnError.waitBeforeReload !== 'undefined' && parseInt(config.reloadOnError.waitBeforeReload) > 0) { + let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); + + for(const iteration of reloadArray) { + const reloadRequest = await page.goto(url); + + if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { + break; + } + await ((milis) => { return new Promise(function (resolve, reject) { - console.log('URL responded with status', request.status(), 'will be reloaded after', milis, 'ms'); setTimeout(function () { resolve(); }, milis); }); - })(config.reloadOnError.waitBeforeReload); - - await page.goto(translateUrl(url)); - } + })(config.reloadOnError.waitBeforeReload); + urlWrongStatus.push({ + iteration: iteration+1, + url: translateUrl(url), + status: reloadRequest.status(), + date: new Date().toISOString(), + timestamp: Date.now(), + reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' + }); + } } } @@ -277,6 +293,11 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar }; fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); } + + compareConfig = { failureUrls: urlWrongStatus, ...compareConfig } + + // console.log(compareConfig); + // console.log(urlWrongStatus); return Promise.resolve(compareConfig); } From 954fd8c49356f065c2955da3784ab4029aafeaf5 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 28 Apr 2020 17:12:21 +0200 Subject: [PATCH 04/30] Added label for errors --- core/util/runPuppet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 40f384b61..a04553c54 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -42,7 +42,6 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (!config.paths) { config.paths = {}; } - if (typeof viewport.label !== 'string') { viewport.label = viewport.name || ''; } @@ -147,6 +146,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar status: reloadRequest.status(), date: new Date().toISOString(), timestamp: Date.now(), + viewportLabel: viewport.label, reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' }); } From ffc292b0e808ac742037d672de8d029bf5b4d648 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 30 Apr 2020 15:45:20 +0200 Subject: [PATCH 05/30] Fixed problem with timeout --- core/util/runPuppet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index a04553c54..5164a3d88 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -10,7 +10,7 @@ const injectBackstopTools = require('../../capture/backstopTools.js'); const engineTools = require('./engineTools'); const MIN_CHROME_VERSION = 62; -const TEST_TIMEOUT = 60000; +const TEST_TIMEOUT = 120000; const DEFAULT_FILENAME_TEMPLATE = '{configId}_{scenarioLabel}_{selectorIndex}_{selectorLabel}_{viewportIndex}_{viewportLabel}'; const DEFAULT_BITMAPS_TEST_DIR = 'bitmaps_test'; const DEFAULT_BITMAPS_REFERENCE_DIR = 'bitmaps_reference'; From 8a04bf1b04f98d4865f64604bf2d82d5a2f313a1 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:23:15 +0200 Subject: [PATCH 06/30] Bypass cache by adding random param to the URL --- core/util/runPuppet.js | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 5164a3d88..879f81c2c 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -121,15 +121,27 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar url = scenario.referenceUrl; } - var request = await page.goto(translateUrl(url)); + // Add random string to the URL + // It will allow to bypass cache + var bypass = ""; + + if (!isReference) { + if (url.indexOf('?') !== -1) { + bypass = '&bypassCache=' + Date.now() + } else { + bypass = '?bypassCache=' + Date.now() + } + } + + var request = await page.goto(translateUrl(url) + bypass); if (config.reloadOnError.enabled) { // Check the status of the request if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); - + for(const iteration of reloadArray) { - const reloadRequest = await page.goto(url); + const reloadRequest = await page.goto(translateUrl(url) + bypass); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; @@ -139,14 +151,14 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar return new Promise(function (resolve, reject) { setTimeout(function () { resolve(); }, milis); }); - })(config.reloadOnError.waitBeforeReload); + })(config.reloadOnError.waitBeforeReload); urlWrongStatus.push({ iteration: iteration+1, url: translateUrl(url), status: reloadRequest.status(), date: new Date().toISOString(), - timestamp: Date.now(), - viewportLabel: viewport.label, + timestamp: Date.now(), + viewportLabel: viewport.label, reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' }); } @@ -293,9 +305,9 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar }; fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); } - + compareConfig = { failureUrls: urlWrongStatus, ...compareConfig } - + // console.log(compareConfig); // console.log(urlWrongStatus); From 26a44fa53b1662f378fb192429d54e51688777b1 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:27:13 +0200 Subject: [PATCH 07/30] Bypass cache by adding random param to the URL (for reference & test) --- core/util/runPuppet.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 879f81c2c..eeab76f8e 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -125,12 +125,10 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar // It will allow to bypass cache var bypass = ""; - if (!isReference) { - if (url.indexOf('?') !== -1) { - bypass = '&bypassCache=' + Date.now() - } else { - bypass = '?bypassCache=' + Date.now() - } + if (url.indexOf('?') !== -1) { + bypass = '&bypassCache=' + Date.now() + } else { + bypass = '?bypassCache=' + Date.now() } var request = await page.goto(translateUrl(url) + bypass); From 693ba11cd6ec3271c9186e516398aab20feef1f0 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:51:20 +0200 Subject: [PATCH 08/30] Added additional delay --- core/util/runPuppet.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index eeab76f8e..541b8de80 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -163,6 +163,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } } + await page.waitFor(2000); + await injectBackstopTools(page); // --- WAIT FOR READY EVENT --- From f89146b0342dff5d29625e7c59de8fa1d40f9c01 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:54:16 +0200 Subject: [PATCH 09/30] Wait for networkidle2 --- core/util/runPuppet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 541b8de80..f7e23d62c 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -131,7 +131,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - var request = await page.goto(translateUrl(url) + bypass); + var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); if (config.reloadOnError.enabled) { // Check the status of the request @@ -139,7 +139,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); for(const iteration of reloadArray) { - const reloadRequest = await page.goto(translateUrl(url) + bypass); + const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; From 4b71d92931db696ad718c62a1067c87cd8d08350 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 18:11:02 +0200 Subject: [PATCH 10/30] Reload page --- core/util/runPuppet.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index f7e23d62c..15eae54f9 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -131,7 +131,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); + await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); + var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.enabled) { // Check the status of the request @@ -139,7 +140,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); for(const iteration of reloadArray) { - const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); + const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; From 3af4c65b4f0770bb6f03bcd412b2cd06895c5f49 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 21:44:21 +0200 Subject: [PATCH 11/30] Added logs --- core/util/runPuppet.js | 1 + 1 file changed, 1 insertion(+) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 15eae54f9..fa6b8331f 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -131,6 +131,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); From 37362b137ae9c933ec4aab833d943ccfe747410d Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 21:49:40 +0200 Subject: [PATCH 12/30] Added reload instead of goto --- core/util/runPuppet.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index fa6b8331f..7f7f0b83f 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -131,9 +131,12 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); + // Open the URL for a first time await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); - var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); + + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); + + var request = await page.reload(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.enabled) { // Check the status of the request From 01fa0ea5cc1482c4ac3cbe66b9a63e7f28768afb Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 2 Jun 2020 16:32:32 +0200 Subject: [PATCH 13/30] Refresh page, hard reload from the JS --- core/util/runPuppet.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 7f7f0b83f..3646ab709 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -121,6 +121,9 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar url = scenario.referenceUrl; } + // Open the URL for a first time + await page.goto(translateUrl(url), {waitUntil: 'networkidle0'}); + // Add random string to the URL // It will allow to bypass cache var bypass = ""; @@ -133,7 +136,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar // Open the URL for a first time await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); - + await page.evaluate(`location.reload(true);`); + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); var request = await page.reload(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); From f3955d60fcd70537f57dc9da7606774836f59c0c Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 2 Jun 2020 16:50:22 +0200 Subject: [PATCH 14/30] Updated puppeteer version --- package-lock.json | 525 +++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 379 insertions(+), 148 deletions(-) diff --git a/package-lock.json b/package-lock.json index a20898b9e..443b2dbdd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -103,14 +103,22 @@ "@types/node": { "version": "11.13.9", "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.9.tgz", - "integrity": "sha512-NJ4yuEVw5podZbINp3tEqUIImMSAEHaCXRiWCf3KC32l6hIKf0iPJEh2uZdT0fELfRYk310yLmMXqy2leZQUbg==", - "dev": true + "integrity": "sha512-NJ4yuEVw5podZbINp3tEqUIImMSAEHaCXRiWCf3KC32l6hIKf0iPJEh2uZdT0fELfRYk310yLmMXqy2leZQUbg==" }, "@types/rimraf": { "version": "0.0.28", "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-0.0.28.tgz", "integrity": "sha1-VWJRm8eWPKyoq/fxKMrjtZTUHQY=" }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@webassemblyjs/ast": { "version": "1.7.8", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", @@ -358,12 +366,9 @@ } }, "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" }, "ajv": { "version": "6.5.4", @@ -1687,8 +1692,7 @@ "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" }, "batch": { "version": "0.6.1", @@ -1722,6 +1726,55 @@ "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", "dev": true }, + "bl": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, "bluebird": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", @@ -1898,6 +1951,11 @@ "ieee754": "^1.1.4" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-equal": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", @@ -1906,7 +1964,8 @@ "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==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-indexof": { "version": "1.1.1", @@ -2206,8 +2265,7 @@ "chownr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, "chrome-trace-event": { "version": "1.0.0", @@ -2553,6 +2611,7 @@ "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", @@ -2563,17 +2622,20 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "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==" + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true }, "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==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2587,12 +2649,14 @@ "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==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -2725,7 +2789,8 @@ "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=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cosmiconfig": { "version": "1.1.0", @@ -3357,7 +3422,6 @@ "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" }, @@ -3366,7 +3430,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -3434,19 +3497,6 @@ "is-symbol": "^1.0.2" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4384,14 +4434,41 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } } }, "extsprintf": { @@ -4454,9 +4531,9 @@ } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "requires": { "pend": "~1.2.0" } @@ -4815,6 +4892,11 @@ } } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", @@ -4872,25 +4954,29 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -4900,13 +4986,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, "requires": { @@ -4916,37 +5004,43 @@ }, "chownr": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, "requires": { @@ -4955,25 +5049,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -4982,13 +5080,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -5004,7 +5104,8 @@ }, "glob": { "version": "7.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, "requires": { @@ -5018,13 +5119,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -5033,7 +5136,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -5042,7 +5146,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -5052,19 +5157,22 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -5073,13 +5181,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -5088,13 +5198,15 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true }, "minipass": { "version": "2.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "optional": true, "requires": { @@ -5104,7 +5216,8 @@ }, "minizlib": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "optional": true, "requires": { @@ -5113,7 +5226,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, "requires": { @@ -5122,7 +5236,8 @@ }, "ms": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true }, @@ -5135,7 +5250,8 @@ }, "needle": { "version": "2.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, "requires": { @@ -5146,7 +5262,8 @@ }, "node-pre-gyp": { "version": "0.12.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, "requires": { @@ -5164,7 +5281,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -5174,13 +5292,15 @@ }, "npm-bundled": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, "requires": { @@ -5190,7 +5310,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -5202,19 +5323,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -5223,19 +5347,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -5245,19 +5372,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -5269,7 +5399,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -5277,7 +5408,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -5292,7 +5424,8 @@ }, "rimraf": { "version": "2.6.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, "requires": { @@ -5301,43 +5434,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -5348,7 +5488,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -5357,7 +5498,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -5366,13 +5508,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "dev": true, "optional": true, "requires": { @@ -5387,13 +5531,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -5402,13 +5548,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true, "optional": true } @@ -5850,18 +5998,18 @@ "dev": true }, "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "agent-base": "5", + "debug": "4" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } @@ -5877,8 +6025,7 @@ "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "iferr": { "version": "0.1.5", @@ -7556,6 +7703,11 @@ } } }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "mocha": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", @@ -9481,9 +9633,9 @@ } }, "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "prr": { "version": "1.0.1", @@ -9573,18 +9725,20 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "puppeteer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.0.0.tgz", - "integrity": "sha512-t3MmTWzQxPRP71teU6l0jX47PHXlc4Z52sQv4LJQSZLq1ttkKS2yGM3gaI57uQwZkNaoGd0+HPPMELZkcyhlqA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-3.3.0.tgz", + "integrity": "sha512-23zNqRltZ1PPoK28uRefWJ/zKb5Jhnzbbwbpcna2o5+QMn17F0khq5s1bdH3vPlyj+J36pubccR8wiNA/VE0Vw==", "requires": { "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^3.0.0", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", "mime": "^2.0.3", "progress": "^2.0.1", "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" }, "dependencies": { "debug": { @@ -9596,14 +9750,14 @@ } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } @@ -11593,6 +11747,65 @@ "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", "dev": true }, + "tar-fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz", + "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "tar-stream": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", + "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", + "requires": { + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, "temp": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", @@ -11611,8 +11824,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=" }, "through2": { "version": "2.0.3", @@ -11786,7 +11998,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typescript": { "version": "2.9.2", @@ -11871,6 +12084,26 @@ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -13243,12 +13476,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", + "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==" }, "xhr": { "version": "2.4.1", @@ -13466,11 +13696,12 @@ } }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } } } diff --git a/package.json b/package.json index b5c0a8901..c4d313edb 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "p-map": "^1.1.1", "path": "^0.12.7", "portfinder": "^1.0.17", - "puppeteer": "^2.0.0", + "puppeteer": "^3.3.0", "resolve": "^1.11.1", "super-simple-web-server": "^1.1.2", "temp": "^0.8.3" From 1acde5def375c3f0d829c633839cdc63018bfb22 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Mon, 6 Jul 2020 08:14:03 +0200 Subject: [PATCH 15/30] Do not reload --- core/util/runPuppet.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 3646ab709..9cfcb6901 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -135,7 +135,6 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } // Open the URL for a first time - await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); await page.evaluate(`location.reload(true);`); console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); @@ -172,7 +171,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } } - await page.waitFor(2000); + // await page.waitFor(2000); await injectBackstopTools(page); From 5ff769fe056ecdcc733672ec280c1b1b24f99090 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Fri, 24 Apr 2020 09:26:04 +0200 Subject: [PATCH 16/30] Reload single URL if responded with invalid status --- README.md | 12 ++++++++++++ core/util/runPuppet.js | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d2dd4b32..b5e9e5f05 100644 --- a/README.md +++ b/README.md @@ -479,6 +479,18 @@ module.exports = async (page, scenario, vp) => { }; ``` +### Reload scenario on specific error (puppeteer) + +By default puppeteer will take a screenshot even if the URL returned http status different than 200. If you want to reload website on failure (only once), add the following code to `backstop.json`. + +```json +"reloadOnError": { + "enable": true, // Whether website should be reloaded on error + "waitBeforeReload": 1500, // Wait 1500ms before reload + "onStatus": [504, 503, 500] // Reload website if responded with one of the following statuses +}, +``` + #### Setting the base path for custom onBefore and onReady scripts By default the base path is a folder called `engine_scripts` inside your BackstopJS installation directory. You can override this by setting the `paths.scripts` property in your `backstop.json` file to point to somewhere in your project directory (recommended). diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 2bbb20f8a..0359e733f 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -116,7 +116,24 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (isReference && scenario.referenceUrl) { url = scenario.referenceUrl; } - await page.goto(translateUrl(url)); + var request = await page.goto(translateUrl(url)); + + // --- RELOAD WEBSITE IF THERE WAS AN ERROR (base on the response code) --- + if (typeof config.reloadOnError !== 'undefined' && typeof config.reloadOnError.enable !== 'undefined' && typeof config.reloadOnError.onStatus !== 'undefined' && config.reloadOnError.enable === true) { + if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { + // Wait for the website if needed + if (typeof config.reloadOnError.waitBeforeReload !== 'undefined' && parseInt(config.reloadOnError.waitBeforeReload) > 0) { + await ((milis) => { + return new Promise(function (resolve, reject) { + console.log('URL responded with status', request.status(), 'will be reloaded after', milis, 'ms'); + setTimeout(function () { resolve(); }, milis); + }); + })(config.reloadOnError.waitBeforeReload); + + await page.goto(translateUrl(url)); + } + } + } await injectBackstopTools(page); From 20ddf6ec0754bd4b4a557fb5eddc07f45b5ddb42 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 28 Apr 2020 10:24:42 +0200 Subject: [PATCH 17/30] - Reload page after error X times - Generate report with broken-urls --- core/util/createBitmaps.js | 20 ++++++++++++++++++- core/util/extendConfig.js | 7 +++++++ core/util/runPuppet.js | 39 +++++++++++++++++++++++++++++--------- 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/core/util/createBitmaps.js b/core/util/createBitmaps.js index 45f70606b..f69ecb296 100644 --- a/core/util/createBitmaps.js +++ b/core/util/createBitmaps.js @@ -139,9 +139,18 @@ function delegateScenarios (config) { function writeCompareConfigFile (comparePairsFileName, compareConfig) { var compareConfigJSON = JSON.stringify(compareConfig, null, 2); ensureDirectoryPath(comparePairsFileName); + return fs.writeFile(comparePairsFileName, compareConfigJSON); } +function flatMapFailuresUrls (rawTestPairs) { + return rawTestPairs.reduce((acc, result) => { + var failureUrls = result.failureUrls; + + return acc.concat(failureUrls); + }, []); +} + function flatMapTestPairs (rawTestPairs) { return rawTestPairs.reduce((acc, result) => { var testPairs = result.testPairs; @@ -176,8 +185,17 @@ module.exports = function (config, isReference) { const result = { compareConfig: { testPairs: flatMapTestPairs(rawTestPairs) - } + }, }; + + const failuresUrls = flatMapFailuresUrls(rawTestPairs); + + if (failuresUrls.length > 0) { + var failedUrlsPath = config.bitmaps_reference + '/' + (isReference ? 'reference-' : 'test-') + config.reloadOnError.outputFile; + ensureDirectoryPath(failedUrlsPath); + fs.writeFile(failedUrlsPath, JSON.stringify(failuresUrls, null, '\t')) + } + return writeCompareConfigFile(config.tempCompareConfigFileName, result); }); diff --git a/core/util/extendConfig.js b/core/util/extendConfig.js index bd241dbcb..796cf16b1 100644 --- a/core/util/extendConfig.js +++ b/core/util/extendConfig.js @@ -23,6 +23,13 @@ function extendConfig (config, userConfig) { config.asyncCompareLimit = userConfig.asyncCompareLimit; config.backstopVersion = version; config.dockerCommandTemplate = userConfig.dockerCommandTemplate; + config.reloadOnError = userConfig.reloadOnError || { + "enabled": false, + "retryCount": 3, + "waitBeforeReload": 1500, + "onStatus": [504, 503, 500], + "outputFile": "retry_urls.json" + } return config; } diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 0359e733f..0938f1905 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -63,7 +63,10 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar const browser = await puppeteer.launch(puppeteerArgs); const page = await browser.newPage(); + let urlWrongStatus = []; + await page.setViewport({ width: VP_W, height: VP_H }); + page.setDefaultNavigationTimeout(engineTools.getEngineOption(config, 'waitTimeout', TEST_TIMEOUT)); if (isReference) { @@ -116,22 +119,35 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (isReference && scenario.referenceUrl) { url = scenario.referenceUrl; } + var request = await page.goto(translateUrl(url)); - // --- RELOAD WEBSITE IF THERE WAS AN ERROR (base on the response code) --- - if (typeof config.reloadOnError !== 'undefined' && typeof config.reloadOnError.enable !== 'undefined' && typeof config.reloadOnError.onStatus !== 'undefined' && config.reloadOnError.enable === true) { + if (config.reloadOnError.enabled) { + // Check the status of the request if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { - // Wait for the website if needed - if (typeof config.reloadOnError.waitBeforeReload !== 'undefined' && parseInt(config.reloadOnError.waitBeforeReload) > 0) { + let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); + + for(const iteration of reloadArray) { + const reloadRequest = await page.goto(url); + + if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { + break; + } + await ((milis) => { return new Promise(function (resolve, reject) { - console.log('URL responded with status', request.status(), 'will be reloaded after', milis, 'ms'); setTimeout(function () { resolve(); }, milis); }); - })(config.reloadOnError.waitBeforeReload); - - await page.goto(translateUrl(url)); - } + })(config.reloadOnError.waitBeforeReload); + urlWrongStatus.push({ + iteration: iteration+1, + url: translateUrl(url), + status: reloadRequest.status(), + date: new Date().toISOString(), + timestamp: Date.now(), + reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' + }); + } } } @@ -275,6 +291,11 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar }; fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); } + + compareConfig = { failureUrls: urlWrongStatus, ...compareConfig } + + // console.log(compareConfig); + // console.log(urlWrongStatus); return Promise.resolve(compareConfig); } From 13b3e78d0e10bfd01cbcda089693b098baca9506 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Fri, 24 Apr 2020 09:45:19 +0200 Subject: [PATCH 18/30] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5e9e5f05..895b2942c 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,7 @@ By default puppeteer will take a screenshot even if the URL returned http status "onStatus": [504, 503, 500] // Reload website if responded with one of the following statuses }, ``` +Keep in mind that it works fine only with puppeteer `"engine": "puppeteer"`. #### Setting the base path for custom onBefore and onReady scripts From 9dfb4093199f037b438127dfb512a6ac93491831 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 28 Apr 2020 17:12:21 +0200 Subject: [PATCH 19/30] Added label for errors --- core/util/runPuppet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 0938f1905..59b9e6af6 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -40,7 +40,6 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar if (!config.paths) { config.paths = {}; } - if (typeof viewport.label !== 'string') { viewport.label = viewport.name || ''; } @@ -145,6 +144,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar status: reloadRequest.status(), date: new Date().toISOString(), timestamp: Date.now(), + viewportLabel: viewport.label, reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' }); } From 54f6f2361b827124424f9c3298f36f041e6b7a5a Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 30 Apr 2020 15:45:20 +0200 Subject: [PATCH 20/30] Fixed problem with timeout --- core/util/runPuppet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 59b9e6af6..058b0f80e 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -8,7 +8,7 @@ const injectBackstopTools = require('../../capture/backstopTools.js'); const engineTools = require('./engineTools'); const MIN_CHROME_VERSION = 62; -const TEST_TIMEOUT = 60000; +const TEST_TIMEOUT = 120000; const DEFAULT_FILENAME_TEMPLATE = '{configId}_{scenarioLabel}_{selectorIndex}_{selectorLabel}_{viewportIndex}_{viewportLabel}'; const DEFAULT_BITMAPS_TEST_DIR = 'bitmaps_test'; const DEFAULT_BITMAPS_REFERENCE_DIR = 'bitmaps_reference'; From 0bba28af740c53ed646763930d29f192f241e098 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:23:15 +0200 Subject: [PATCH 21/30] Bypass cache by adding random param to the URL --- core/util/runPuppet.js | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 058b0f80e..70f7ee792 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -119,15 +119,27 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar url = scenario.referenceUrl; } - var request = await page.goto(translateUrl(url)); + // Add random string to the URL + // It will allow to bypass cache + var bypass = ""; + + if (!isReference) { + if (url.indexOf('?') !== -1) { + bypass = '&bypassCache=' + Date.now() + } else { + bypass = '?bypassCache=' + Date.now() + } + } + + var request = await page.goto(translateUrl(url) + bypass); if (config.reloadOnError.enabled) { // Check the status of the request if (config.reloadOnError.onStatus.indexOf(request.status()) !== -1) { let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); - + for(const iteration of reloadArray) { - const reloadRequest = await page.goto(url); + const reloadRequest = await page.goto(translateUrl(url) + bypass); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; @@ -137,14 +149,14 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar return new Promise(function (resolve, reject) { setTimeout(function () { resolve(); }, milis); }); - })(config.reloadOnError.waitBeforeReload); + })(config.reloadOnError.waitBeforeReload); urlWrongStatus.push({ iteration: iteration+1, url: translateUrl(url), status: reloadRequest.status(), date: new Date().toISOString(), - timestamp: Date.now(), - viewportLabel: viewport.label, + timestamp: Date.now(), + viewportLabel: viewport.label, reloadStatus: (iteration === reloadArray.length - 1) ? 'failed' : 'reload' }); } @@ -291,9 +303,9 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar }; fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); } - + compareConfig = { failureUrls: urlWrongStatus, ...compareConfig } - + // console.log(compareConfig); // console.log(urlWrongStatus); From d59272afb02d912b06e8b85494f7576fd6837a4d Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:27:13 +0200 Subject: [PATCH 22/30] Bypass cache by adding random param to the URL (for reference & test) --- core/util/runPuppet.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 70f7ee792..f551756d0 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -123,12 +123,10 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar // It will allow to bypass cache var bypass = ""; - if (!isReference) { - if (url.indexOf('?') !== -1) { - bypass = '&bypassCache=' + Date.now() - } else { - bypass = '?bypassCache=' + Date.now() - } + if (url.indexOf('?') !== -1) { + bypass = '&bypassCache=' + Date.now() + } else { + bypass = '?bypassCache=' + Date.now() } var request = await page.goto(translateUrl(url) + bypass); From 4df09f0e43947ae12135082e32b0b5c7511a6319 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:51:20 +0200 Subject: [PATCH 23/30] Added additional delay --- core/util/runPuppet.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index f551756d0..d4010cad4 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -161,6 +161,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } } + await page.waitFor(2000); + await injectBackstopTools(page); // --- WAIT FOR READY EVENT --- From 4a974c1ba8c08b55a90d4ca5be8c83e7efdcdae5 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Thu, 21 May 2020 10:54:16 +0200 Subject: [PATCH 24/30] Wait for networkidle2 --- core/util/runPuppet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index d4010cad4..e81ab6685 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -129,7 +129,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - var request = await page.goto(translateUrl(url) + bypass); + var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); if (config.reloadOnError.enabled) { // Check the status of the request @@ -137,7 +137,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); for(const iteration of reloadArray) { - const reloadRequest = await page.goto(translateUrl(url) + bypass); + const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; From cdf9f5617a166e93074e0a0ddd3759fc8e50c71f Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 18:11:02 +0200 Subject: [PATCH 25/30] Reload page --- core/util/runPuppet.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index e81ab6685..0cf01ff52 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -129,7 +129,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); + await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); + var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.enabled) { // Check the status of the request @@ -137,7 +138,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar let reloadArray = Array.from(Array(config.reloadOnError.retryCount).keys()); for(const iteration of reloadArray) { - const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle2'}); + const reloadRequest = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.onStatus.indexOf(reloadRequest.status()) === -1) { break; From fadc13d8799bf8cd6c76cd4aaa5ba9e81175eac2 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 21:44:21 +0200 Subject: [PATCH 26/30] Added logs --- core/util/runPuppet.js | 1 + 1 file changed, 1 insertion(+) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 0cf01ff52..e656d6b6d 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -129,6 +129,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); From c1bd09fc4351f54cfdf2970180bafd9d8aab2006 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Wed, 27 May 2020 21:49:40 +0200 Subject: [PATCH 27/30] Added reload instead of goto --- core/util/runPuppet.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index e656d6b6d..022ce1d6b 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -129,9 +129,12 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar bypass = '?bypassCache=' + Date.now() } - console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); + // Open the URL for a first time await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); - var request = await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); + + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); + + var request = await page.reload(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); if (config.reloadOnError.enabled) { // Check the status of the request From 5b53953fd5e7dce037e0bf2eed9417154c32b5f9 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 2 Jun 2020 16:32:32 +0200 Subject: [PATCH 28/30] Refresh page, hard reload from the JS --- core/util/runPuppet.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 022ce1d6b..799ec71c7 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -119,6 +119,9 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar url = scenario.referenceUrl; } + // Open the URL for a first time + await page.goto(translateUrl(url), {waitUntil: 'networkidle0'}); + // Add random string to the URL // It will allow to bypass cache var bypass = ""; @@ -131,7 +134,8 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar // Open the URL for a first time await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); - + await page.evaluate(`location.reload(true);`); + console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); var request = await page.reload(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); From f99b47bd9ff3562e04a69f9090c73e7b5a63cb16 Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Tue, 2 Jun 2020 16:50:22 +0200 Subject: [PATCH 29/30] Updated puppeteer version --- package-lock.json | 450 ++++++++++++++++++++++++++++++++++++++-------- package.json | 4 + 2 files changed, 384 insertions(+), 70 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39ec1c41e..cc7295c78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -104,6 +104,15 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -345,6 +354,7 @@ } }, "agent-base": { +<<<<<<< HEAD "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", @@ -366,6 +376,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } +======= + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" +>>>>>>> f3955d6 (Updated puppeteer version) }, "ajv": { "version": "6.5.4", @@ -1644,8 +1659,7 @@ "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" }, "batch": { "version": "0.6.1", @@ -1666,15 +1680,22 @@ "dev": true }, "bl": { +<<<<<<< HEAD "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", +======= + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" }, "dependencies": { +<<<<<<< HEAD "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -1694,6 +1715,17 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, +======= + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, +>>>>>>> f3955d6 (Updated puppeteer version) "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -1708,6 +1740,22 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } +<<<<<<< HEAD +======= + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } +>>>>>>> f3955d6 (Updated puppeteer version) } } }, @@ -1886,6 +1934,14 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" +<<<<<<< HEAD +======= + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" +>>>>>>> f3955d6 (Updated puppeteer version) }, "buffer-from": { "version": "1.1.1", @@ -2069,9 +2125,15 @@ } }, "chownr": { +<<<<<<< HEAD "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" +======= + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" +>>>>>>> f3955d6 (Updated puppeteer version) }, "chrome-trace-event": { "version": "1.0.2", @@ -4030,9 +4092,15 @@ } }, "extract-zip": { +<<<<<<< HEAD "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", +======= + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "@types/yauzl": "^2.9.1", "debug": "^4.1.1", @@ -4041,6 +4109,7 @@ }, "dependencies": { "debug": { +<<<<<<< HEAD "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", @@ -4052,14 +4121,38 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", +======= + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "pump": "^3.0.0" } }, +<<<<<<< HEAD "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" +======= + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } +>>>>>>> f3955d6 (Updated puppeteer version) } } }, @@ -4435,25 +4528,29 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -4463,13 +4560,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, "requires": { @@ -4479,37 +4578,43 @@ }, "chownr": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, "requires": { @@ -4518,25 +4623,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -4545,13 +4654,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -4567,7 +4678,8 @@ }, "glob": { "version": "7.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, "requires": { @@ -4581,13 +4693,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -4596,7 +4710,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -4605,7 +4720,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -4615,19 +4731,22 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -4636,13 +4755,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -4651,13 +4772,15 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true }, "minipass": { "version": "2.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "optional": true, "requires": { @@ -4667,7 +4790,8 @@ }, "minizlib": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "optional": true, "requires": { @@ -4676,7 +4800,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, "requires": { @@ -4685,7 +4810,8 @@ }, "ms": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true }, @@ -4698,7 +4824,8 @@ }, "needle": { "version": "2.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, "requires": { @@ -4709,7 +4836,8 @@ }, "node-pre-gyp": { "version": "0.12.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, "requires": { @@ -4727,7 +4855,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -4737,13 +4866,15 @@ }, "npm-bundled": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, "requires": { @@ -4753,7 +4884,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -4765,19 +4897,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -4786,19 +4921,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -4808,19 +4946,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -4832,7 +4973,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -4840,7 +4982,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -4855,7 +4998,8 @@ }, "rimraf": { "version": "2.6.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, "requires": { @@ -4864,43 +5008,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -4911,7 +5062,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -4920,7 +5072,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -4929,13 +5082,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "dev": true, "optional": true, "requires": { @@ -4950,13 +5105,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -4965,13 +5122,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true, "optional": true } @@ -5405,18 +5564,32 @@ "dev": true }, "https-proxy-agent": { +<<<<<<< HEAD "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "requires": { "agent-base": "6", +======= + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "requires": { + "agent-base": "5", +>>>>>>> f3955d6 (Updated puppeteer version) "debug": "4" }, "dependencies": { "debug": { +<<<<<<< HEAD "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", +======= + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "ms": "2.1.2" } @@ -5437,8 +5610,7 @@ "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "iferr": { "version": "0.1.5", @@ -8811,6 +8983,7 @@ "dev": true }, "puppeteer": { +<<<<<<< HEAD "version": "7.1.0", "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-7.1.0.tgz", "integrity": "sha512-lqOLzqCKdh7yUAHvK6LxgOpQrL8Bv1/jvS8MLDXxcNms2rlM3E8p/Wlwc7efbRZ0twxTzUeqjN5EqrTwxOwc9g==", @@ -8823,6 +8996,18 @@ "pkg-dir": "^4.2.0", "progress": "^2.0.1", "proxy-from-env": "^1.1.0", +======= + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-3.3.0.tgz", + "integrity": "sha512-23zNqRltZ1PPoK28uRefWJ/zKb5Jhnzbbwbpcna2o5+QMn17F0khq5s1bdH3vPlyj+J36pubccR8wiNA/VE0Vw==", + "requires": { + "debug": "^4.1.0", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", +>>>>>>> f3955d6 (Updated puppeteer version) "rimraf": "^3.0.2", "tar-fs": "^2.0.0", "unbzip2-stream": "^1.3.3", @@ -8837,6 +9022,7 @@ "ms": "2.1.2" } }, +<<<<<<< HEAD "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -8850,6 +9036,17 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", +======= + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "p-locate": "^4.1.0" } @@ -10568,13 +10765,20 @@ "dev": true }, "tar-fs": { +<<<<<<< HEAD "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", +======= + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz", + "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==", +>>>>>>> f3955d6 (Updated puppeteer version) "requires": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", +<<<<<<< HEAD "tar-stream": "^2.1.4" } }, @@ -10584,6 +10788,28 @@ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", +======= + "tar-stream": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "tar-stream": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", + "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", + "requires": { + "bl": "^4.0.1", +>>>>>>> f3955d6 (Updated puppeteer version) "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", @@ -10599,6 +10825,22 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } +<<<<<<< HEAD +======= + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } +>>>>>>> f3955d6 (Updated puppeteer version) } } }, @@ -10611,10 +10853,28 @@ "rimraf": "~2.2.6" } }, +<<<<<<< HEAD "terser": { "version": "4.6.12", "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.12.tgz", "integrity": "sha512-fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww==", +======= + "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": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", +>>>>>>> f3955d6 (Updated puppeteer version) "dev": true, "requires": { "commander": "^2.20.0", @@ -10960,6 +11220,34 @@ } } }, +<<<<<<< HEAD +======= + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, +>>>>>>> f3955d6 (Updated puppeteer version) "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -12065,9 +12353,31 @@ } }, "ws": { +<<<<<<< HEAD "version": "7.4.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==" +======= + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", + "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==" + }, + "xhr": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz", + "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" +>>>>>>> f3955d6 (Updated puppeteer version) }, "xmlbuilder": { "version": "10.1.1", diff --git a/package.json b/package.json index 7275ce098..a7310914a 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,11 @@ "p-map": "^1.1.1", "path": "^0.12.7", "portfinder": "^1.0.17", +<<<<<<< HEAD "puppeteer": "^7.1.0", +======= + "puppeteer": "^3.3.0", +>>>>>>> f3955d6 (Updated puppeteer version) "resolve": "^1.11.1", "super-simple-web-server": "^1.1.2", "temp": "^0.8.3" From 1cd3dcc7fee9b2434b74fab233fd420a361c92cd Mon Sep 17 00:00:00 2001 From: Wojciech Sapiechowski Date: Mon, 6 Jul 2020 08:14:03 +0200 Subject: [PATCH 30/30] Do not reload --- core/util/runPuppet.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index 799ec71c7..1afcb7448 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -133,7 +133,6 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } // Open the URL for a first time - await page.goto(translateUrl(url) + bypass, {waitUntil: 'networkidle0'}); await page.evaluate(`location.reload(true);`); console.log(chalk.green('Opening URL:', translateUrl(url) + bypass)); @@ -170,7 +169,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar } } - await page.waitFor(2000); + // await page.waitFor(2000); await injectBackstopTools(page);