@letsscrapedata/controller 0.0.22 → 0.0.24

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
@@ -1481,6 +1481,9 @@ var PlaywrightBrowser = class extends import_node_events3.default {
1481
1481
  return null;
1482
1482
  }
1483
1483
  const browserContextOptions = {};
1484
+ if (this.#options.args?.includes("--start-maximized")) {
1485
+ browserContextOptions.viewport = null;
1486
+ }
1484
1487
  const proxy = options?.proxy ? Object.assign({}, options.proxy) : this.#proxy;
1485
1488
  if (proxy) {
1486
1489
  const { server, username, password } = proxy;
@@ -16990,6 +16993,11 @@ var CheerioElement = class _CheerioElement {
16990
16993
  // src/cheerio/page.ts
16991
16994
  var CheerioPage = class extends import_node_events7.default {
16992
16995
  #document;
16996
+ /**
16997
+ *
16998
+ * @param html default ""
16999
+ * @param isHtml default true
17000
+ */
16993
17001
  constructor(html3 = "", isHtml2 = true) {
16994
17002
  super();
16995
17003
  if (isHtml2) {
@@ -17221,6 +17229,7 @@ var LsdBrowserController = class _LsdBrowserController {
17221
17229
  maxBrowserContextsPerBrowser = 10,
17222
17230
  maxPagesPerBrowserContext = 20,
17223
17231
  maxPageFreeSeconds = 900,
17232
+ maxViewportOfNewPage = false,
17224
17233
  proxy = null,
17225
17234
  timeout = 3e4,
17226
17235
  args = [],
@@ -17233,7 +17242,7 @@ var LsdBrowserController = class _LsdBrowserController {
17233
17242
  userAgent = ""
17234
17243
  } = options ? options : {};
17235
17244
  const incognito = typeof options?.incognito === "boolean" ? options.incognito : browserControllerType === "puppeteer" ? false : true;
17236
- const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
17245
+ const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, maxViewportOfNewPage, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
17237
17246
  let idx = args.findIndex((arg) => arg.toLowerCase().startsWith("--incoginto"));
17238
17247
  if (idx >= 0) {
17239
17248
  (0, import_utils15.logwarn)(`Please use options.incognito instead when launching new browser.`);
@@ -17279,6 +17288,9 @@ var LsdBrowserController = class _LsdBrowserController {
17279
17288
  } else if (browserControllerType === "puppeteer") {
17280
17289
  const product = this.#puppeteerProduct(browserType);
17281
17290
  const launchOptions = { headless, timeout, product };
17291
+ if (actOptions.args?.includes("--start-maximized")) {
17292
+ launchOptions.defaultViewport = null;
17293
+ }
17282
17294
  if (executablePath) {
17283
17295
  launchOptions.executablePath = executablePath;
17284
17296
  }
@@ -17316,6 +17328,7 @@ var LsdBrowserController = class _LsdBrowserController {
17316
17328
  maxBrowserContextsPerBrowser = 10,
17317
17329
  maxPagesPerBrowserContext = 20,
17318
17330
  maxPageFreeSeconds = 900,
17331
+ maxViewportOfNewPage = false,
17319
17332
  proxy = null,
17320
17333
  timeout = 3e4,
17321
17334
  browserUrl,
@@ -17327,7 +17340,7 @@ var LsdBrowserController = class _LsdBrowserController {
17327
17340
  if (typeof browserUrl !== "string" || !browserUrl.toLowerCase().startsWith("http://")) {
17328
17341
  throw new Error(`Invalid browserUrl ${browserUrl} in connect`);
17329
17342
  }
17330
- const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
17343
+ const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, maxViewportOfNewPage, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
17331
17344
  if (browserControllerType === "playwright") {
17332
17345
  const playwrightBrowserType = this.#playwrightBrowserType(browserType, true);
17333
17346
  const browser = await playwrightBrowserType.connectOverCDP(browserUrl);
package/dist/index.d.cts CHANGED
@@ -811,6 +811,8 @@ interface LsdPage extends EventEmitter {
811
811
  isFree(): boolean;
812
812
  /**
813
813
  * valid only in CheerioPage
814
+ * @param html
815
+ * @param isHtml default true
814
816
  */
815
817
  load(html: string, isHtml?: boolean): boolean;
816
818
  localStroage(): Promise<LocalStorageOrigin[]>;
@@ -1174,6 +1176,11 @@ declare class PuppeteerElement implements LsdElement {
1174
1176
 
1175
1177
  declare class CheerioPage extends EventEmitter implements LsdPage {
1176
1178
  #private;
1179
+ /**
1180
+ *
1181
+ * @param html default ""
1182
+ * @param isHtml default true
1183
+ */
1177
1184
  constructor(html?: string, isHtml?: boolean);
1178
1185
  bringToFront(): Promise<boolean>;
1179
1186
  browserContext(): LsdBrowserContext;
package/dist/index.d.ts CHANGED
@@ -811,6 +811,8 @@ interface LsdPage extends EventEmitter {
811
811
  isFree(): boolean;
812
812
  /**
813
813
  * valid only in CheerioPage
814
+ * @param html
815
+ * @param isHtml default true
814
816
  */
815
817
  load(html: string, isHtml?: boolean): boolean;
816
818
  localStroage(): Promise<LocalStorageOrigin[]>;
@@ -1174,6 +1176,11 @@ declare class PuppeteerElement implements LsdElement {
1174
1176
 
1175
1177
  declare class CheerioPage extends EventEmitter implements LsdPage {
1176
1178
  #private;
1179
+ /**
1180
+ *
1181
+ * @param html default ""
1182
+ * @param isHtml default true
1183
+ */
1177
1184
  constructor(html?: string, isHtml?: boolean);
1178
1185
  bringToFront(): Promise<boolean>;
1179
1186
  browserContext(): LsdBrowserContext;
package/dist/index.js CHANGED
@@ -1461,6 +1461,9 @@ var PlaywrightBrowser = class extends EventEmitter3 {
1461
1461
  return null;
1462
1462
  }
1463
1463
  const browserContextOptions = {};
1464
+ if (this.#options.args?.includes("--start-maximized")) {
1465
+ browserContextOptions.viewport = null;
1466
+ }
1464
1467
  const proxy = options?.proxy ? Object.assign({}, options.proxy) : this.#proxy;
1465
1468
  if (proxy) {
1466
1469
  const { server, username, password } = proxy;
@@ -16970,6 +16973,11 @@ var CheerioElement = class _CheerioElement {
16970
16973
  // src/cheerio/page.ts
16971
16974
  var CheerioPage = class extends EventEmitter7 {
16972
16975
  #document;
16976
+ /**
16977
+ *
16978
+ * @param html default ""
16979
+ * @param isHtml default true
16980
+ */
16973
16981
  constructor(html3 = "", isHtml2 = true) {
16974
16982
  super();
16975
16983
  if (isHtml2) {
@@ -17201,6 +17209,7 @@ var LsdBrowserController = class _LsdBrowserController {
17201
17209
  maxBrowserContextsPerBrowser = 10,
17202
17210
  maxPagesPerBrowserContext = 20,
17203
17211
  maxPageFreeSeconds = 900,
17212
+ maxViewportOfNewPage = false,
17204
17213
  proxy = null,
17205
17214
  timeout = 3e4,
17206
17215
  args = [],
@@ -17213,7 +17222,7 @@ var LsdBrowserController = class _LsdBrowserController {
17213
17222
  userAgent = ""
17214
17223
  } = options ? options : {};
17215
17224
  const incognito = typeof options?.incognito === "boolean" ? options.incognito : browserControllerType === "puppeteer" ? false : true;
17216
- const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
17225
+ const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, maxViewportOfNewPage, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
17217
17226
  let idx = args.findIndex((arg) => arg.toLowerCase().startsWith("--incoginto"));
17218
17227
  if (idx >= 0) {
17219
17228
  logwarn6(`Please use options.incognito instead when launching new browser.`);
@@ -17259,6 +17268,9 @@ var LsdBrowserController = class _LsdBrowserController {
17259
17268
  } else if (browserControllerType === "puppeteer") {
17260
17269
  const product = this.#puppeteerProduct(browserType);
17261
17270
  const launchOptions = { headless, timeout, product };
17271
+ if (actOptions.args?.includes("--start-maximized")) {
17272
+ launchOptions.defaultViewport = null;
17273
+ }
17262
17274
  if (executablePath) {
17263
17275
  launchOptions.executablePath = executablePath;
17264
17276
  }
@@ -17296,6 +17308,7 @@ var LsdBrowserController = class _LsdBrowserController {
17296
17308
  maxBrowserContextsPerBrowser = 10,
17297
17309
  maxPagesPerBrowserContext = 20,
17298
17310
  maxPageFreeSeconds = 900,
17311
+ maxViewportOfNewPage = false,
17299
17312
  proxy = null,
17300
17313
  timeout = 3e4,
17301
17314
  browserUrl,
@@ -17307,7 +17320,7 @@ var LsdBrowserController = class _LsdBrowserController {
17307
17320
  if (typeof browserUrl !== "string" || !browserUrl.toLowerCase().startsWith("http://")) {
17308
17321
  throw new Error(`Invalid browserUrl ${browserUrl} in connect`);
17309
17322
  }
17310
- const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
17323
+ const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, maxViewportOfNewPage, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
17311
17324
  if (browserControllerType === "playwright") {
17312
17325
  const playwrightBrowserType = this.#playwrightBrowserType(browserType, true);
17313
17326
  const browser = await playwrightBrowserType.connectOverCDP(browserUrl);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letsscrapedata/controller",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "Unified browser / HTML controller interfaces that support playwright, puppeteer and cheerio",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",