This PR starts the monorepo migrations as per
https://github.com/puppeteer/puppeteer/issues/8922. To scope migrations,
we are only moving the `testserver` into a separate package. Further
migrations will come later.
This PR removes the manual vendoring process. Third party code can now
be updated using the typical NPM pipeline with types/code bundling done
through Rollup.
* fix: change injected.ts imports
Not sure why api-extractor generates broken .d.ts
files if the start import is used for Poller and TextContext.
* test: use generated types.d.ts in tsd
* fix: use win64 version of chromium when on arm64 windows
no Win_arm available on storage.googleapis.com yet, and it currently defaults to win32
* fix: lint trailing space
* fix: use x64 chromium on Windows 11 for ARM
* fix: detect windows 11 without semver
This PR removes the strong references between
parent and child frames and stores the frame in a
lazy FrameTree with weak references.
Drive-by: fix --no-coverage flag in test runner
This PR adds a basic support for WebDriver BiDi that currently includes only the ability to establish a connection and shutdown the browser. Therefore, the implementation is marked as internal and won't show up in the changelog as it's barely useful at the moment.
The API classes are kept as classes instead of interfaces so that clients relying on instanceof checks still work.
With #8520 Puppeteer is now aware of all targets it connects
to. In order to have a not flaky init, Puppeteer waits for
all existing targets to be configured during the connection process.
This does not work well in case of concurrent connections because
while one connection might initializing a target the other one
might be closed it. In general, that is expected because we
can only be eventually consistent about the target state but we
also should not crash the init if some targets have been closed.
This PR implements checks to see if the errors are caused by the
target or session closures and suppresses them if it's the case.
This PR adds a custom mocha reporter that is a combination
of the Spec + JSON reporters. This way our test runner can
remove custom printing logic for test runs and only output
expectations.
Instead of checking skipped tests in mocha-utils this PR
implements a custom mocha interface for better flexibility
when skipping tests. That should allow skipping tests without
running before and after hooks.
* chore: implement a test runner on top of mocha
This PR implements a test runner on top of mocha
that performs multiple mocha runs as defined in
TestSuites.json and compares the outcome of the runs
against TestExpectations.json. This allows us to
remove most of helpers from mocha-utils and be more
flexible when defining the test configurations.