Commit Graph

12 Commits

Author SHA1 Message Date
Mathias Bynens
97c9fe2520
chore: drop support for Node.js 10 (#7200)
This is a prerequisite for shipping Puppeteer as JavaScript modules.

Issue: #6753

BREAKING CHANGE: Node.js 10 is no longer supported.
2021-05-17 11:34:58 +02:00
Jack Franklin
4796382f01
chore: enforce pinned dependencies (#7238)
* chore: enforce pinned dependencies

Because we don't check our `package-lock.json` in, we can end up with
different versions installed locally vs CI, or even two devs having
different versions. Let's pin and enforce we pin every version to
avoid this.
2021-05-14 12:02:36 +01:00
Henrik Skupin
669f04a7a6
chore: enable unit tests for Firefox on Windows (#6895)
Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2021-03-05 09:00:56 +00:00
Henrik Skupin
b046fd79bd
chore: run unit tests for Firefox on MacOS (#6896) 2021-02-18 13:44:36 +01:00
Jack Franklin
00d88ef0d8
chore: enable ff unit tests again (#6861) 2021-02-18 11:51:55 +01:00
Mathias Bynens
f7de60be22
fix: move CI npm config out of .npmrc (#6901)
This avoids issues with local `npm commands` trying to use the Wombat registry.
2021-02-17 18:52:22 +01:00
Jack Franklin
df41b87b82
chore: temporarily disable FF tests on CI (#6864)
* chore: temporarily disable FF tests on CI

The tests are regularly flaking (see #6861 for some investigation). In
the mean time it's blocking us landing and releasing, so we'll
temporarily skip FF tests for now.

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-02-11 09:14:28 +00:00
Jack Franklin
6a0eb7841f
fix: wider compat TS types and CI checks to ensure correct type defs (#6855)
* fix: wider compat TS types and CI checks to ensure correct type defs

This PR improves our TS types further to make sure they are usable in a
TS environment where ES Modules are the target output. Our use of
`export =` is problematic this environment as TypeScript does not allow
`export =` to be used and it errors.

The fix for the type issues to avoid `export =` is to instead define the
functions that you gain access to when you import Puppeteer as top level
functions in our `types.d.ts` file. We can do this by declaring them
explicitly in `src/node.ts`. These are then rolled into `lib/types.d.ts`
at build time. The downside to this is that we have to keep those
declarations in sync with the Puppeteer API; should we add a new method
to the `Puppeteer` class, we must add it to the `nodes.ts` declarations.
However, this could easily be automated by a small script that walks the
AST and generates these. I will do that in a follow-up PR, but I
consider this low risk given how rarely the very top level API of
Puppeteer changes. The nice thing about this approach is we no longer
need our script that hacks on changes to `lib/types.d.ts`.

To avoid yet more releases to fix issues in one particular TS
environment, this PR also includes a suite of example setups that we
test on each CI run. Each sample folder contains `good.ts`, which should
have no TS errors, and `bad.ts`, which should have some errors. The test
first packs Puppeteer into a tar, and then installs it from that tar
into each project. This should replicate how the published package
behaves when it is installed. We then check that we get no errors on
`good.ts`, and the expected errors on `bad.ts`.

We have a variety of test projects that cover both TS and JS source
code, and CJS and ESM imports and outputs.
2021-02-10 12:04:36 +00:00
Mathias Bynens
d799e30090
chore: let actions/checkout determine the branch by itself (#6821)
Hopefully this ensures pull requests coming from forks still get CI checks.

Issue: #6818
2021-02-05 09:04:46 +01:00
Mathias Bynens
c49d10970f
chore(ci): use GitHub Actions to run unit tests on Windows and macOS (#6782)
Similar to our earlier Travis CI setup, we continue to run exhaustive checks on Linux, while also verifying the build + unit tests still work on other platforms.

Issue: #6726
2021-01-27 14:57:41 +01:00
Mathias Bynens
9dd1aa302d
chore: add GitHub Action workflow for main CI checks (#6739) 2021-01-12 11:48:33 +01:00
Mathias Bynens
8e9970df67
chore: automate publishing on new Git tags (#6536)
Issues: #6482
2020-10-23 14:40:14 +02:00