mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
5e8d79bf98
TS 3.5 got much stricter on writing changes to objects with varied types [1] so we have to do a bit of typecasting work to convince TS about the types of keys and values that we are setting. Longer term we should think about a better data structure that avoids us having to jump through some hoops but for now I think this is a reasonable step to get us onto 3.5. Same story regarding bindings on `window`: the easiest fix is to cast `window` to `any` for the code that adds to it. I'm sure we can come up with a more type-safe way of doing this in the future. [1]: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#fixes-to-unsound-writes-to-indexed-access-types |
||
---|---|---|
.. | ||
check_public_api | ||
generate_types | ||
preprocessor | ||
.gitignore | ||
cli.js | ||
Message.js | ||
README.md | ||
Source.js |
DocLint
Doclint is a small program that lints Puppeteer's documentation against Puppeteer'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 puppeteer 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