puppeteer/utils/doclint
Jack Franklin e655bb6ca2
chore(agnostification): split up root Puppeteer class (#6504)
The `Puppeteer` class had two concerns:

* connect to an existing browser
* launch a new browser

The first of those concerns is needed in all environments, but the
second is only needed in Node.
https://github.com/puppeteer/puppeteer/pull/6484 landing enabled us to
pull the `Puppeteer` class apart into two:

1. `Puppeteer` which hosts the behaviour for connecting to existing
   browsers.
2. `PuppeteerNode`, which extends `Puppeteer` and also adds the ability
   to launch a new browser.

This is a non-breaking change, because Node users will still get an
instance of a class with all the methods they expect, but it'll be a
`PuppeteerNode` rather than `Puppeteer`. I don't expect this to cause
people any issues.

We also now have new files that are effectively the entry points for
Puppeteer:

* `node.ts`: the main entry point for Puppeteer on Node.
* `web.ts`: the main entry point for Puppeteer on the web.
* `node-puppeteer-core.ts`: for those using puppeteer-core (which only
  exists in Node, not on the web).
2020-10-13 16:19:26 +01:00
..
check_public_api chore(agnostification): split up root Puppeteer class (#6504) 2020-10-13 16:19:26 +01:00
preprocessor chore: update references to branch names (#6022) 2020-06-15 17:34:16 +02:00
.gitignore [doclint] move doclint testing to golden 2017-07-13 11:17:02 -07:00
cli.js chore: vendor Mitt & update project structure (#6209) 2020-07-14 16:57:29 +01:00
Message.js docs: replace @return with @returns (#6006) 2020-06-12 12:38:24 +02:00
README.md chore: fix missed src/ vs lib/ documentation (#5591) 2020-04-06 10:32:42 +02: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