Commit Graph

3111 Commits

Author SHA1 Message Date
jrandolf
ec201744f0
feat: use configuration files (#9140)
This PR adds configurations files to `puppeteer`'s methods for
configuration. Under the hood, `puppeteer` relies on
https://www.npmjs.com/package/cosmiconfig which resolves several formats
of configuration:

- a `puppeteer` property in package.json
- a `.puppeteerrc` file in JSON or YAML format
- a `.puppeteerrc.json`, `.puppeteerrc.yaml`, `.puppeteerrc.yml`,
`.puppeteerrc.js`, or `.puppeteerrc.cjs` file
- a `puppeteer.config.js` or `puppeteer.config.cjs` CommonJS module
exporting an object

Documentation will be added later.

Fixed: #9128
2022-10-21 15:09:21 +02:00
jrandolf
efcbc97c60
fix: update BrowserFetcher deprecation message (#9141) 2022-10-20 13:25:24 +02:00
Alex Rudenko
5885792be4
chore: re-enable firefox on mac (#9137)
I believe they were previously enabled but got disabled with the recent
changes. Let's re-enable it as they don't appear to be slower than the
chrome tests.
2022-10-19 14:24:56 +00:00
Alex Rudenko
3499cbf4e1
chore: save test stats (#9138) 2022-10-19 15:21:18 +02:00
Alex Rudenko
122778a1f8
feat: expose browser context id (#9134)
Closes #9132
2022-10-19 08:30:57 +00:00
Alex Rudenko
a19b270018
chore: extract BrowserContext to its own file (#9133) 2022-10-19 07:06:31 +00:00
dependabot[bot]
7aaa5f8de5
chore(deps): bump actions/setup-node from 3.4.1 to 3.5.1 (#9114)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
3.4.1 to 3.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>Update <code>@​actions/core</code> and Print Node, Npm, Yarn
versions</h2>
<p>In scope of this release we updated <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/587">actions/core
to 1.10.0</a>. Moreover, we added logic <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/368">to
print Nodejs, Npm, Yarn versions</a> after installation.</p>
<h2>Add support for engines.node and Volta</h2>
<p>In scope of this release we add support for engines.node. The action
will be able to grab the version form package.json#engines.node. <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/485">actions/setup-node#485</a>.
Moreover, we <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/532">added
support for Volta</a></p>
<p>Besides, we updated <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/574"><code>@​actions/core</code>
to 1.9.1</a> and <a
href="https://github-redirect.dependabot.com/actions/setup-node/pull/573"><code>@​actions/cache</code>
to 3.0.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8c91899e58"><code>8c91899</code></a>
Update <code>@​actions/core</code> to 1.10.0 (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/587">#587</a>)</li>
<li><a
href="c81d8ad96d"><code>c81d8ad</code></a>
Print node, npm and yarn versions after installation (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/368">#368</a>)</li>
<li><a
href="c96ab56c5b"><code>c96ab56</code></a>
Add information about always-auth input (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/585">#585</a>)</li>
<li><a
href="969bd26639"><code>969bd26</code></a>
Fix test volta priority (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/577">#577</a>)</li>
<li><a
href="9f3a02bbd1"><code>9f3a02b</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/532">#532</a>
from jef/main</li>
<li><a
href="4cffe5c52b"><code>4cffe5c</code></a>
chore: remove sponge usage</li>
<li><a
href="0efefb3c0b"><code>0efefb3</code></a>
Merge remote-tracking branch 'upstream/main'</li>
<li><a
href="1e6f2cd312"><code>1e6f2cd</code></a>
test: add volta e2e test</li>
<li><a
href="30f0e7dc5a"><code>30f0e7d</code></a>
Update <code>@​actions/core</code> to 1.9.1 (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/574">#574</a>)</li>
<li><a
href="c8f0d10585"><code>c8f0d10</code></a>
upgrade <code>@action/cache</code> to 3.0.4 to fix stuck issue (<a
href="https://github-redirect.dependabot.com/actions/setup-node/issues/573">#573</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-node/compare/v3.4.1...v3.5.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3.4.1&new-version=3.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 14:10:52 +02:00
jrandolf
618ee743ca
chore: fix ToT CI (#9125) 2022-10-17 13:11:53 +02:00
jrandolf
535309feff
chore: update troubleshooting guide (#9123)
This PR updates the troubleshooting guide with some information
regarding the new `exports` resolution and cache directory.

This PR also reformats some of the other MD documents.
2022-10-17 13:07:41 +02:00
release-please[bot]
dc66207f25
chore: release main (#9115) 2022-10-14 14:54:46 +02:00
jrandolf
8f4902eed9
chore: use test runner for installation tests (#9110) 2022-10-14 13:37:07 +02:00
jrandolf
6a05d8e9c1
chore: improve docs and scripts (#9107)
This PR updates some docs and scripts related to the recent changes in
the repository.
2022-10-13 18:55:11 +02:00
jrandolf
1fbc3c643f
chore: improve docs (#9105)
This PR makes some improvements to the documentation. It migrates
docker, debugging, and chrome extension documentation to the `guides`
folder and also updates some of the terminology.
2022-10-13 08:46:53 +00:00
Alex Rudenko
8acafe2fd9
chore: remove special handling for shared_worker (#9096)
With Chromium M107+ this should not be required anymore.
2022-10-11 12:18:06 +00:00
jrandolf
3df375baed
feat!: use ~/.cache/puppeteer for browser downloads (#9095) 2022-10-11 11:20:45 +00:00
Alex Rudenko
557d4a06c4
chore: update expectations for flaky tests (#9091) 2022-10-11 09:49:42 +02:00
jrandolf
7294dfe9c6
feat!: deprecate createBrowserFetcher in favor of BrowserFetcher (#9079)
This PR deprecates the `createBrowserFetcher` API and requests users to
import the `BrowserFetcher` directly.

Fixed: #8999
2022-10-10 17:51:18 +02:00
jrandolf
1847704789
fix!: refactor custom query handler API (#9078)
This PR removes the deprecated query selector API from the `puppeteer`
instance. Direct imports of the query selector API have also been
deprecated and users are now expected to use the static methods defined
on `Puppeteer`.
2022-10-10 16:01:09 +02:00
jrandolf
acbc59999b
fix: remove viewport conditions in waitForSelector (#9087)
This PR removes the viewport conditions in `waitForSelector`.

See discussion:
https://github.com/puppeteer/puppeteer/pull/8954#issuecomment-1272338883
2022-10-10 16:00:47 +02:00
jrandolf
87c08fd86a
fix!: remove puppeteer.devices in favor of KnownDevices (#9075)
This PR removes the deprecated `puppeteer.devices` in favor of a new
exported object `KnownDevices`. `devices` can also be exported, but has
been deprecated.
2022-10-10 15:30:12 +02:00
Alex Rudenko
04270a39ea
chore: update test expectations (#9088) 2022-10-10 15:24:46 +02:00
smithc
a032583b6c feat: add ability to collect JS code coverage at the function level (#9027) 2022-10-06 23:53:05 +02:00
jrandolf
41d0122b94 fix!: deprecate indirect network condition imports (#9074) 2022-10-06 23:52:58 +02:00
jrandolf
9f4f43a28b fix!: deprecate indirect error imports (#9072) 2022-10-06 23:52:51 +02:00
jrandolf
3675f168ef
chore: improve CI jobs (#9054)
This PR separates the installations tests from normal tests and changes
the matrices as follows:

- Installations tests on all platforms and the latest 3 node versions.
- Chrome tests are done on all platforms on the latest node version.
- Firefox tests are done only on linux on the latest node version.
2022-10-06 15:45:22 +02:00
jrandolf
675b4800a9
chore: bootstrap release-please (#9071) 2022-10-06 12:54:24 +02:00
jrandolf
2e3719cd7f
chore: pin checkout action (#9069) 2022-10-06 12:44:45 +02:00
jrandolf
790afd14a8
chore: update publish.yml (#9068) 2022-10-06 12:25:20 +02:00
release-please[bot]
58ac7a687c
chore: release main (#9067) 2022-10-06 12:22:55 +02:00
jrandolf
9d13343d67
chore: update publish workflow (#9065)
This PR combines the publishing workflows for npm packages and Docker.
It also fixes an issue where multiple tags would trigger publishing all
packages.
2022-10-06 11:44:52 +02:00
jrandolf
416d56b033
chore: refactor utils (#9053)
This PR

- renames the `utils` folder to `tools` (follows internal practice),
- migrates the contents of `scripts` into `tools` and removes scripts.
2022-10-06 10:27:14 +02:00
jrandolf
2ffa1382ed
chore: update commitlint.config.js (#9064)
This PR adds some notes for the `commitlint` exceptions.
2022-10-06 09:40:39 +02:00
jrandolf
9374e23d3d
fix: add README to package during prepack (#9057) 2022-10-06 09:13:54 +02:00
Egor Andreyuk
8f6b2c9b7c
fix: waitForRequest works with async predicate (#9058) 2022-10-05 20:46:34 +02:00
jrandolf
a07ff121f0
chore: use scoped tags for publishing (#9055) 2022-10-05 17:09:30 +02:00
release-please[bot]
ee1272e65e
chore: release main (#9052) 2022-10-05 16:51:59 +02:00
jrandolf
bafdb4784c
chore: update pin_dependencies.py (#9051) 2022-10-05 16:19:18 +02:00
jrandolf
d4c6ff1268
chore: update pin dependencies (#9050) 2022-10-05 15:57:31 +02:00
jrandolf
d1b61cf108
chore: update generate sources (#9049) 2022-10-05 15:35:00 +02:00
jrandolf
9b28a3b97b
chore: use file dependencies at root (#9048) 2022-10-05 15:24:33 +02:00
jrandolf
a35987377a
chore: pin dependencies on pre-release (#9046) 2022-10-05 15:05:50 +02:00
jrandolf
469ac02022
chore: fix release-please (#9044)
Fixes: #9043
2022-10-05 14:25:32 +02:00
jrandolf
f42336cf83
feat: separate puppeteer and puppeteer-core (#9023)
This PR moves the puppeteer source code into separate mono-repo packages:

- `puppeteer` and `puppeteer-core` are now separated into their own
packages.
- `puppeteer-core` has a new exports called `puppeteer-core/internal`
for internal usage.

Tests and various tools have been updated to accommodate the migration.
2022-10-05 14:17:03 +02:00
release-please[bot]
3aee641c3d
chore(main): release 18.1.0 (#9042)
🤖 I have created a release *beep* *boop*
---


##
[18.1.0](https://github.com/puppeteer/puppeteer/compare/v18.0.5...v18.1.0)
(2022-10-05)


### Features

* **chromium:** roll to Chromium 107.0.5296.0 (r1045629)
([#9039](https://github.com/puppeteer/puppeteer/issues/9039))
([022fbde](022fbde85e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2022-10-05 08:27:19 +00:00
Alex Rudenko
022fbde85e
feat(chromium): roll to Chromium 107.0.5296.0 (r1045629) (#9039) 2022-10-05 08:13:43 +02:00
Pedro Campelo Matheus
b7b07e3790 chore: add documentation to xpath prefix and deprecated page.waitForTimeout (#9014) 2022-10-05 00:25:26 +02:00
Noel Kim (김민혁)
5dbd69e1a4
chore: type in waitForRequest function description (#9015) 2022-10-05 00:05:32 +02:00
jrandolf
c0c7878adc
chore: initiate monorepo migration (#9022)
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.
2022-09-29 10:08:55 +02:00
jrandolf
2a21896cf8
chore: rename vendor to third_party (#9021)
This PR renames `vendor` to `third_party` to better adhere to internal
codebase nomenclature.
2022-09-28 15:23:37 +02:00
jrandolf
f8de7b1273
chore: bundle vendor code (#9016)
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.
2022-09-28 13:03:19 +02:00