puppeteer-pro 2.3.11 → 2.3.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "puppeteer-pro",
3
- "version": "2.3.11",
3
+ "version": "2.3.12",
4
4
  "description": "A simple puppeteer wrapper to enable useful plugins with ease",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -44,14 +44,14 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/jest": "^30.0.0",
47
- "@types/node": "^24.5.1",
47
+ "@types/node": "^24.5.2",
48
48
  "@types/user-agents": "^1.0.4",
49
49
  "copyfiles": "^2.4.1",
50
50
  "dotenv-safe": "^9.1.0",
51
- "eslint-config-final": "^1.6.14",
51
+ "eslint-config-final": "^1.6.15",
52
52
  "jest": "^30.1.3",
53
- "puppeteer": "^24.20.0",
54
- "ts-jest": "^29.4.2",
53
+ "puppeteer": "^24.22.3",
54
+ "ts-jest": "^29.4.4",
55
55
  "ts-node": "^10.9.2",
56
56
  "typescript": "^5.9.2"
57
57
  }
@@ -31,20 +31,20 @@ class AnonymizeUserAgentPlugin extends __1.Plugin {
31
31
  const userAgent = await page.browser().userAgent();
32
32
  const newUserAgent = this.userAgent || userAgent.replace('HeadlessChrome/', 'Chrome/').replace(/\(([^)]+)\)/, '(Windows NT 10.0; Win64; x64)');
33
33
  this.pages.push({ target: page, userAgent, newUserAgent });
34
- await page.setUserAgent(newUserAgent);
34
+ await page.setUserAgent({ userAgent: newUserAgent });
35
35
  }
36
36
  async beforeRestart() {
37
37
  for (const page of this.pages) {
38
38
  if (page.target.isClosed())
39
39
  continue;
40
- await page.target.setUserAgent(page.newUserAgent);
40
+ await page.target.setUserAgent({ userAgent: page.newUserAgent });
41
41
  }
42
42
  }
