puppeteer/utils/doclint
Jack Franklin efe561e112
chore: fix DocLint method diffing (#5594)
Our logic around missing methods wasn't quite right; if there is no set of missing methods for a class it _is_ an error and we still need to report it, we don't want to `continue`.
2020-04-06 12:36:28 +02:00
..
check_public_api chore: fix DocLint method diffing (#5594) 2020-04-06 12:36:28 +02:00
generate_types feat(puppeteer): introduce puppeteer.errors and puppeteer.devices (#4312) 2019-04-19 15:33:06 -07:00
preprocessor chore: Use expect for assertions (#5581) 2020-04-03 13:22:55 +02:00
.gitignore [doclint] move doclint testing to golden 2017-07-13 11:17:02 -07:00
cli.js docs(contributing): add instructions to build Chromium revisions (#4246) 2019-04-04 15:34:41 -07:00
Message.js [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07:00
README.md chore: fix missed src/ vs lib/ documentation (#5591) 2020-04-06 10:32:42 +02:00
Source.js chore: drop Node.js v6 support (#5045) 2019-10-16 17:00:20 +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