puppeteer/utils/doclint
Jack Franklin e3922ea1f3
chore: enforce consistent spacing around object curlys (#5700)
The codebase was incredibly inconsistent with the use of spacing around
curly braces, e.g.:

```
// this?
const a = {b: 1}
// or?
const a = { b: 1 }
```

This extended into import statements also. Google's styleguide is no
spacing, so we're going with that.
2020-04-21 10:40:04 +01:00
..
check_public_api chore: enforce consistent spacing around object curlys (#5700) 2020-04-21 10:40:04 +01:00
generate_types feat(puppeteer): introduce puppeteer.errors and puppeteer.devices (#4312) 2019-04-19 15:33:06 -07:00
preprocessor chore: migrate remaining tests to Mocha (#5616) 2020-04-09 20:12:32 +02:00
.gitignore [doclint] move doclint testing to golden 2017-07-13 11:17:02 -07:00
cli.js chore(typescript): migrate src/Dialog (#5639) 2020-04-16 14:59:28 +01: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