diff --git a/.eslintrc.js b/.eslintrc.js index aa57972cbf4fb..3e40356283bde 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -100,6 +100,11 @@ module.exports = { "@typescript-eslint/semi": 2, "@typescript-eslint/no-empty-function": 0, "@typescript-eslint/no-use-before-define": 0, + // We have to use any on some types so the warning isn't valuable. + "@typescript-eslint/no-explicit-any": 0, + // We don't require explicit return types on basic functions or + // dummy functions in tests, for example + "@typescript-eslint/explicit-function-return-type": 0, // We know it's bad and use it very sparingly but it's needed :( "@typescript-eslint/ban-ts-ignore": 0, "@typescript-eslint/array-type": [2, { diff --git a/new-docs/puppeteer.browsercontext.waitfortarget.md b/new-docs/puppeteer.browsercontext.waitfortarget.md index c079c048b3f59..1342199250b82 100644 --- a/new-docs/puppeteer.browsercontext.waitfortarget.md +++ b/new-docs/puppeteer.browsercontext.waitfortarget.md @@ -9,7 +9,7 @@ This searches for a target in this specific browser context. Signature: ```typescript -waitForTarget(predicate: (x: Target) => boolean, options: { +waitForTarget(predicate: (x: Target) => boolean, options?: { timeout?: number; }): Promise; ``` diff --git a/new-docs/puppeteer.browserfetcher.download.md b/new-docs/puppeteer.browserfetcher.download.md index a04a3e33680b1..1e44245da0928 100644 --- a/new-docs/puppeteer.browserfetcher.download.md +++ b/new-docs/puppeteer.browserfetcher.download.md @@ -7,7 +7,7 @@ Signature: ```typescript -download(revision: string, progressCallback: (x: number, y: number) => void): Promise; +download(revision: string, progressCallback?: (x: number, y: number) => void): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.coverage.startcsscoverage.md b/new-docs/puppeteer.coverage.startcsscoverage.md index f8616647dd96f..5091ba68695b9 100644 --- a/new-docs/puppeteer.coverage.startcsscoverage.md +++ b/new-docs/puppeteer.coverage.startcsscoverage.md @@ -7,7 +7,7 @@ Signature: ```typescript -startCSSCoverage(options: { +startCSSCoverage(options?: { resetOnNavigation?: boolean; }): Promise; ``` diff --git a/new-docs/puppeteer.coverage.startjscoverage.md b/new-docs/puppeteer.coverage.startjscoverage.md index 95e01129078d0..c7b878cdf17bb 100644 --- a/new-docs/puppeteer.coverage.startjscoverage.md +++ b/new-docs/puppeteer.coverage.startjscoverage.md @@ -7,7 +7,7 @@ Signature: ```typescript -startJSCoverage(options: { +startJSCoverage(options?: { resetOnNavigation?: boolean; reportAnonymousScripts?: boolean; }): Promise; diff --git a/new-docs/puppeteer.elementhandle.click.md b/new-docs/puppeteer.elementhandle.click.md index e9e7c04eb54dc..aed78c7d3879e 100644 --- a/new-docs/puppeteer.elementhandle.click.md +++ b/new-docs/puppeteer.elementhandle.click.md @@ -9,7 +9,7 @@ This method scrolls element into view if needed, and then uses [Page.mouse](./pu Signature: ```typescript -click(options: ClickOptions): Promise; +click(options?: ClickOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.frame.click.md b/new-docs/puppeteer.frame.click.md index bd3e7d4c7be78..10632d573b61f 100644 --- a/new-docs/puppeteer.frame.click.md +++ b/new-docs/puppeteer.frame.click.md @@ -7,7 +7,7 @@ Signature: ```typescript -click(selector: string, options: { +click(selector: string, options?: { delay?: number; button?: MouseButtonInput; clickCount?: number; diff --git a/new-docs/puppeteer.frame.waitfornavigation.md b/new-docs/puppeteer.frame.waitfornavigation.md index f736460fa0a35..05035d7ca5a77 100644 --- a/new-docs/puppeteer.frame.waitfornavigation.md +++ b/new-docs/puppeteer.frame.waitfornavigation.md @@ -7,7 +7,7 @@ Signature: ```typescript -waitForNavigation(options: { +waitForNavigation(options?: { timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[]; }): Promise; diff --git a/new-docs/puppeteer.frame.waitforselector.md b/new-docs/puppeteer.frame.waitforselector.md index 07c2fd1a7442e..e5b3dd55566fd 100644 --- a/new-docs/puppeteer.frame.waitforselector.md +++ b/new-docs/puppeteer.frame.waitforselector.md @@ -7,7 +7,7 @@ Signature: ```typescript -waitForSelector(selector: string, options: WaitForSelectorOptions): Promise; +waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.frame.waitforxpath.md b/new-docs/puppeteer.frame.waitforxpath.md index 46c1de6039ef0..d8a2d8d0ca6c2 100644 --- a/new-docs/puppeteer.frame.waitforxpath.md +++ b/new-docs/puppeteer.frame.waitforxpath.md @@ -7,7 +7,7 @@ Signature: ```typescript -waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise; +waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.keyboard.type.md b/new-docs/puppeteer.keyboard.type.md index 691fcfbd15282..b1d5d78a9ac32 100644 --- a/new-docs/puppeteer.keyboard.type.md +++ b/new-docs/puppeteer.keyboard.type.md @@ -7,7 +7,7 @@ Signature: ```typescript -type(text: string, options: { +type(text: string, options?: { delay?: number; }): Promise; ``` diff --git a/new-docs/puppeteer.md b/new-docs/puppeteer.md index 57bc10a2dc6dc..83272458a6231 100644 --- a/new-docs/puppeteer.md +++ b/new-docs/puppeteer.md @@ -1,77 +1,78 @@ - - -[Home](./index.md) > [puppeteer](./puppeteer.md) - -## puppeteer package - -## Classes - -| Class | Description | -| --- | --- | -| [Accessibility](./puppeteer.accessibility.md) | The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is used by assistive technology such as [screen readers](https://en.wikipedia.org/wiki/Screen_reader) or [switches](https://en.wikipedia.org/wiki/Switch_access). | -| [Browser](./puppeteer.browser.md) | A Browser is created when Puppeteer connects to a Chromium instance, either through [Puppeteer.launch()](./puppeteer.puppeteer.launch.md) or [Puppeteer.connect()](./puppeteer.puppeteer.connect.md). | -| [BrowserContext](./puppeteer.browsercontext.md) | BrowserContexts provide a way to operate multiple independent browser sessions. When a browser is launched, it has a single BrowserContext used by default. The method [Browser.newPage](./puppeteer.browser.newpage.md) creates a page in the default browser context. | -| [BrowserFetcher](./puppeteer.browserfetcher.md) | | -| [CDPSession](./puppeteer.cdpsession.md) | The CDPSession instances are used to talk raw Chrome Devtools Protocol. | -| [Connection](./puppeteer.connection.md) | | -| [ConsoleMessage](./puppeteer.consolemessage.md) | ConsoleMessage objects are dispatched by page via the 'console' event. | -| [Coverage](./puppeteer.coverage.md) | | -| [Dialog](./puppeteer.dialog.md) | Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the dialog event. | -| [ElementHandle](./puppeteer.elementhandle.md) | ElementHandle represents an in-page DOM element. | -| [EventEmitter](./puppeteer.eventemitter.md) | The EventEmitter class that many Puppeteer classes extend. | -| [ExecutionContext](./puppeteer.executioncontext.md) | | -| [FileChooser](./puppeteer.filechooser.md) | | -| [Frame](./puppeteer.frame.md) | | -| [FrameManager](./puppeteer.framemanager.md) | | -| [HTTPRequest](./puppeteer.httprequest.md) | | -| [HTTPResponse](./puppeteer.httpresponse.md) | | -| [JSHandle](./puppeteer.jshandle.md) | | -| [Keyboard](./puppeteer.keyboard.md) | | -| [Mouse](./puppeteer.mouse.md) | | -| [Page](./puppeteer.page.md) | Page provides methods to interact with a single tab or \[extension background page\](https://developer.chrome.com/extensions/background\_pages) in Chromium. One \[Browser\] instance might have multiple \[Page\] instances. | -| [Puppeteer](./puppeteer.puppeteer.md) | The main Puppeteer class | -| [SecurityDetails](./puppeteer.securitydetails.md) | The SecurityDetails class represents the security details of a response that was received over a secure connection. | -| [Target](./puppeteer.target.md) | | -| [TimeoutError](./puppeteer.timeouterror.md) | TimeoutError is emitted whenever certain operations are terminated due to timeout. | -| [Touchscreen](./puppeteer.touchscreen.md) | | -| [Tracing](./puppeteer.tracing.md) | | -| [WebWorker](./puppeteer.webworker.md) | The WebWorker class represents a [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API). | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [PageEmittedEvents](./puppeteer.pageemittedevents.md) | All the events that a page instance may emit. | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [BoundingBox](./puppeteer.boundingbox.md) | | -| [BoxModel](./puppeteer.boxmodel.md) | | -| [BrowserFetcherOptions](./puppeteer.browserfetcheroptions.md) | | -| [ClickOptions](./puppeteer.clickoptions.md) | | -| [ConsoleMessageLocation](./puppeteer.consolemessagelocation.md) | | -| [KeyDefinition](./puppeteer.keydefinition.md) | Copyright 2017 Google Inc. All rights reserved.Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | -| [PressOptions](./puppeteer.pressoptions.md) | | -| [SerializedAXNode](./puppeteer.serializedaxnode.md) | Represents a Node and the properties of it that are relevant to Accessibility. | -| [SnapshotOptions](./puppeteer.snapshotoptions.md) | | -| [WaitForTargetOptions](./puppeteer.waitfortargetoptions.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [EVALUATION\_SCRIPT\_URL](./puppeteer.evaluation_script_url.md) | | -| [keyDefinitions](./puppeteer.keydefinitions.md) | | -| [puppeteerErrors](./puppeteer.puppeteererrors.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [ConsoleMessageType](./puppeteer.consolemessagetype.md) | The supported types for console messages. | -| [KeyInput](./puppeteer.keyinput.md) | | -| [MouseButtonInput](./puppeteer.mousebuttoninput.md) | | -| [PuppeteerErrors](./puppeteer.puppeteererrors.md) | | - + + +[Home](./index.md) > [puppeteer](./puppeteer.md) + +## puppeteer package + +## Classes + +| Class | Description | +| --- | --- | +| [Accessibility](./puppeteer.accessibility.md) | The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is used by assistive technology such as [screen readers](https://en.wikipedia.org/wiki/Screen_reader) or [switches](https://en.wikipedia.org/wiki/Switch_access). | +| [Browser](./puppeteer.browser.md) | A Browser is created when Puppeteer connects to a Chromium instance, either through [Puppeteer.launch()](./puppeteer.puppeteer.launch.md) or [Puppeteer.connect()](./puppeteer.puppeteer.connect.md). | +| [BrowserContext](./puppeteer.browsercontext.md) | BrowserContexts provide a way to operate multiple independent browser sessions. When a browser is launched, it has a single BrowserContext used by default. The method [Browser.newPage](./puppeteer.browser.newpage.md) creates a page in the default browser context. | +| [BrowserFetcher](./puppeteer.browserfetcher.md) | | +| [CDPSession](./puppeteer.cdpsession.md) | The CDPSession instances are used to talk raw Chrome Devtools Protocol. | +| [Connection](./puppeteer.connection.md) | | +| [ConsoleMessage](./puppeteer.consolemessage.md) | ConsoleMessage objects are dispatched by page via the 'console' event. | +| [Coverage](./puppeteer.coverage.md) | | +| [Dialog](./puppeteer.dialog.md) | Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the dialog event. | +| [ElementHandle](./puppeteer.elementhandle.md) | ElementHandle represents an in-page DOM element. | +| [EventEmitter](./puppeteer.eventemitter.md) | The EventEmitter class that many Puppeteer classes extend. | +| [ExecutionContext](./puppeteer.executioncontext.md) | | +| [FileChooser](./puppeteer.filechooser.md) | | +| [Frame](./puppeteer.frame.md) | | +| [FrameManager](./puppeteer.framemanager.md) | | +| [HTTPRequest](./puppeteer.httprequest.md) | | +| [HTTPResponse](./puppeteer.httpresponse.md) | | +| [JSHandle](./puppeteer.jshandle.md) | | +| [Keyboard](./puppeteer.keyboard.md) | | +| [Mouse](./puppeteer.mouse.md) | | +| [Page](./puppeteer.page.md) | Page provides methods to interact with a single tab or \[extension background page\](https://developer.chrome.com/extensions/background\_pages) in Chromium. One \[Browser\] instance might have multiple \[Page\] instances. | +| [Puppeteer](./puppeteer.puppeteer.md) | The main Puppeteer class | +| [SecurityDetails](./puppeteer.securitydetails.md) | The SecurityDetails class represents the security details of a response that was received over a secure connection. | +| [Target](./puppeteer.target.md) | | +| [TimeoutError](./puppeteer.timeouterror.md) | TimeoutError is emitted whenever certain operations are terminated due to timeout. | +| [Touchscreen](./puppeteer.touchscreen.md) | | +| [Tracing](./puppeteer.tracing.md) | | +| [WebWorker](./puppeteer.webworker.md) | The WebWorker class represents a [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API). | + +## Enumerations + +| Enumeration | Description | +| --- | --- | +| [PageEmittedEvents](./puppeteer.pageemittedevents.md) | All the events that a page instance may emit. | + +## Interfaces + +| Interface | Description | +| --- | --- | +| [BoundingBox](./puppeteer.boundingbox.md) | | +| [BoxModel](./puppeteer.boxmodel.md) | | +| [BrowserFetcherOptions](./puppeteer.browserfetcheroptions.md) | | +| [ClickOptions](./puppeteer.clickoptions.md) | | +| [ConsoleMessageLocation](./puppeteer.consolemessagelocation.md) | | +| [KeyDefinition](./puppeteer.keydefinition.md) | Copyright 2017 Google Inc. All rights reserved.Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | +| [Metrics](./puppeteer.metrics.md) | | +| [PressOptions](./puppeteer.pressoptions.md) | | +| [SerializedAXNode](./puppeteer.serializedaxnode.md) | Represents a Node and the properties of it that are relevant to Accessibility. | +| [SnapshotOptions](./puppeteer.snapshotoptions.md) | | +| [WaitForTargetOptions](./puppeteer.waitfortargetoptions.md) | | + +## Variables + +| Variable | Description | +| --- | --- | +| [EVALUATION\_SCRIPT\_URL](./puppeteer.evaluation_script_url.md) | | +| [keyDefinitions](./puppeteer.keydefinitions.md) | | +| [puppeteerErrors](./puppeteer.puppeteererrors.md) | | + +## Type Aliases + +| Type Alias | Description | +| --- | --- | +| [ConsoleMessageType](./puppeteer.consolemessagetype.md) | The supported types for console messages. | +| [KeyInput](./puppeteer.keyinput.md) | | +| [MouseButtonInput](./puppeteer.mousebuttoninput.md) | | +| [PuppeteerErrors](./puppeteer.puppeteererrors.md) | | + diff --git a/new-docs/puppeteer.metrics.documents.md b/new-docs/puppeteer.metrics.documents.md new file mode 100644 index 0000000000000..21b2d87838e41 --- /dev/null +++ b/new-docs/puppeteer.metrics.documents.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [Documents](./puppeteer.metrics.documents.md) + +## Metrics.Documents property + +Signature: + +```typescript +Documents?: number; +``` diff --git a/new-docs/puppeteer.metrics.frames.md b/new-docs/puppeteer.metrics.frames.md new file mode 100644 index 0000000000000..45d8e43a5f201 --- /dev/null +++ b/new-docs/puppeteer.metrics.frames.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [Frames](./puppeteer.metrics.frames.md) + +## Metrics.Frames property + +Signature: + +```typescript +Frames?: number; +``` diff --git a/new-docs/puppeteer.metrics.jseventlisteners.md b/new-docs/puppeteer.metrics.jseventlisteners.md new file mode 100644 index 0000000000000..eeda977246d2f --- /dev/null +++ b/new-docs/puppeteer.metrics.jseventlisteners.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [JSEventListeners](./puppeteer.metrics.jseventlisteners.md) + +## Metrics.JSEventListeners property + +Signature: + +```typescript +JSEventListeners?: number; +``` diff --git a/new-docs/puppeteer.metrics.jsheaptotalsize.md b/new-docs/puppeteer.metrics.jsheaptotalsize.md new file mode 100644 index 0000000000000..c6c3edaba55ed --- /dev/null +++ b/new-docs/puppeteer.metrics.jsheaptotalsize.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [JSHeapTotalSize](./puppeteer.metrics.jsheaptotalsize.md) + +## Metrics.JSHeapTotalSize property + +Signature: + +```typescript +JSHeapTotalSize?: number; +``` diff --git a/new-docs/puppeteer.metrics.jsheapusedsize.md b/new-docs/puppeteer.metrics.jsheapusedsize.md new file mode 100644 index 0000000000000..ff0d9d59f933b --- /dev/null +++ b/new-docs/puppeteer.metrics.jsheapusedsize.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [JSHeapUsedSize](./puppeteer.metrics.jsheapusedsize.md) + +## Metrics.JSHeapUsedSize property + +Signature: + +```typescript +JSHeapUsedSize?: number; +``` diff --git a/new-docs/puppeteer.metrics.layoutcount.md b/new-docs/puppeteer.metrics.layoutcount.md new file mode 100644 index 0000000000000..a0093f695ff14 --- /dev/null +++ b/new-docs/puppeteer.metrics.layoutcount.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [LayoutCount](./puppeteer.metrics.layoutcount.md) + +## Metrics.LayoutCount property + +Signature: + +```typescript +LayoutCount?: number; +``` diff --git a/new-docs/puppeteer.metrics.layoutduration.md b/new-docs/puppeteer.metrics.layoutduration.md new file mode 100644 index 0000000000000..8ffb70b8ee9a2 --- /dev/null +++ b/new-docs/puppeteer.metrics.layoutduration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [LayoutDuration](./puppeteer.metrics.layoutduration.md) + +## Metrics.LayoutDuration property + +Signature: + +```typescript +LayoutDuration?: number; +``` diff --git a/new-docs/puppeteer.metrics.md b/new-docs/puppeteer.metrics.md new file mode 100644 index 0000000000000..ae8a3970e1a28 --- /dev/null +++ b/new-docs/puppeteer.metrics.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) + +## Metrics interface + +Signature: + +```typescript +export interface Metrics +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [Documents](./puppeteer.metrics.documents.md) | number | | +| [Frames](./puppeteer.metrics.frames.md) | number | | +| [JSEventListeners](./puppeteer.metrics.jseventlisteners.md) | number | | +| [JSHeapTotalSize](./puppeteer.metrics.jsheaptotalsize.md) | number | | +| [JSHeapUsedSize](./puppeteer.metrics.jsheapusedsize.md) | number | | +| [LayoutCount](./puppeteer.metrics.layoutcount.md) | number | | +| [LayoutDuration](./puppeteer.metrics.layoutduration.md) | number | | +| [Nodes](./puppeteer.metrics.nodes.md) | number | | +| [RecalcStyleCount](./puppeteer.metrics.recalcstylecount.md) | number | | +| [RecalcStyleDuration](./puppeteer.metrics.recalcstyleduration.md) | number | | +| [ScriptDuration](./puppeteer.metrics.scriptduration.md) | number | | +| [TaskDuration](./puppeteer.metrics.taskduration.md) | number | | +| [Timestamp](./puppeteer.metrics.timestamp.md) | number | | + diff --git a/new-docs/puppeteer.metrics.nodes.md b/new-docs/puppeteer.metrics.nodes.md new file mode 100644 index 0000000000000..cc6110e691336 --- /dev/null +++ b/new-docs/puppeteer.metrics.nodes.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [Nodes](./puppeteer.metrics.nodes.md) + +## Metrics.Nodes property + +Signature: + +```typescript +Nodes?: number; +``` diff --git a/new-docs/puppeteer.metrics.recalcstylecount.md b/new-docs/puppeteer.metrics.recalcstylecount.md new file mode 100644 index 0000000000000..c67a586217402 --- /dev/null +++ b/new-docs/puppeteer.metrics.recalcstylecount.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [RecalcStyleCount](./puppeteer.metrics.recalcstylecount.md) + +## Metrics.RecalcStyleCount property + +Signature: + +```typescript +RecalcStyleCount?: number; +``` diff --git a/new-docs/puppeteer.metrics.recalcstyleduration.md b/new-docs/puppeteer.metrics.recalcstyleduration.md new file mode 100644 index 0000000000000..431a054ceb7ba --- /dev/null +++ b/new-docs/puppeteer.metrics.recalcstyleduration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [RecalcStyleDuration](./puppeteer.metrics.recalcstyleduration.md) + +## Metrics.RecalcStyleDuration property + +Signature: + +```typescript +RecalcStyleDuration?: number; +``` diff --git a/new-docs/puppeteer.metrics.scriptduration.md b/new-docs/puppeteer.metrics.scriptduration.md new file mode 100644 index 0000000000000..2cee8d86b425a --- /dev/null +++ b/new-docs/puppeteer.metrics.scriptduration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [ScriptDuration](./puppeteer.metrics.scriptduration.md) + +## Metrics.ScriptDuration property + +Signature: + +```typescript +ScriptDuration?: number; +``` diff --git a/new-docs/puppeteer.metrics.taskduration.md b/new-docs/puppeteer.metrics.taskduration.md new file mode 100644 index 0000000000000..3deb48d82c381 --- /dev/null +++ b/new-docs/puppeteer.metrics.taskduration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [TaskDuration](./puppeteer.metrics.taskduration.md) + +## Metrics.TaskDuration property + +Signature: + +```typescript +TaskDuration?: number; +``` diff --git a/new-docs/puppeteer.metrics.timestamp.md b/new-docs/puppeteer.metrics.timestamp.md new file mode 100644 index 0000000000000..4534220331453 --- /dev/null +++ b/new-docs/puppeteer.metrics.timestamp.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [puppeteer](./puppeteer.md) > [Metrics](./puppeteer.metrics.md) > [Timestamp](./puppeteer.metrics.timestamp.md) + +## Metrics.Timestamp property + +Signature: + +```typescript +Timestamp?: number; +``` diff --git a/new-docs/puppeteer.page.goback.md b/new-docs/puppeteer.page.goback.md index 8c6136ee0250a..50dd929482006 100644 --- a/new-docs/puppeteer.page.goback.md +++ b/new-docs/puppeteer.page.goback.md @@ -7,7 +7,7 @@ Signature: ```typescript -goBack(options: WaitForOptions): Promise; +goBack(options?: WaitForOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.page.goforward.md b/new-docs/puppeteer.page.goforward.md index d6d17ece5c648..aea9d75c868bf 100644 --- a/new-docs/puppeteer.page.goforward.md +++ b/new-docs/puppeteer.page.goforward.md @@ -7,7 +7,7 @@ Signature: ```typescript -goForward(options: WaitForOptions): Promise; +goForward(options?: WaitForOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.page.metrics.md b/new-docs/puppeteer.page.metrics.md index f2e7ce25b9465..8f0a7821ef059 100644 --- a/new-docs/puppeteer.page.metrics.md +++ b/new-docs/puppeteer.page.metrics.md @@ -11,5 +11,5 @@ metrics(): Promise; ``` Returns: -Promise<Metrics> +Promise<[Metrics](./puppeteer.metrics.md)> diff --git a/new-docs/puppeteer.page.setcontent.md b/new-docs/puppeteer.page.setcontent.md index d7a427acf1a29..af10901020530 100644 --- a/new-docs/puppeteer.page.setcontent.md +++ b/new-docs/puppeteer.page.setcontent.md @@ -7,7 +7,7 @@ Signature: ```typescript -setContent(html: string, options: WaitForOptions): Promise; +setContent(html: string, options?: WaitForOptions): Promise; ``` ## Parameters diff --git a/new-docs/puppeteer.page.waitforfunction.md b/new-docs/puppeteer.page.waitforfunction.md index e82650f3e7f2f..697ff57dfc71b 100644 --- a/new-docs/puppeteer.page.waitforfunction.md +++ b/new-docs/puppeteer.page.waitforfunction.md @@ -7,7 +7,7 @@ Signature: ```typescript -waitForFunction(pageFunction: Function, options?: { +waitForFunction(pageFunction: Function | string, options?: { timeout?: number; polling?: string | number; }, ...args: unknown[]): Promise; @@ -17,7 +17,7 @@ waitForFunction(pageFunction: Function, options?: { | Parameter | Type | Description | | --- | --- | --- | -| pageFunction | Function | | +| pageFunction | Function \| string | | | options | { timeout?: number; polling?: string \| number; } | | | args | unknown\[\] | | diff --git a/new-docs/puppeteer.puppeteer.defaultargs.md b/new-docs/puppeteer.puppeteer.defaultargs.md index 803de429765dd..ff0d72ee55c62 100644 --- a/new-docs/puppeteer.puppeteer.defaultargs.md +++ b/new-docs/puppeteer.puppeteer.defaultargs.md @@ -7,7 +7,7 @@ Signature: ```typescript -defaultArgs(options: ChromeArgOptions): string[]; +defaultArgs(options?: ChromeArgOptions): string[]; ``` ## Parameters diff --git a/package.json b/package.json index cf516d67b0723..7164a480ee17f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "firefox_revision": "latest" }, "scripts": { - "unit": "mocha --config mocha-config/puppeteer-unit-tests.js", + "unit": "tsc --version && mocha --config mocha-config/puppeteer-unit-tests.js", "unit-with-coverage": "cross-env COVERAGE=1 npm run unit", "assert-unit-coverage": "cross-env COVERAGE=1 mocha --config mocha-config/coverage-tests.js", "funit": "PUPPETEER_PRODUCT=firefox npm run unit", @@ -91,7 +91,7 @@ "sinon": "^9.0.2", "text-diff": "^1.0.1", "ts-node": "^8.10.2", - "typescript": "3.9.2" + "typescript": "3.9.5" }, "browser": { "./lib/BrowserFetcher.js": false, diff --git a/src/api.ts b/src/api.ts index 988eab0b5568d..8ba5bb0d9e558 100644 --- a/src/api.ts +++ b/src/api.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// @ts-nocheck /* This file is used in two places: * 1) the coverage-utils use it to gain a list of all methods we check for test diff --git a/test/coverage-utils.js b/test/coverage-utils.js index 3cc51bd1e4ee4..2e6084bb7dbd6 100644 --- a/test/coverage-utils.js +++ b/test/coverage-utils.js @@ -108,8 +108,8 @@ const trackCoverage = () => { return { beforeAll: () => { - const api = require('../lib/api'); - const events = require('../lib/common/Events'); + const api = require('../src/api'); + const events = require('../src/common/Events'); for (const [className, classType] of Object.entries(api)) traceAPICoverage(coverageMap, events, className, classType); }, diff --git a/test/emulation.spec.ts b/test/emulation.spec.ts index d3b2b0ae48e5a..b3ad13595cd44 100644 --- a/test/emulation.spec.ts +++ b/test/emulation.spec.ts @@ -67,7 +67,7 @@ describe('Emulation', () => { function dispatchTouch() { let fulfill; const promise = new Promise((x) => (fulfill = x)); - window.ontouchstart = function (e) { + window.ontouchstart = () => { fulfill('Received touch'); }; window.dispatchEvent(new Event('touchstart')); diff --git a/test/navigation.spec.ts b/test/navigation.spec.ts index 6475ef2ded388..31c230245b6d1 100644 --- a/test/navigation.spec.ts +++ b/test/navigation.spec.ts @@ -65,14 +65,18 @@ describe('navigation', function () { const response = await page.goto(server.PREFIX + '/historyapi.html'); expect(response.status()).toBe(200); }); - it('should work with subframes return 204', async () => { + itFailsFirefox('should work with subframes return 204', async () => { const { page, server } = getTestState(); server.setRoute('/frames/frame.html', (req, res) => { res.statusCode = 204; res.end(); }); - await page.goto(server.PREFIX + '/frames/one-frame.html'); + let error = null; + await page + .goto(server.PREFIX + '/frames/one-frame.html') + .catch((error_) => (error = error_)); + expect(error).toBe(null); }); itFailsFirefox('should fail when server returns 204', async () => { const { page, server, isChrome } = getTestState();