@letsscrapedata/controller 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -17194,6 +17194,7 @@ var LsdBrowserController = class _LsdBrowserController {
17194
17194
  args = [],
17195
17195
  executablePath = "",
17196
17196
  headless = false,
17197
+ minBrowserContexts = 1,
17197
17198
  // incognito
17198
17199
  proxy = null,
17199
17200
  proxyPerBrowserContext = false,
@@ -17217,6 +17218,7 @@ var LsdBrowserController = class _LsdBrowserController {
17217
17218
  (0, import_utils15.logwarn)(`Please use options.userDataDir instead when launching new browser.`);
17218
17219
  args.splice(idx, 1);
17219
17220
  }
17221
+ let lsdBrowser;
17220
17222
  if (browserControllerType === "playwright") {
17221
17223
  const launchOptions = { headless, timeout };
17222
17224
  if (executablePath) {
@@ -17242,8 +17244,7 @@ var LsdBrowserController = class _LsdBrowserController {
17242
17244
  actOptions.executablePath = playwrightBrowserType.executablePath();
17243
17245
  }
17244
17246
  const browser = await playwrightBrowserType.launch(launchOptions);
17245
- const lsdBrowser = new PlaywrightBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17246
- return lsdBrowser;
17247
+ lsdBrowser = new PlaywrightBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17247
17248
  } else if (browserControllerType === "puppeteer") {
17248
17249
  const product = this.#puppeteerProduct(browserType);
17249
17250
  const launchOptions = { headless, timeout, product };
@@ -17269,11 +17270,14 @@ var LsdBrowserController = class _LsdBrowserController {
17269
17270
  actOptions.executablePath = import_puppeteer.default.executablePath();
17270
17271
  }
17271
17272
  const browser = await import_puppeteer.default.launch(launchOptions);
17272
- const lsdBrowser = new PuppeteerBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17273
- return lsdBrowser;
17273
+ lsdBrowser = new PuppeteerBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17274
17274
  } else {
17275
17275
  throw new Error(`Invalid browserControllerType: ${browserControllerType} in launch`);
17276
17276
  }
17277
+ for (let i = lsdBrowser.browserContexts().length; i < minBrowserContexts; i++) {
17278
+ lsdBrowser.newBrowserContext();
17279
+ }
17280
+ return lsdBrowser;
17277
17281
  }
17278
17282
  async connect(browserControllerType, browserType, options) {
17279
17283
  const { browserUrl } = options;
package/dist/index.d.cts CHANGED
@@ -80,6 +80,11 @@ interface LsdLaunchOptions extends BrowserOptions {
80
80
  * @default true
81
81
  */
82
82
  headless?: boolean;
83
+ /**
84
+ * min number of browserContexts
85
+ * @default 1
86
+ */
87
+ minBrowserContexts?: number;
83
88
  /** * @default false for puppeteer, true for playwright
84
89
  */
85
90
  incognito?: boolean;
package/dist/index.d.ts CHANGED
@@ -80,6 +80,11 @@ interface LsdLaunchOptions extends BrowserOptions {
80
80
  * @default true
81
81
  */
82
82
  headless?: boolean;
83
+ /**
84
+ * min number of browserContexts
85
+ * @default 1
86
+ */
87
+ minBrowserContexts?: number;
83
88
  /** * @default false for puppeteer, true for playwright
84
89
  */
85
90
  incognito?: boolean;
package/dist/index.js CHANGED
@@ -17174,6 +17174,7 @@ var LsdBrowserController = class _LsdBrowserController {
17174
17174
  args = [],
17175
17175
  executablePath = "",
17176
17176
  headless = false,
17177
+ minBrowserContexts = 1,
17177
17178
  // incognito
17178
17179
  proxy = null,
17179
17180
  proxyPerBrowserContext = false,
@@ -17197,6 +17198,7 @@ var LsdBrowserController = class _LsdBrowserController {
17197
17198
  logwarn6(`Please use options.userDataDir instead when launching new browser.`);
17198
17199
  args.splice(idx, 1);
17199
17200
  }
17201
+ let lsdBrowser;
17200
17202
  if (browserControllerType === "playwright") {
17201
17203
  const launchOptions = { headless, timeout };
17202
17204
  if (executablePath) {
@@ -17222,8 +17224,7 @@ var LsdBrowserController = class _LsdBrowserController {
17222
17224
  actOptions.executablePath = playwrightBrowserType.executablePath();
17223
17225
  }
17224
17226
  const browser = await playwrightBrowserType.launch(launchOptions);
17225
- const lsdBrowser = new PlaywrightBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17226
- return lsdBrowser;
17227
+ lsdBrowser = new PlaywrightBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17227
17228
  } else if (browserControllerType === "puppeteer") {
17228
17229
  const product = this.#puppeteerProduct(browserType);
17229
17230
  const launchOptions = { headless, timeout, product };
@@ -17249,11 +17250,14 @@ var LsdBrowserController = class _LsdBrowserController {
17249
17250
  actOptions.executablePath = puppeteer.executablePath();
17250
17251
  }
17251
17252
  const browser = await puppeteer.launch(launchOptions);
17252
- const lsdBrowser = new PuppeteerBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17253
- return lsdBrowser;
17253
+ lsdBrowser = new PuppeteerBrowser(browser, browserType, "launch", actOptions, this.#nextBrowserIdx++);
17254
17254
  } else {
17255
17255
  throw new Error(`Invalid browserControllerType: ${browserControllerType} in launch`);
17256
17256
  }
17257
+ for (let i = lsdBrowser.browserContexts().length; i < minBrowserContexts; i++) {
17258
+ lsdBrowser.newBrowserContext();
17259
+ }
17260
+ return lsdBrowser;
17257
17261
  }
17258
17262
  async connect(browserControllerType, browserType, options) {
17259
17263
  const { browserUrl } = options;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letsscrapedata/controller",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "description": "Unified browser / HTML controller interfaces that support playwright, puppeteer and cheerio",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",