puppeteer/utils/doclint
Jack Franklin 866d34ee11
fix: type page event listeners correctly (#6891)
This PR fixes the fact that currently if you have:

```ts
page.on('request', request => {

})
```

Then `request` will be typed as `any`. We can fix this by defining an
interface of event name => callback argument type, and looking that up
when you call `page.on`.

Also includes a drive-by fix to ensure we convert response headers to
strings, and updates the types accordingly.
2021-03-25 11:26:35 +00:00
..
check_public_api fix: type page event listeners correctly (#6891) 2021-03-25 11:26:35 +00:00
preprocessor chore: automate version bumps (#6627) 2020-11-26 11:38:24 +01:00
.gitignore [doclint] move doclint testing to golden 2017-07-13 11:17:02 -07:00
cli.js chore: clean up remaining Travis references (#6826) 2021-02-08 07:41:26 +01:00
Message.js docs: replace @return with @returns (#6006) 2020-06-12 12:38:24 +02:00
README.md chore: automate prettier in docs (#7014) 2021-03-23 10:02:34 +01:00
Source.js docs: replace @return with @returns (#6006) 2020-06-12 12:38:24 +02:00

DocLint

Doclint is a small program that lints Puppeteer's documentation against Puppeteer's source code.

Doclint works in a few steps:

  1. Read sources in lib/ folder, parse AST trees and extract public API. Note that we run DocLint on the outputted JavaScript in lib/ rather than the source code in src/. We will do this until we have migrated src/ to be exclusively TypeScript and then we can update DocLint to support TypeScript.
  2. Read sources in docs/ folder, render markdown to HTML, use puppeteer to traverse the HTML and extract described API.
  3. Compare one API to another.

Doclint is also responsible for general markdown checks, most notably for the table of contents relevancy.

Running

npm run doc

Tests

Doclint has its own set of jasmine tests, located at utils/doclint/test folder.

To execute tests, run:

npm run test-doclint