43
43
  async afterStop() {
44
44
  for (const page of this.pages) {
45
45
  if (page.target.isClosed())
46
46
  continue;
47
- await page.target.setUserAgent(page.userAgent);
47
+ await page.target.setUserAgent({ userAgent: page.userAgent });
48
48
  }
49
49
  }
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/anonymize.user.agent/index.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,yCAA0C;AAE1C,6BAA8D;AAE9D,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAQnG,MAAa,wBAAyB,SAAQ,UAAM;IAIlD;QACE,KAAK,EAAE,CAAC;QAJF,UAAK,GAAoB,EAAE,CAAC;QAMlC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,OAAiC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,KAAK,IAAmB,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,IAAU;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAC;QAE/I,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAES,KAAK,CAAC,aAAa;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,SAAS;YAErC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAES,KAAK,CAAC,SAAS;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,SAAS;YAErC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAnDD,4DAmDC","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-require-imports\r\nimport UserAgent = require('user-agents');\r\n\r\nimport { Browser, BrowserContext, Page, Plugin } from '../..';\r\n\r\nconst sleep = (time: number) => { return new Promise(resolve => { setTimeout(resolve, time); }); };\r\n\r\ninterface PageUserAgent {\r\n target: Page;\r\n userAgent: string;\r\n newUserAgent: string;\r\n}\r\n\r\nexport class AnonymizeUserAgentPlugin extends Plugin {\r\n private pages: PageUserAgent[] = [];\r\n private userAgent?: string;\r\n\r\n constructor() {\r\n super();\r\n\r\n try {\r\n this.userAgent = new UserAgent({ vendor: 'Google Inc.', platform: 'Win32' }).toString();\r\n } catch (_ex) {\r\n console.warn('Could not create a random user agent');\r\n }\r\n }\r\n\r\n protected async afterLaunch(browser: Browser | BrowserContext) {\r\n const _newPage = browser.newPage;\r\n browser.newPage = async (): Promise<Page> => {\r\n const page = await _newPage.apply(browser);\r\n await sleep(100); // Sleep to allow user agent to set\r\n return page;\r\n };\r\n }\r\n\r\n protected async onClose() {\r\n this.pages = [];\r\n }\r\n\r\n protected async onPageCreated(page: Page) {\r\n const userAgent = await page.browser().userAgent();\r\n const newUserAgent = this.userAgent || userAgent.replace('HeadlessChrome/', 'Chrome/').replace(/\\(([^)]+)\\)/, '(Windows NT 10.0; Win64; x64)');\r\n\r\n this.pages.push({ target: page, userAgent, newUserAgent });\r\n\r\n await page.setUserAgent(newUserAgent);\r\n }\r\n\r\n protected async beforeRestart() {\r\n for (const page of this.pages) {\r\n if (page.target.isClosed()) continue;\r\n\r\n await page.target.setUserAgent(page.newUserAgent);\r\n }\r\n }\r\n\r\n protected async afterStop() {\r\n for (const page of this.pages) {\r\n if (page.target.isClosed()) continue;\r\n\r\n await page.target.setUserAgent(page.userAgent);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/anonymize.user.agent/index.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,yCAA0C;AAE1C,6BAA8D;AAE9D,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAQnG,MAAa,wBAAyB,SAAQ,UAAM;IAIlD;QACE,KAAK,EAAE,CAAC;QAJF,UAAK,GAAoB,EAAE,CAAC;QAMlC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,OAAiC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,KAAK,IAAmB,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,IAAU;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAC;QAE/I,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;IAES,KAAK,CAAC,aAAa;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,SAAS;YAErC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAES,KAAK,CAAC,SAAS;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,SAAS;YAErC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF;AAnDD,4DAmDC","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-require-imports\r\nimport UserAgent = require('user-agents');\r\n\r\nimport { Browser, BrowserContext, Page, Plugin } from '../..';\r\n\r\nconst sleep = (time: number) => { return new Promise(resolve => { setTimeout(resolve, time); }); };\r\n\r\ninterface PageUserAgent {\r\n target: Page;\r\n userAgent: string;\r\n newUserAgent: string;\r\n}\r\n\r\nexport class AnonymizeUserAgentPlugin extends Plugin {\r\n private pages: PageUserAgent[] = [];\r\n private userAgent?: string;\r\n\r\n constructor() {\r\n super();\r\n\r\n try {\r\n this.userAgent = new UserAgent({ vendor: 'Google Inc.', platform: 'Win32' }).toString();\r\n } catch (_ex) {\r\n console.warn('Could not create a random user agent');\r\n }\r\n }\r\n\r\n protected async afterLaunch(browser: Browser | BrowserContext) {\r\n const _newPage = browser.newPage;\r\n browser.newPage = async (): Promise<Page> => {\r\n const page = await _newPage.apply(browser);\r\n await sleep(100); // Sleep to allow user agent to set\r\n return page;\r\n };\r\n }\r\n\r\n protected async onClose() {\r\n this.pages = [];\r\n }\r\n\r\n protected async onPageCreated(page: Page) {\r\n const userAgent = await page.browser().userAgent();\r\n const newUserAgent = this.userAgent || userAgent.replace('HeadlessChrome/', 'Chrome/').replace(/\\(([^)]+)\\)/, '(Windows NT 10.0; Win64; x64)');\r\n\r\n this.pages.push({ target: page, userAgent, newUserAgent });\r\n\r\n await page.setUserAgent({ userAgent: newUserAgent });\r\n }\r\n\r\n protected async beforeRestart() {\r\n for (const page of this.pages) {\r\n if (page.target.isClosed()) continue;\r\n\r\n await page.target.setUserAgent({ userAgent: page.newUserAgent });\r\n }\r\n }\r\n\r\n protected async afterStop() {\r\n for (const page of this.pages) {\r\n if (page.target.isClosed()) continue;\r\n\r\n await page.target.setUserAgent({ userAgent: page.userAgent });\r\n }\r\n }\r\n}\r\n"]}