There are 3 ways to import `@playwright/test` library in the modern Node.js ecosystem:
- Using `require`: works great, this patch doesn't change it
- Using `import` statement from `.mjs` file - we have wrong `default` for @playwright/test that should be a `test`. This is what test checks for
- Using `import test from '@playwright/test'` from `.ts` file - was broken because TypeScript thought it's a CJS module, whereas it's a ESM module in reality.
Also, typescript types import from `.d.ts` file was broken because we had no default export (`export *` syntax does not export default).
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
Cherry-Pick #7067 SHA d6831df26f
NOTE: this cherry-pick updates only firefox-stable build revision
and keeps the firefox-beta as-is since it's been rolled already.
Thus, the new test is explicitly skipped on firefox-beta.
Fixes#7015
Running `npx playwright test` results in a cryptic error message that says to check `--help` for more information.
I started to rewrite it, but I think instead it would be much nicer if we just treated `npx playwright test` as an alias for `npx playwright test -c .`. There is a comment in the code that worries this will be slow because it will scan the world. However we need to support this case anyway for the tests-next-to-code pattern.
It looks like this should be fast because we ignore node_modules/.gitignore entries. If this is still too slow we should make it faster. If we can't make it faster we should throw a more specific error telling the user how to make it faster.
This patch:
- rolls Firefox to v1269 which is now a firefox-stable build.
- introduces a new channel, `firefox-beta`, for our internal needs.
Fixes#6817
This reverts commit a25b11659be8887b700311180fcd3653aa9e472b.
In a discussion with Dmitry Gozman we decided to revert this and instead
proceed with the following approach:
- rename `//browser_patches/firefox` to `//browser_patches/firefox-beta`
- rename `//browser_patches/firefox-stable` folder to
`//browser_patches/firefox`
In all of the folders, we will keep the `BUILD_NUMBER` original so that
it doesn't clash on the CDN.
This patch:
- starts downloading Firefox Stable equivalent by default
- starts running Firefox-Stable on our smoke tests (tests-1)
- starts running Firefox-Beta on our CQ1 tests (tests-2)
Note: there's a little confusion right now with browser names:
- `firefox-stable` - firefox-stable equivalent
- `firefox`- firefox-beta equivalent
I'll rename `firefox` to `firefox-beta` in a follow-up.
Fixes#6817
The new message is much more prominent in the logs:
```
aslushnikov:~/prog/playwright(make-deprecation-error-more-prominent)$ node a.js
node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
^
browserType.launch: Protocol error (Playwright.enable): Browser closed.
==================== Browser output: ====================
<launching> /Users/aslushnikov/prog/playwright/browser_patches/deprecated-webkit-mac-10.14/pw_run.sh --inspector-pipe --headless --no-startup-window
<launched> pid=5120
[pid=5120][out] ****************************************************************
[pid=5120][out] ****************************************************************
[pid=5120][out]
[pid=5120][out] ERROR: MacOS version is too old!
[pid=5120][out]
[pid=5120][out] This version of Playwright does not support running
[pid=5120][out] WebKit on MacOS 10.14. Please either:
[pid=5120][out] - update your operating system to version 10.15 or higher
[pid=5120][out] - use Playwright v1.11 or older
[pid=5120][out]
[pid=5120][out] ****************************************************************
[pid=5120][out] ****************************************************************
[pid=5120] <process did exit: exitCode=1, signal=null>
[pid=5120] starting temporary directories cleanup
```