From 35a5762eebcc1bbcfe10535884849ba328f827bd Mon Sep 17 00:00:00 2001 From: angrykoala Date: Sat, 9 May 2020 14:08:21 +0200 Subject: [PATCH 1/3] Update minor dependencies --- CHANGELOG.md | 5 +++++ package.json | 14 +++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42197f3a..5087fd74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +2.12.1 / ####-##-## +=================== + +* Dependencies updated + 2.12.0 / 2020-04-26 =================== diff --git a/package.json b/package.json index b9842d26..bc47dba0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wendigo", - "version": "2.12.0", + "version": "2.12.1", "description": "A proper monster for front-end automated testing", "engines": { "node": ">=8.0.0" @@ -43,19 +43,19 @@ "dependencies": { "compositer": "^1.3.6", "is-class": "0.0.9", - "puppeteer": "~3.0.1" + "puppeteer": "~3.0.4" }, "devDependencies": { "@types/mocha": "^7.0.2", - "@types/node": "^13.13.2", + "@types/node": "^13.13.5", "@types/puppeteer": "~2.0.1", "basic-auth": "^2.0.1", - "eslint": "^6.8.0", + "eslint": "^7.0.0", "express": "^4.17.1", - "markdownlint-cli": "^0.22.0", - "mocha": "^7.1.1", + "markdownlint-cli": "^0.23.0", + "mocha": "^7.1.2", "sinon": "^9.0.2", - "tslint": "^6.1.1", + "tslint": "^6.1.2", "typescript": "^3.8.3" } } From 1d6ee241471c8150f08cea594da3a82b6eb61ef9 Mon Sep 17 00:00:00 2001 From: angrykoala Date: Sat, 9 May 2020 14:16:12 +0200 Subject: [PATCH 2/3] PuppeteerLauncher wrapper --- CHANGELOG.md | 1 + lib/puppeteer_wrapper/puppeteer_launcher.ts | 22 +++++++++++++++++++++ lib/wendigo.ts | 20 ++++--------------- 3 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 lib/puppeteer_wrapper/puppeteer_launcher.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 5087fd74..147fe60e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ =================== * Dependencies updated +* Minor wrapper to puppeteer launch 2.12.0 / 2020-04-26 =================== diff --git a/lib/puppeteer_wrapper/puppeteer_launcher.ts b/lib/puppeteer_wrapper/puppeteer_launcher.ts new file mode 100644 index 00000000..19b7183b --- /dev/null +++ b/lib/puppeteer_wrapper/puppeteer_launcher.ts @@ -0,0 +1,22 @@ +import puppeteer from 'puppeteer'; +import { FinalBrowserSettings } from '../types'; +import PuppeteerContext from './puppeteer_context'; +import { BrowserContext } from './puppeteer_types'; +export class PuppeteerLauncher { + + public async launch(settings: FinalBrowserSettings): Promise { + let instance; + try { + instance = await puppeteer.launch(settings); + } catch (err) { + // retry to avoid one-off _dl_allocate_tls_init error + instance = await puppeteer.launch(settings); + } + let context: BrowserContext; + if (settings.incognito) { + context = await instance.createIncognitoBrowserContext(); + } else context = instance.defaultBrowserContext(); + + return new PuppeteerContext(context); + } +} diff --git a/lib/wendigo.ts b/lib/wendigo.ts index 0fcd10eb..0b3fa8ba 100644 --- a/lib/wendigo.ts +++ b/lib/wendigo.ts @@ -1,11 +1,10 @@ import process from 'process'; -import puppeteer from 'puppeteer'; -import { BrowserContext } from './puppeteer_wrapper/puppeteer_types'; import BrowserFactory from './browser_factory'; import * as Errors from './models/errors'; import { WendigoPluginInterface, BrowserSettings, DefaultBrowserSettings, FinalBrowserSettings, WendigoPluginAssertionInterface, PluginModule } from './types'; import BrowserInterface from './browser/browser_interface'; import PuppeteerContext from './puppeteer_wrapper/puppeteer_context'; +import { PuppeteerLauncher } from './puppeteer_wrapper/puppeteer_launcher'; const defaultSettings: DefaultBrowserSettings = { log: false, @@ -97,20 +96,9 @@ export default class Wendigo { } } - private async _createInstance(settings: FinalBrowserSettings): Promise { - let instance; - try { - instance = await puppeteer.launch(settings); - } catch (err) { - // retry to avoid one-off _dl_allocate_tls_init error - instance = await puppeteer.launch(settings); - } - let context: BrowserContext; - if (settings.incognito) { - context = await instance.createIncognitoBrowserContext(); - } else context = instance.defaultBrowserContext(); - - return new PuppeteerContext(context); + private _createInstance(settings: FinalBrowserSettings): Promise { + const launcher = new PuppeteerLauncher() + return launcher.launch(settings); } private _removeBrowser(browser: BrowserInterface): void { From c02b4b4bd3ab44af41f8351623d3f7d95aa35ecf Mon Sep 17 00:00:00 2001 From: angrykoala Date: Sun, 7 Jun 2020 18:08:30 +0200 Subject: [PATCH 3/3] Dependencies updated and release 2.12.1 --- CHANGELOG.md | 2 +- package.json | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 147fe60e..b61fa087 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -2.12.1 / ####-##-## +2.12.1 / 2020-07-06 =================== * Dependencies updated diff --git a/package.json b/package.json index bc47dba0..f1c7aef2 100644 --- a/package.json +++ b/package.json @@ -43,19 +43,19 @@ "dependencies": { "compositer": "^1.3.6", "is-class": "0.0.9", - "puppeteer": "~3.0.4" + "puppeteer": "~3.3.0" }, "devDependencies": { "@types/mocha": "^7.0.2", - "@types/node": "^13.13.5", - "@types/puppeteer": "~2.0.1", + "@types/node": "^14.0.11", + "@types/puppeteer": "~3.0.0", "basic-auth": "^2.0.1", - "eslint": "^7.0.0", + "eslint": "^7.2.0", "express": "^4.17.1", - "markdownlint-cli": "^0.23.0", - "mocha": "^7.1.2", + "markdownlint-cli": "^0.23.1", + "mocha": "^7.2.0", "sinon": "^9.0.2", "tslint": "^6.1.2", - "typescript": "^3.8.3" + "typescript": "^3.9.5" } }