From 68f18a78c127c492b98a30ea82df27975125d9c5 Mon Sep 17 00:00:00 2001 From: Szymon Marczak <36894700+szmarczak@users.noreply.github.com> Date: Tue, 28 Sep 2021 10:15:24 +0200 Subject: [PATCH 1/5] fix: browser profile leak --- package.json | 2 +- src/abstract-classes/browser-plugin.ts | 7 +------ src/launch-context.ts | 5 +---- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 2fe8536..30d51a6 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ }, "dependencies": { "@apify/log": "^1.1.1", - "fs-extra": "^10.0.0", "lodash.merge": "^4.6.2", "nanoid": "^3.1.25", "ow": "^0.27.0", @@ -60,6 +59,7 @@ "@typescript-eslint/eslint-plugin": "^4.29.1", "@typescript-eslint/parser": "^4.29.1", "eslint": "^7.32.0", + "fs-extra": "^10.0.0", "gen-esm-wrapper": "^1.1.2", "jest": "^27.0.6", "jest-circus": "^27.0.6", diff --git a/src/abstract-classes/browser-plugin.ts b/src/abstract-classes/browser-plugin.ts index 6758153..06d0505 100644 --- a/src/abstract-classes/browser-plugin.ts +++ b/src/abstract-classes/browser-plugin.ts @@ -1,5 +1,4 @@ import merge from 'lodash.merge'; -import { ensureDir } from 'fs-extra'; import { log } from '../logger'; import { LaunchContext, LaunchContextOptions } from '../launch-context'; import { BrowserController } from './browser-controller'; @@ -143,16 +142,12 @@ export abstract class BrowserPlugin< async launch( launchContext: LaunchContext = this.createLaunchContext(), ): Promise { - const { proxyUrl, useIncognitoPages, userDataDir } = launchContext; + const { proxyUrl } = launchContext; if (proxyUrl) { await this._addProxyToLaunchOptions(launchContext); } - if (!useIncognitoPages) { - await ensureDir(userDataDir); - } - return this._launch(launchContext); } diff --git a/src/launch-context.ts b/src/launch-context.ts index ecad5db..43de880 100644 --- a/src/launch-context.ts +++ b/src/launch-context.ts @@ -1,6 +1,3 @@ -import { join } from 'path'; -import { tmpdir } from 'os'; -import { nanoid } from 'nanoid'; import type { BrowserPlugin, CommonBrowser, CommonLibrary } from './abstract-classes/browser-plugin'; import { UnwrapPromise } from './utils'; @@ -77,7 +74,7 @@ export class LaunchContext< launchOptions, proxyUrl, useIncognitoPages, - userDataDir = join(tmpdir(), nanoid()), + userDataDir = '', } = options; this.id = id; From adb658b8d5bda01d8804f27ed052801fbea37de1 Mon Sep 17 00:00:00 2001 From: Szymon Marczak <36894700+szmarczak@users.noreply.github.com> Date: Tue, 28 Sep 2021 10:24:46 +0200 Subject: [PATCH 2/5] fix --- test/browser-plugins/plugins.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/browser-plugins/plugins.test.ts b/test/browser-plugins/plugins.test.ts index 686ba83..fc06452 100644 --- a/test/browser-plugins/plugins.test.ts +++ b/test/browser-plugins/plugins.test.ts @@ -84,7 +84,6 @@ const runPluginTest = < const context = plugin.createLaunchContext(); browser = await plugin.launch(context as never); - expect(fs.existsSync(context.userDataDir)).toBeTruthy(); await browser.close(); }); From 2a28b839c344735c8006ebe624ce07d0694e6d1d Mon Sep 17 00:00:00 2001 From: Szymon Marczak <36894700+szmarczak@users.noreply.github.com> Date: Tue, 28 Sep 2021 10:28:52 +0200 Subject: [PATCH 3/5] remove moot line --- test/browser-plugins/plugins.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/browser-plugins/plugins.test.ts b/test/browser-plugins/plugins.test.ts index fc06452..5a5ec03 100644 --- a/test/browser-plugins/plugins.test.ts +++ b/test/browser-plugins/plugins.test.ts @@ -1,6 +1,5 @@ import puppeteer from 'puppeteer'; import playwright from 'playwright'; -import fs from 'fs'; import { PuppeteerPlugin } from '../../src/puppeteer/puppeteer-plugin'; import { PuppeteerController } from '../../src/puppeteer/puppeteer-controller'; From d723c5db86f096a486ec9b6695b2c5bd7b9253d7 Mon Sep 17 00:00:00 2001 From: Szymon Marczak <36894700+szmarczak@users.noreply.github.com> Date: Thu, 30 Sep 2021 09:30:41 +0200 Subject: [PATCH 4/5] 2.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 30d51a6..8277234 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "browser-pool", - "version": "2.0.2", + "version": "2.0.3", "description": "Rotate multiple browsers using popular automation libraries such as Playwright or Puppeteer.", "main": "dist/index.js", "module": "dist/index.mjs", From fc4c3916798a09863b0e5f17295dc4e256d762bc Mon Sep 17 00:00:00 2001 From: Szymon Marczak <36894700+szmarczak@users.noreply.github.com> Date: Thu, 30 Sep 2021 11:52:04 +0200 Subject: [PATCH 5/5] remove moot test --- test/browser-plugins/plugins.test.ts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/test/browser-plugins/plugins.test.ts b/test/browser-plugins/plugins.test.ts index 5a5ec03..03d1e46 100644 --- a/test/browser-plugins/plugins.test.ts +++ b/test/browser-plugins/plugins.test.ts @@ -75,17 +75,6 @@ const runPluginTest = < expect(context.useIncognitoPages).toEqual(desiredObject.useIncognitoPages); }); - test('should create userDatadir', async () => { - plugin = new Plugin(library as never, { - useIncognitoPages: false, - }); - - const context = plugin.createLaunchContext(); - browser = await plugin.launch(context as never); - - await browser.close(); - }); - test('should get default launchContext values from plugin options', async () => { const proxyUrl = 'http://apify1234@10.10.10.0:8080/';