puppeteer-in-electron
Advanced tools
Comparing version 3.0.3 to 3.0.4
module.exports = { | ||
parser: "@typescript-eslint/parser", | ||
extends: [ | ||
"eslint:all", | ||
"eslint:recommended", | ||
"plugin:@typescript-eslint/recommended" | ||
@@ -27,3 +27,3 @@ ], | ||
"object-property-newline": "off", | ||
"object-curly-newline": ["error", { "multiline": true, "consistent": true }], | ||
"object-curly-newline": ["error", { multiline: true, consistent: true }], | ||
"multiline-ternary": "off", | ||
@@ -30,0 +30,0 @@ |
/// <reference types="electron" /> | ||
declare type App = import("electron").App; | ||
declare type BrowserWindow = import("electron").BrowserWindow; | ||
declare type BrowserView = import("electron").BrowserView; | ||
declare type Browser = import("puppeteer-core").Browser; | ||
declare type Page = import("puppeteer-core").Page; | ||
/** | ||
@@ -8,3 +13,3 @@ * Initialize the electron app to accept puppeteer/DevTools connections. | ||
*/ | ||
export declare const initialize: (app: Electron.App, port?: number) => Promise<void>; | ||
export declare const initialize: (app: App, port?: number) => Promise<void>; | ||
/** | ||
@@ -17,3 +22,3 @@ * Connects puppeteer to the electron app. Must call {@link initialize} before connecting. | ||
*/ | ||
export declare const connect: (app: Electron.App, puppeteer: typeof import("puppeteer-core")) => Promise<import("puppeteer").Browser>; | ||
export declare const connect: (app: App, puppeteer: typeof import("puppeteer-core")) => Promise<Browser>; | ||
/** | ||
@@ -28,8 +33,8 @@ * Given a BrowserWindow, find the corresponding puppeteer Page. It is undefined if external operations | ||
*/ | ||
export declare const getPage: (browser: import("puppeteer").Browser, window: Electron.BrowserView | Electron.BrowserWindow, allowBlankNavigate?: boolean) => Promise<import("puppeteer").Page>; | ||
export declare const getPage: (browser: Browser, window: BrowserWindow | BrowserView, allowBlankNavigate?: boolean) => Promise<Page>; | ||
declare const _default: { | ||
connect: (app: Electron.App, puppeteer: typeof import("puppeteer-core")) => Promise<import("puppeteer").Browser>; | ||
getPage: (browser: import("puppeteer").Browser, window: Electron.BrowserView | Electron.BrowserWindow, allowBlankNavigate?: boolean) => Promise<import("puppeteer").Page>; | ||
connect: (app: Electron.App, puppeteer: typeof import("puppeteer-core")) => Promise<import("puppeteer-core").Browser>; | ||
getPage: (browser: import("puppeteer-core").Browser, window: Electron.BrowserWindow | Electron.BrowserView, allowBlankNavigate?: boolean) => Promise<import("puppeteer-core").Page>; | ||
initialize: (app: Electron.App, port?: number) => Promise<void>; | ||
}; | ||
export default _default; |
@@ -6,6 +6,7 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getPage = exports.connect = exports.initialize = void 0; | ||
const get_port_1 = __importDefault(require("get-port")); | ||
const http_1 = __importDefault(require("http")); | ||
const async_retry_1 = __importDefault(require("async-retry")); | ||
const uuid_1 = __importDefault(require("uuid")); | ||
const uuid_1 = require("uuid"); | ||
const readJson = async (port) => new Promise((resolve, reject) => { | ||
@@ -33,3 +34,3 @@ let json = ""; | ||
*/ | ||
exports.initialize = async (app, port = 0) => { | ||
const initialize = async (app, port = 0) => { | ||
if (!app) { | ||
@@ -48,3 +49,3 @@ throw new Error("The parameter 'app' was not passed in. " + | ||
} | ||
const actualPort = port === 0 ? await get_port_1.default() : port; | ||
const actualPort = port === 0 ? await get_port_1.default({ host: "127.0.0.1" }) : port; | ||
app.commandLine.appendSwitch("remote-debugging-port", `${actualPort}`); | ||
@@ -58,2 +59,3 @@ app.commandLine.appendSwitch("remote-debugging-address", "127.0.0.1"); | ||
}; | ||
exports.initialize = initialize; | ||
/** | ||
@@ -66,3 +68,3 @@ * Connects puppeteer to the electron app. Must call {@link initialize} before connecting. | ||
*/ | ||
exports.connect = async (app, puppeteer) => { | ||
const connect = async (app, puppeteer) => { | ||
if (!puppeteer) { | ||
@@ -83,2 +85,3 @@ throw new Error("The parameter 'puppeteer' was not passed in."); | ||
}; | ||
exports.connect = connect; | ||
/** | ||
@@ -93,3 +96,3 @@ * Given a BrowserWindow, find the corresponding puppeteer Page. It is undefined if external operations | ||
*/ | ||
exports.getPage = async (browser, window, allowBlankNavigate = true) => { | ||
const getPage = async (browser, window, allowBlankNavigate = true) => { | ||
if (!browser) { | ||
@@ -110,3 +113,3 @@ throw new Error("The parameter 'browser' was not passed in."); | ||
} | ||
const guid = uuid_1.default.v4(); | ||
const guid = uuid_1.v4(); | ||
await window.webContents.executeJavaScript(`window.puppeteer = "${guid}"`); | ||
@@ -123,2 +126,3 @@ const pages = await browser.pages(); | ||
}; | ||
exports.getPage = getPage; | ||
exports.default = { | ||
@@ -125,0 +129,0 @@ connect: exports.connect, |
@@ -18,3 +18,3 @@ "use strict"; | ||
console.log(page.url()); | ||
assert_1.default.equal(page.url(), url); | ||
assert_1.default.strictEqual(page.url(), url); | ||
window.destroy(); | ||
@@ -21,0 +21,0 @@ }; |
17
index.ts
import getPort from "get-port"; | ||
import http from "http"; | ||
import retry from "async-retry"; | ||
import uuid from "uuid"; | ||
import {v4} from "uuid"; | ||
@@ -11,2 +11,3 @@ type App = import("electron").App; | ||
type Browser = import("puppeteer-core").Browser; | ||
type Page = import("puppeteer-core").Page; | ||
@@ -39,3 +40,3 @@ const readJson = async (port: string): Promise<any> => new Promise((resolve, reject) => { | ||
*/ | ||
export const initialize = async (app: App, port: number = 0) => { | ||
export const initialize = async (app: App, port = 0): Promise<void> => { | ||
if (!app) { | ||
@@ -58,3 +59,3 @@ throw new Error("The parameter 'app' was not passed in. " + | ||
const actualPort = port === 0 ? await getPort() : port; | ||
const actualPort = port === 0 ? await getPort({host: "127.0.0.1"}) : port; | ||
app.commandLine.appendSwitch( | ||
@@ -72,3 +73,3 @@ "remote-debugging-port", | ||
); | ||
// NetworkService crashes in electron 6. | ||
// NetworkService crashes in electron 6. | ||
if (electronMajor >= 7) { | ||
@@ -89,3 +90,3 @@ app.commandLine.appendSwitch( | ||
*/ | ||
export const connect = async (app: App, puppeteer: puppeteer) => { | ||
export const connect = async (app: App, puppeteer: puppeteer): Promise<Browser> => { | ||
if (!puppeteer) { | ||
@@ -123,4 +124,4 @@ throw new Error("The parameter 'puppeteer' was not passed in."); | ||
window: BrowserWindow | BrowserView, | ||
allowBlankNavigate: boolean = true | ||
) => { | ||
allowBlankNavigate = true | ||
): Promise<Page> => { | ||
if (!browser) { | ||
@@ -143,3 +144,3 @@ throw new Error("The parameter 'browser' was not passed in."); | ||
const guid = uuid.v4(); | ||
const guid = v4(); | ||
await window.webContents.executeJavaScript(`window.puppeteer = "${guid}"`); | ||
@@ -146,0 +147,0 @@ const pages = await browser.pages(); |
{ | ||
"name": "puppeteer-in-electron", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"description": "Run puppeteer within an electron app.", | ||
@@ -12,4 +12,3 @@ "main": "./bin/index.js", | ||
"testPack": "./dist/puppeteer-in-electron-linux-x64/puppeteer-in-electron", | ||
"docs": "documentation build ./bin/index.js -f md -o API.md", | ||
"all": "npm run lint && npm run build && npm run test && npm run pack && npm run testPack && npm run docs" | ||
"all": "npm run lint && npm run build && npm run test && npm run pack && npm run testPack" | ||
}, | ||
@@ -33,14 +32,13 @@ "repository": { | ||
"get-port": "^5.1.1", | ||
"uuid": "^3.3.3" | ||
"uuid": "^8.3.2" | ||
}, | ||
"devDependencies": { | ||
"@typescript-eslint/eslint-plugin": "^1.13.0", | ||
"@typescript-eslint/parser": "^1.13.0", | ||
"documentation": "^13.0.1", | ||
"electron": "^9.0.4", | ||
"electron-packager": "^15.0.0", | ||
"eslint": "^6.8.0", | ||
"puppeteer-core": "^4.0.0", | ||
"typescript": "^3.7.4" | ||
"@typescript-eslint/eslint-plugin": "^4.26.1", | ||
"@typescript-eslint/parser": "^4.26.1", | ||
"electron": "^13.1.2", | ||
"electron-packager": "^15.2.0", | ||
"eslint": "^7.28.0", | ||
"puppeteer-core": "^10.0.0", | ||
"typescript": "^4.3.2" | ||
} | ||
} |
@@ -24,3 +24,3 @@ /* eslint-disable @typescript-eslint/no-var-requires */ | ||
console.log(page.url()); | ||
assert.equal( | ||
assert.strictEqual( | ||
page.url(), | ||
@@ -27,0 +27,0 @@ url |
@@ -23,3 +23,3 @@ import {BrowserWindow, app} from "electron"; | ||
console.log(page.url()); | ||
assert.equal( | ||
assert.strictEqual( | ||
page.url(), | ||
@@ -26,0 +26,0 @@ url |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
28190
7
441
+ Addeduuid@8.3.2(transitive)
- Removeduuid@3.4.0(transitive)
Updateduuid@^8.3.2