

See more info about TestExpectations.json inĮvery public API method or event should be called at least once in tests. If a test is expected to fail on certain configurations or became flaky, update This isĮspecially important for screenshot tests.

If adding a dependency, it should be well-maintained and trustworthy.Ī barrier for introducing new installation dependencies is especially high:.Do not add a dependency if the desired functionality is easily.md files onįor all dependencies (both installation and development): run npm run docs which will generate all the.At root, install all dependencies with npm i -ignore-scripts.Keep each line in a comment to no more than 90 characters (ESLint will warn.Every new method needs to have either or added as a tagĭepending on if it is part of the public API.Writing TSDoc comments Įach change to Puppeteer should be thoroughly documented using TSDoc comments. This means that you should not change the markdown in files docs/api manually. Published to our documentation site on merge and gets versioned on release. In particular, breaking changes should clearly be noted as “BREAKING CHANGE:” inĭocumentation is generated from TSDoc comments via npm run docs. Avoid adding "sugar" API (API that is trivially implementable in user-space).All string literals must be small case.The only exception is namespaces, e.g.Methods are used in favor of getters/setters.Expose as little information as needed.When authoring new API methods, consider the following: tools/mochaRunner - contains the source code for our test runner.tools contains miscellaneous scripts that are used in building and etc.packages contains all public source code.The following is a description of the primary folders in Puppeteer: Use GitHub pull requests for this purpose. See more info about the testĪll submissions, including submissions by project members, require review. To see if a given test result is expected or not. Puppeteer uses a custom test runner on top of Mocha that consults the The default npm test runs test::headless which is generally test:firefox:** - Tests puppeteer on Firefox.test:chrome:** - Tests puppeteer on Chromium.

test-types - Tests the TypeScript types in puppeteer using.test-install - Tests whether puppeteer and puppeteer-core install.Outside of npm test, there are several other
