puppeteer/utils/doclint
Andrey Lushnikov 75a8d7b0c3 [doclint] Prepare doclint for more checks
This patch refactors doclint so that more checks and more generators
could be added.

This patch:
- Introduces 'Source' class, which holds file content in-memory and
  allows it to be updated.
- Introduces 'Message' class - which is a pair of a text and a type.
  Messages could have either 'error' type or 'warning' type.
2017-07-31 00:10:59 -07:00
..
check_public_api [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07:00
.gitignore [doclint] move doclint testing to golden 2017-07-13 11:17:02 -07:00
cli.js [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07:00
Message.js [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07:00
README.md [doclint] Move doclint under utils/ 2017-07-13 00:28:52 -07:00
SourceFactory.js [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07:00
toc.js [doclint] Prepare doclint for more checks 2017-07-31 00:10:59 -07: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
  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