nuxt/eslint (@nuxt/eslint-config)
### [`v0.5.7`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.7)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.6...v0.5.7)
##### ย ย ย ๐ Features
- Update deps, remove `@types/eslint` ย -ย by [@antfu](https://redirect.github.com/antfu) [(a24f3)](https://redirect.github.com/nuxt/eslint/commit/a24f30b)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.6...v0.5.7)
### [`v0.5.6`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.6)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.5...v0.5.6)
##### ย ย ย ๐ Features
- **module**: Support customizable `config.configFile`, use relative path to resolve, fix [#495](https://redirect.github.com/nuxt/eslint/issues/495) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/495](https://redirect.github.com/nuxt/eslint/issues/495) [(a4ab4)](https://redirect.github.com/nuxt/eslint/commit/a4ab4f5)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.5...v0.5.6)
### [`v0.5.5`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.5)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.4...v0.5.5)
##### ย ย ย ๐ Bug Fixes
- Remove unused dependencies ย -ย by [@bluwy](https://redirect.github.com/bluwy) in [https://github.com/nuxt/eslint/issues/493](https://redirect.github.com/nuxt/eslint/issues/493) [(46d0d)](https://redirect.github.com/nuxt/eslint/commit/46d0d82)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.4...v0.5.5)
### [`v0.5.4`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.4)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.3...v0.5.4)
##### ย ย ย ๐ Features
- **config**: Support Nuxt 4 convention by default, resolve [#487](https://redirect.github.com/nuxt/eslint/issues/487) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/487](https://redirect.github.com/nuxt/eslint/issues/487) [(42aed)](https://redirect.github.com/nuxt/eslint/commit/42aeded)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.3...v0.5.4)
### [`v0.5.3`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.3)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.2...v0.5.3)
*No significant changes*
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.2...v0.5.3)
### [`v0.5.2`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.2)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.1...v0.5.2)
##### ย ย ย ๐ Bug Fixes
- **eslint-config**: Do not eagerly import ts-eslint parser, close [#485](https://redirect.github.com/nuxt/eslint/issues/485) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/485](https://redirect.github.com/nuxt/eslint/issues/485) [(4b5d6)](https://redirect.github.com/nuxt/eslint/commit/4b5d65c)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.1...v0.5.2)
### [`v0.5.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.1)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.0...v0.5.1)
##### ย ย ย ๐ Features
- Improve error messages for plugin conflicts, close [#450](https://redirect.github.com/nuxt/eslint/issues/450), close [#474](https://redirect.github.com/nuxt/eslint/issues/474) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/450](https://redirect.github.com/nuxt/eslint/issues/450) and [https://github.com/nuxt/eslint/issues/474](https://redirect.github.com/nuxt/eslint/issues/474) [(bc055)](https://redirect.github.com/nuxt/eslint/commit/bc0559e)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.0...v0.5.1)
### [`v0.5.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.0)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.4.0...v0.5.0)
##### ย ย ย ๐ Features
- Enable `@typescript-eslint/no-import-type-side-effects`, close [#439](https://redirect.github.com/nuxt/eslint/issues/439) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/439](https://redirect.github.com/nuxt/eslint/issues/439) [(7361c)](https://redirect.github.com/nuxt/eslint/commit/7361c73)
- Upgrade `@typescript-eslint` to v8 ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/471](https://redirect.github.com/nuxt/eslint/issues/471) [(4d08e)](https://redirect.github.com/nuxt/eslint/commit/4d08ea8)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.4.0...v0.5.0)
### [`v0.4.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.4.0)
[Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.3.13...v0.4.0)
##### ย ย ย ๐ Features
- Upgrade `@types/eslint` ย -ย by [@antfu](https://redirect.github.com/antfu) [(ebc8f)](https://redirect.github.com/nuxt/eslint/commit/ebc8f2c)
- Enable `features.typescript` only when `typescript` is installed locally, fix [#437](https://redirect.github.com/nuxt/eslint/issues/437) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/437](https://redirect.github.com/nuxt/eslint/issues/437) [(77bc7)](https://redirect.github.com/nuxt/eslint/commit/77bc797)
- Include nitro unimport to `globals` as well, close [#461](https://redirect.github.com/nuxt/eslint/issues/461) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/461](https://redirect.github.com/nuxt/eslint/issues/461) [(533fa)](https://redirect.github.com/nuxt/eslint/commit/533fa40)
- Add `public` folder to default ignore, close [#453](https://redirect.github.com/nuxt/eslint/issues/453) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/453](https://redirect.github.com/nuxt/eslint/issues/453) [(b0e3e)](https://redirect.github.com/nuxt/eslint/commit/b0e3e72)
- Add server components to single root list, fix [#457](https://redirect.github.com/nuxt/eslint/issues/457) ย -ย by [@antfu](https://redirect.github.com/antfu) and **kingyue737** in [https://github.com/nuxt/eslint/issues/457](https://redirect.github.com/nuxt/eslint/issues/457) [(6e232)](https://redirect.github.com/nuxt/eslint/commit/6e232f0)
##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.3.13...v0.4.0)
mmkal/expect-type (expect-type)
### [`v0.20.0`](https://redirect.github.com/mmkal/expect-type/releases/tag/v0.20.0)
[Compare Source](https://redirect.github.com/mmkal/expect-type/compare/0.19.0...v0.20.0)
#### Breaking changes
- improve overloads support, attempt 2 by [@mmkal](https://redirect.github.com/mmkal) in [https://github.com/mmkal/expect-type/pull/83](https://redirect.github.com/mmkal/expect-type/pull/83)
This change updates how overloaded functions are treated. Now, `.parameters` gives you a *union* of the parameter-tuples that a function can take. For example, given the following type:
```ts
type Factorize = {
(input: number): number[]
(input: bigint): bigint[]
}
```
Behvaiour before:
```ts
expectTypeOf().parameters.toEqualTypeOf<[bigint]>()
```
Behaviour now:
```ts
expectTypeOf().parameters.toEqualTypeOf<[number] | [bigint]>()
```
There were similar changes for `.returns`, `.parameter(...)`, and `.toBeCallableWith`. Also, overloaded functions are now differentiated properly when using `.branded.toEqualTypeOf` (this was a bug that it seems nobody found).
See [#83](https://redirect.github.com/mmkal/expect-type/issues/83) for more details or look at the updated docs (including a new section called "[Overloaded functions](https://redirect.github.com/mmkal/expect-type#overloaded-functions)", which has more info on how this behaviour differs for TypeScript versions before 5.3).
#### What's Changed
- Fix rendering issue in readme by [@mrazauskas](https://redirect.github.com/mrazauskas) in [https://github.com/mmkal/expect-type/pull/69](https://redirect.github.com/mmkal/expect-type/pull/69)
- Fix minor issues in docs by [@aryaemami59](https://redirect.github.com/aryaemami59) in [https://github.com/mmkal/expect-type/pull/91](https://redirect.github.com/mmkal/expect-type/pull/91)
- create utils file by [@mmkal](https://redirect.github.com/mmkal) in [https://github.com/mmkal/expect-type/pull/93](https://redirect.github.com/mmkal/expect-type/pull/93)
- branding.ts and messages.ts by [@mmkal](https://redirect.github.com/mmkal) in [https://github.com/mmkal/expect-type/pull/95](https://redirect.github.com/mmkal/expect-type/pull/95)
- improve overloads support, attempt 2 by [@mmkal](https://redirect.github.com/mmkal) in [https://github.com/mmkal/expect-type/pull/83](https://redirect.github.com/mmkal/expect-type/pull/83)
- Extends: explain myself [`1e37116`](https://redirect.github.com/mmkal/expect-type/commit/1e37116)
- Mark internal APIs with `@internal` JSDoc tag ([#104](https://redirect.github.com/mmkal/expect-type/issues/104)) [`4c40b07`](https://redirect.github.com/mmkal/expect-type/commit/4c40b07)
- Re-export everything in `overloads.ts` file ([#107](https://redirect.github.com/mmkal/expect-type/issues/107)) [`5ee0181`](https://redirect.github.com/mmkal/expect-type/commit/5ee0181)
- JSDoc improvements ([#100](https://redirect.github.com/mmkal/expect-type/issues/100)) [`0bbeffa`](https://redirect.github.com/mmkal/expect-type/commit/0bbeffa)
**Full Changelog**: https://github.com/mmkal/expect-type/compare/v0.19.0...v0.20.0
typicode/husky (husky)
### [`v9.1.6`](https://redirect.github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849)
[Compare Source](https://redirect.github.com/typicode/husky/compare/v9.1.5...v9.1.6)
microsoft/playwright (playwright)
### [`v1.47.1`](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...3d2ffd0fe97f23f480092054da5928539a3c5beb)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...v1.47.1)
### [`v1.47.0`](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...d5943def35edadc6f9bd8daeed382559d2a55fbe)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...v1.47.0)
### [`v1.46.1`](https://redirect.github.com/microsoft/playwright/compare/v1.46.0...e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.0...v1.46.1)
### [`v1.46.0`](https://redirect.github.com/microsoft/playwright/compare/v1.45.3...99a36310570617222290c09b96a2026beb8b00f9)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.3...v1.46.0)
### [`v1.45.3`](https://redirect.github.com/microsoft/playwright/compare/v1.45.2...0e130fa8edaf85765c4a5a86bded0e6d33bfd7c2)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.2...v1.45.3)
### [`v1.45.2`](https://redirect.github.com/microsoft/playwright/compare/v1.45.1...d8a5f3b33193e413b404ff4aa1f71e859d8f1b6b)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.1...v1.45.2)
### [`v1.45.1`](https://redirect.github.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.0...v1.45.1)
### [`v1.45.0`](https://redirect.github.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.44.1...v1.45.0)
### [`v1.44.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.44.1)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.44.0...v1.44.1)
##### Highlights
[https://github.com/microsoft/playwright/issues/30779](https://redirect.github.com/microsoft/playwright/issues/30779) - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[https://github.com/microsoft/playwright/issues/30755](https://redirect.github.com/microsoft/playwright/issues/30755) - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[https://github.com/microsoft/playwright/issues/30770](https://redirect.github.com/microsoft/playwright/issues/30770)0 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[https://github.com/microsoft/playwright/issues/30858](https://redirect.github.com/microsoft/playwright/issues/30858)58 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report
#### Browser Versions
- Chromium 125.0.6422.14
- Mozilla Firefox 125.0.1
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 124
- Microsoft Edge 124
### [`v1.44.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.44.0)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.43.1...v1.44.0)
#### New APIs
**Accessibility assertions**
- [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name:
```js
const locator = page.getByRole('button');
await expect(locator).toHaveAccessibleName('Submit');
```
- [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description:
```js
const locator = page.getByRole('button');
await expect(locator).toHaveAccessibleDescription('Upload a photo');
```
- [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role:
```js
const locator = page.getByTestId('save-button');
await expect(locator).toHaveRole('button');
```
**Locator handler**
- After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option.
- You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run.
- The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument.
- New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers.
```js
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
```
**Miscellaneous options**
- [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name.
```js
const formData = new FormData();
formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
context.request.post('https://example.com/uploadFiles', {
multipart: formData
});
```
- `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect).
- `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).
- [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure per project whether to skip screenshot expectations.
**Reporter API**
- New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list.
- [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD.
- [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option.
**Command line**
- `--last-failed` CLI option for running only tests that failed in the previous run.
First run all tests:
```sh
$ npx playwright test
Running 103 tests using 5 workers
...
2 failed
[chromium] โบ my-test.spec.ts:8:5 โบ two โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[chromium] โบ my-test.spec.ts:13:5 โบ three โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
101 passed (30.0s)
```
Now fix the failing tests and run Playwright again with `--last-failed` option:
```sh
$ npx playwright test --last-failed
Running 2 tests using 2 workers
2 passed (1.2s)
```
#### Browser Versions
- Chromium 125.0.6422.14
- Mozilla Firefox 125.0.1
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 124
- Microsoft Edge 124
### [`v1.43.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.43.1)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.43.0...v1.43.1)
##### Highlights
[https://github.com/microsoft/playwright/issues/30300](https://redirect.github.com/microsoft/playwright/issues/30300) - \[REGRESSION]: UI mode restarts if keep storage state[https://github.com/microsoft/playwright/issues/30339](https://redirect.github.com/microsoft/playwright/issues/30339)9 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode
##### Browser Versions
- Chromium 124.0.6367.29
- Mozilla Firefox 124.0
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 123
- Microsoft Edge 123
### [`v1.43.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.43.0)
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.42.1...v1.43.0)
#### New APIs
- Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.
```js
// Clear all cookies.
await context.clearCookies();
// New: clear cookies with a particular name.
await context.clearCookies({ name: 'session-id' });
// New: clear cookies for a particular domain.
await context.clearCookies({ domain: 'my-origin.com' });
```
- New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.
```js title=playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
trace: 'retain-on-first-failure',
},
});
```
- New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.
```js
test('example', async ({ page }) => {
console.log(test.info().tags);
});
```
- New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.
```js
const locator = page.locator('iframe[name="embedded"]');
// ...
const frameLocator = locator.contentFrame();
await frameLocator.getByRole('button').click();
```
- New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.
```js
const frameLocator = page.frameLocator('iframe[name="embedded"]');
// ...
const locator = frameLocator.owner();
await expect(locator).toBeVisible();
```
#### UI Mode Updates
![Playwright UI Mode](https://redirect.github.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)
- See tags in the test list.
- Filter by tags by typing `@fast` or clicking on the tag itself.
- New shortcuts:
- F5 to run tests.
- ShiftF5 to stop running tests.
- Ctrl\` to toggle test output.
#### Browser Versions
- Chromium 124.0.6367.29
- Mozilla Firefox 124.0
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 123
- Microsoft Edge 123
pnpm/pnpm (pnpm)
### [`v9.10.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.10.0): pnpm 9.10
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)
#### Minor Changes
- Support for a new CLI flag, `--exclude-peers`, added to the `list` and `why` commands. When `--exclude-peers` is used, peer dependencies are not printed in the results, but dependencies of peer dependencies are still scanned [#8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at `pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their GHSA code [#6838](https://redirect.github.com/pnpm/pnpm/issues/6838).
For instance:
```json
{
"pnpm": {
"auditConfig": {
"ignoreGhsas": [
"GHSA-42xw-2xvc-qx8m",
"GHSA-4w2v-q235-vp99",
"GHSA-cph5-m8f7-6c5x",
"GHSA-vh95-rmgr-6w4m"
]
}
}
}
```
#### Patch Changes
- Throw an exception if pnpm switches to the same version of itself.
- Reduce memory usage during peer dependencies resolution.
#### Platinum Sponsors
#### Gold Sponsors
#### Our Silver Sponsors
### [`v9.9.0`](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)
### [`v9.8.0`](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)
### [`v9.7.1`](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)
### [`v9.7.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.7.0): pnpm 9.7
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)
#### Minor Changes
- Added pnpm version management. If the `manage-package-manager-versions` setting is set to `true`, pnpm will switch to the version specified in the `packageManager` field of `package.json` [#8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is the same field used by Corepack. Example:
```json
{
"packageManager": "pnpm@9.3.0"
}
```
- Added the ability to apply patch to all versions [#8337](https://redirect.github.com/pnpm/pnpm/pull/8337).
If the key of `pnpm.patchedDependencies` is a package name without a version (e.g. `pkg`), pnpm will attempt to apply the patch to all versions of the package. Failures will be skipped. If there's only one version of `pkg` installed, `pnpm patch pkg` and subsequent `pnpm patch-commit $edit_dir` will create an entry named `pkg` in `pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to other versions of `pkg` in the future.
- Change the default edit dir location when running `pnpm patch` from a temporary directory to `node_modules/.pnpm_patches/pkg[@version]` to allow the code editor to open the edit dir in the same file tree as the main project [#8379](https://redirect.github.com/pnpm/pnpm/issues/8379).
- Substitute environment variables in config keys [#6679](https://redirect.github.com/pnpm/pnpm/issues/6679).
#### Patch Changes
- `pnpm install` should run `node-gyp rebuild` if the project has a `binding.gyp` file even if the project doesn't have an install script [#8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr [#8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be automatically installed [#8323](https://redirect.github.com/pnpm/pnpm/issues/8323).
#### Platinum Sponsors
#### Gold Sponsors
#### Our Silver Sponsors
### [`v9.6.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.6.0): pnpm 9.6
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.5.0...v9.6.0)
#### Minor Changes
- Support specifying node version (via `pnpm.executionEnv.nodeVersion` in `package.json`) for running lifecycle scripts per each package in a workspace [#6720](https://redirect.github.com/pnpm/pnpm/issues/6720).
- Overrides now support the [`catalogs:` protocol](https://pnpm.io/catalogs) [#8303](https://redirect.github.com/pnpm/pnpm/issues/8303).
#### Patch Changes
- The `pnpm deploy` command now supports the [`catalog:` protocol](https://pnpm.io/catalogs) [#8298](https://redirect.github.com/pnpm/pnpm/pull/8298).
- The `pnpm outdated` command now supports the [`catalog:` protocol](https://pnpm.io/catalogs) [#8304](https://redirect.github.com/pnpm/pnpm/pull/8304).
- Correct the error message when trying to run `pnpm patch` without `node_modules/.modules.yaml` [#8257](https://redirect.github.com/pnpm/pnpm/issues/8257).
- Silent reporting fixed with the `pnpm exec` command [#7608](https://redirect.github.com/pnpm/pnpm/issues/7608).
- Add registries information to the calculation of dlx cache hash [#8299](https://redirect.github.com/pnpm/pnpm/pull/8299).
#### Platinum Sponsors
#### Gold Sponsors
#### Our Silver Sponsors
### [`v9.5.0`](https://redirect.github.com/pnpm/pnpm/compare/v9.5.0-beta.3...v9.5.0)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.4.0...v9.5.0)
### [`v9.4.0`](https://redirect.github.com/pnpm/pnpm/compare/v9.3.0...v9.4.0)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.3.0...v9.4.0)
### [`v9.3.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.3.0)
[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.2.0...v9.3.0)
#### Minor Changes
- **Semi-breaking.** Dependency key names in the lockfile are shortened if they are longer than 1000 characters. We don't expect this change to affect many users. Affected users most probably can't run install successfully at the moment. This change is required to fix some edge cases in which installation fails with an out-of-memory error or "Invalid string length (RangeError: Invalid string length)" error. The max allowed length of the dependency key can be controlled with the `peers-suffix-max-length` setting [#8177](https://redirect.github.com/pnpm/pnpm/pull/8177).
#### Patch Changes
- Set `reporter-hide-prefix` to `true` by default for `pnpm exec`. In order to show prefix, the user now has to explicitly set `reporter-hide-prefix=false` [#8174](https://redirect.github.com/pnpm/pnpm/issues/8174).
#### Platinum Sponsors
#### Gold Sponsors
if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
To trigger a single review, invoke the @coderabbitai review command.
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Tips
### Chat
There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
-- `I pushed a fix in commit , please review it.`
-- `Generate unit testing code for this file.`
- `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
-- `@coderabbitai generate unit testing code for this file.`
-- `@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
-- `@coderabbitai generate interesting stats about this repository and render them as a table.`
-- `@coderabbitai read src/utils.ts and generate unit testing code.`
-- `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
-- `@coderabbitai help me debug CodeRabbit configuration file.`
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
### CodeRabbit Commands (Invoked using PR comments)
- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.
### Other keywords and placeholders
- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
### CodeRabbit Configuration File (`.coderabbit.yaml`)
- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`
### Documentation and Community
- Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
This PR contains the following updates:
0.3.13
->0.5.7
20.14.14
->20.16.5
0.19.0
->0.20.0
9.1.5
->9.1.6
1.42.1
->1.47.1
9.0.6
->9.10.0
5.4.5
->5.6.2
Release Notes
nuxt/eslint (@nuxt/eslint-config)
### [`v0.5.7`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.7) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.6...v0.5.7) ##### ย ย ย ๐ Features - Update deps, remove `@types/eslint` ย -ย by [@antfu](https://redirect.github.com/antfu) [(a24f3)](https://redirect.github.com/nuxt/eslint/commit/a24f30b) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.6...v0.5.7) ### [`v0.5.6`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.6) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.5...v0.5.6) ##### ย ย ย ๐ Features - **module**: Support customizable `config.configFile`, use relative path to resolve, fix [#495](https://redirect.github.com/nuxt/eslint/issues/495) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/495](https://redirect.github.com/nuxt/eslint/issues/495) [(a4ab4)](https://redirect.github.com/nuxt/eslint/commit/a4ab4f5) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.5...v0.5.6) ### [`v0.5.5`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.5) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.4...v0.5.5) ##### ย ย ย ๐ Bug Fixes - Remove unused dependencies ย -ย by [@bluwy](https://redirect.github.com/bluwy) in [https://github.com/nuxt/eslint/issues/493](https://redirect.github.com/nuxt/eslint/issues/493) [(46d0d)](https://redirect.github.com/nuxt/eslint/commit/46d0d82) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.4...v0.5.5) ### [`v0.5.4`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.4) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.3...v0.5.4) ##### ย ย ย ๐ Features - **config**: Support Nuxt 4 convention by default, resolve [#487](https://redirect.github.com/nuxt/eslint/issues/487) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/487](https://redirect.github.com/nuxt/eslint/issues/487) [(42aed)](https://redirect.github.com/nuxt/eslint/commit/42aeded) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.3...v0.5.4) ### [`v0.5.3`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.3) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.2...v0.5.3) *No significant changes* ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.2...v0.5.3) ### [`v0.5.2`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.2) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.1...v0.5.2) ##### ย ย ย ๐ Bug Fixes - **eslint-config**: Do not eagerly import ts-eslint parser, close [#485](https://redirect.github.com/nuxt/eslint/issues/485) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/485](https://redirect.github.com/nuxt/eslint/issues/485) [(4b5d6)](https://redirect.github.com/nuxt/eslint/commit/4b5d65c) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.1...v0.5.2) ### [`v0.5.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.1) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.5.0...v0.5.1) ##### ย ย ย ๐ Features - Improve error messages for plugin conflicts, close [#450](https://redirect.github.com/nuxt/eslint/issues/450), close [#474](https://redirect.github.com/nuxt/eslint/issues/474) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/450](https://redirect.github.com/nuxt/eslint/issues/450) and [https://github.com/nuxt/eslint/issues/474](https://redirect.github.com/nuxt/eslint/issues/474) [(bc055)](https://redirect.github.com/nuxt/eslint/commit/bc0559e) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.5.0...v0.5.1) ### [`v0.5.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.5.0) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.4.0...v0.5.0) ##### ย ย ย ๐ Features - Enable `@typescript-eslint/no-import-type-side-effects`, close [#439](https://redirect.github.com/nuxt/eslint/issues/439) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/439](https://redirect.github.com/nuxt/eslint/issues/439) [(7361c)](https://redirect.github.com/nuxt/eslint/commit/7361c73) - Upgrade `@typescript-eslint` to v8 ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/471](https://redirect.github.com/nuxt/eslint/issues/471) [(4d08e)](https://redirect.github.com/nuxt/eslint/commit/4d08ea8) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.4.0...v0.5.0) ### [`v0.4.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v0.4.0) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v0.3.13...v0.4.0) ##### ย ย ย ๐ Features - Upgrade `@types/eslint` ย -ย by [@antfu](https://redirect.github.com/antfu) [(ebc8f)](https://redirect.github.com/nuxt/eslint/commit/ebc8f2c) - Enable `features.typescript` only when `typescript` is installed locally, fix [#437](https://redirect.github.com/nuxt/eslint/issues/437) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/437](https://redirect.github.com/nuxt/eslint/issues/437) [(77bc7)](https://redirect.github.com/nuxt/eslint/commit/77bc797) - Include nitro unimport to `globals` as well, close [#461](https://redirect.github.com/nuxt/eslint/issues/461) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/461](https://redirect.github.com/nuxt/eslint/issues/461) [(533fa)](https://redirect.github.com/nuxt/eslint/commit/533fa40) - Add `public` folder to default ignore, close [#453](https://redirect.github.com/nuxt/eslint/issues/453) ย -ย by [@antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/453](https://redirect.github.com/nuxt/eslint/issues/453) [(b0e3e)](https://redirect.github.com/nuxt/eslint/commit/b0e3e72) - Add server components to single root list, fix [#457](https://redirect.github.com/nuxt/eslint/issues/457) ย -ย by [@antfu](https://redirect.github.com/antfu) and **kingyue737** in [https://github.com/nuxt/eslint/issues/457](https://redirect.github.com/nuxt/eslint/issues/457) [(6e232)](https://redirect.github.com/nuxt/eslint/commit/6e232f0) ##### ย ย ย ย [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.3.13...v0.4.0)mmkal/expect-type (expect-type)
### [`v0.20.0`](https://redirect.github.com/mmkal/expect-type/releases/tag/v0.20.0) [Compare Source](https://redirect.github.com/mmkal/expect-type/compare/0.19.0...v0.20.0) #### Breaking changes - improve overloads support, attempt 2 by [@mmkal](https://redirect.github.com/mmkal) in [https://github.com/mmkal/expect-type/pull/83](https://redirect.github.com/mmkal/expect-type/pull/83) This change updates how overloaded functions are treated. Now, `.parameters` gives you a *union* of the parameter-tuples that a function can take. For example, given the following type: ```ts type Factorize = { (input: number): number[] (input: bigint): bigint[] } ``` Behvaiour before: ```ts expectTypeOftypicode/husky (husky)
### [`v9.1.6`](https://redirect.github.com/typicode/husky/compare/v9.1.5...a2d942a670b3d6a04578005a0fd2dc310e511849) [Compare Source](https://redirect.github.com/typicode/husky/compare/v9.1.5...v9.1.6)microsoft/playwright (playwright)
### [`v1.47.1`](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...3d2ffd0fe97f23f480092054da5928539a3c5beb) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...v1.47.1) ### [`v1.47.0`](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...d5943def35edadc6f9bd8daeed382559d2a55fbe) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...v1.47.0) ### [`v1.46.1`](https://redirect.github.com/microsoft/playwright/compare/v1.46.0...e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.0...v1.46.1) ### [`v1.46.0`](https://redirect.github.com/microsoft/playwright/compare/v1.45.3...99a36310570617222290c09b96a2026beb8b00f9) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.3...v1.46.0) ### [`v1.45.3`](https://redirect.github.com/microsoft/playwright/compare/v1.45.2...0e130fa8edaf85765c4a5a86bded0e6d33bfd7c2) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.2...v1.45.3) ### [`v1.45.2`](https://redirect.github.com/microsoft/playwright/compare/v1.45.1...d8a5f3b33193e413b404ff4aa1f71e859d8f1b6b) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.1...v1.45.2) ### [`v1.45.1`](https://redirect.github.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.45.0...v1.45.1) ### [`v1.45.0`](https://redirect.github.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.44.1...v1.45.0) ### [`v1.44.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.44.1) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.44.0...v1.44.1) ##### Highlights [https://github.com/microsoft/playwright/issues/30779](https://redirect.github.com/microsoft/playwright/issues/30779) - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed [https://github.com/microsoft/playwright/issues/30755](https://redirect.github.com/microsoft/playwright/issues/30755) - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[https://github.com/microsoft/playwright/issues/30770](https://redirect.github.com/microsoft/playwright/issues/30770)0 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[https://github.com/microsoft/playwright/issues/30858](https://redirect.github.com/microsoft/playwright/issues/30858)58 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124 ### [`v1.44.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.44.0) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.43.1...v1.44.0) #### New APIs **Accessibility assertions** - [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleName('Submit'); ``` - [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description: ```js const locator = page.getByRole('button'); await expect(locator).toHaveAccessibleDescription('Upload a photo'); ``` - [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role: ```js const locator = page.getByTestId('save-button'); await expect(locator).toHaveRole('button'); ``` **Locator handler** - After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option. - You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run. - The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument. - New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers. ```js const locator = page.getByText('This interstitial covers the button'); await page.addLocatorHandler(locator, async overlay => { await overlay.locator('#close').click(); }, { times: 3, noWaitAfter: true }); // Run your tests that can be interrupted by the overlay. // ... await page.removeLocatorHandler(locator); ``` **Miscellaneous options** - [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name. ```js const formData = new FormData(); formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' })); formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' })); context.request.post('https://example.com/uploadFiles', { multipart: formData }); ``` - `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect). - `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case). - [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure per project whether to skip screenshot expectations. **Reporter API** - New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list. - [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD. - [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option. **Command line** - `--last-failed` CLI option for running only tests that failed in the previous run. First run all tests: ```sh $ npx playwright test Running 103 tests using 5 workers ... 2 failed [chromium] โบ my-test.spec.ts:8:5 โบ two โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ [chromium] โบ my-test.spec.ts:13:5 โบ three โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 101 passed (30.0s) ``` Now fix the failing tests and run Playwright again with `--last-failed` option: ```sh $ npx playwright test --last-failed Running 2 tests using 2 workers 2 passed (1.2s) ``` #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124 ### [`v1.43.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.43.1) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.43.0...v1.43.1) ##### Highlights [https://github.com/microsoft/playwright/issues/30300](https://redirect.github.com/microsoft/playwright/issues/30300) - \[REGRESSION]: UI mode restarts if keep storage state[https://github.com/microsoft/playwright/issues/30339](https://redirect.github.com/microsoft/playwright/issues/30339)9 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode ##### Browser Versions - Chromium 124.0.6367.29 - Mozilla Firefox 124.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 123 - Microsoft Edge 123 ### [`v1.43.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.43.0) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.42.1...v1.43.0) #### New APIs - Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies. ```js // Clear all cookies. await context.clearCookies(); // New: clear cookies with a particular name. await context.clearCookies({ name: 'session-id' }); // New: clear cookies for a particular domain. await context.clearCookies({ domain: 'my-origin.com' }); ``` - New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed. ```js title=playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ use: { trace: 'retain-on-first-failure', }, }); ``` - New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution. ```js test('example', async ({ page }) => { console.log(test.info().tags); }); ``` - New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame. ```js const locator = page.locator('iframe[name="embedded"]'); // ... const frameLocator = locator.contentFrame(); await frameLocator.getByRole('button').click(); ``` - New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element. ```js const frameLocator = page.frameLocator('iframe[name="embedded"]'); // ... const locator = frameLocator.owner(); await expect(locator).toBeVisible(); ``` #### UI Mode Updates ![Playwright UI Mode](https://redirect.github.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300) - See tags in the test list. - Filter by tags by typing `@fast` or clicking on the tag itself. - New shortcuts: - F5 to run tests. - Shift F5 to stop running tests. - Ctrl \` to toggle test output. #### Browser Versions - Chromium 124.0.6367.29 - Mozilla Firefox 124.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 123 - Microsoft Edge 123pnpm/pnpm (pnpm)
### [`v9.10.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.10.0): pnpm 9.10 [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0) #### Minor Changes - Support for a new CLI flag, `--exclude-peers`, added to the `list` and `why` commands. When `--exclude-peers` is used, peer dependencies are not printed in the results, but dependencies of peer dependencies are still scanned [#8506](https://redirect.github.com/pnpm/pnpm/pull/8506). - Added a new setting to `package.json` at `pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their GHSA code [#6838](https://redirect.github.com/pnpm/pnpm/issues/6838). For instance: ```json { "pnpm": { "auditConfig": { "ignoreGhsas": [ "GHSA-42xw-2xvc-qx8m", "GHSA-4w2v-q235-vp99", "GHSA-cph5-m8f7-6c5x", "GHSA-vh95-rmgr-6w4m" ] } } } ``` #### Patch Changes - Throw an exception if pnpm switches to the same version of itself. - Reduce memory usage during peer dependencies resolution. #### Platinum SponsorsThis PR was generated by Mend Renovate. View the repository job log.
Tips
### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: -- `I pushed a fix in commitNew and removed dependencies detected. Learn more about Socket for GitHub โ๏ธ
+136
0
0
0
+1
๐ฎ Removed packages: npm/@nuxt/eslint-config@0.3.13, npm/@types/node@20.14.14, npm/expect-type@0.19.0, npm/husky@9.1.5, npm/playwright@1.42.1
View full reportโ๏ธ