playwright/utils/doclint
Joel Einbinder b0749e3a6d
fix(docs): fixup and lint optionals and return values in api.md (#1376)
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.
2020-03-18 16:23:25 -07:00
..
check_public_api fix(docs): fixup and lint optionals and return values in api.md (#1376) 2020-03-18 16:23:25 -07:00
preprocessor fix(docs): lint and fix all internal links in api.md 2020-03-18 15:34:53 -07:00
.gitignore Initial commit 2019-11-19 10:58:15 -08:00
cli.js fix(docs): lint and fix all internal links in api.md 2020-03-18 15:34:53 -07:00
Message.js Initial commit 2019-11-19 10:58:15 -08:00
README.md Initial commit 2019-11-19 10:58:15 -08:00
Source.js chore(packages): copy readme from root folder into packages/playwright (#552) 2020-01-21 17:24:47 -08:00

DocLint

Doclint is a small program that lints Playwright's documentation against Playwright'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 playwright 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