Currently in our API `?` means null, but sometimes it means optional. Linting optional/nulls with this patch is required for #1166 to land nicely. Previously, return types were not being linted in `api.md`. This is fixed, along with many broken return types. This patch considers `?` to mean nullable, and has some heuristics to determine optionality. I believe this to be the minimal patch needed to unblock #1166. After it lands, we can consider changing the api docs to hopefully remove some heuristics and strangeness. |
||
|---|---|---|
| .. | ||
| check_public_api | ||
| preprocessor | ||
| .gitignore | ||
| cli.js | ||
| Message.js | ||
| README.md | ||
| Source.js | ||
DocLint
Doclint is a small program that lints Playwright's documentation against Playwright's source code.
Doclint works in a few steps:
- Read sources in
lib/folder, parse AST trees and extract public API - Read sources in
docs/folder, render markdown to HTML, use playwright to traverse the HTML and extract described API - 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