feat: experimental Chrome DevTools CLI#1100
Merged
mathiasbynens merged 11 commits intomainfrom Mar 11, 2026
Merged
Conversation
Collaborator
Author
|
@zyzyzyryxy there are new dependencies because we need to bundle the client for the daemon. |
zyzyzyryxy
approved these changes
Mar 4, 2026
Contributor
zyzyzyryxy
left a comment
There was a problem hiding this comment.
There should be no problem with new deps.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 5, 2026
extracts non-launch related fixes from #1100
Collaborator
Author
|
@natorion I improved the skill |
14991cc to
3f2d6c8
Compare
Collaborator
Author
|
@natorion @matthiasrohmer I think we should also test on Windows in the headful mode (to make sure no cmd.exe windows show up when we launch CLI, we cannot see it in Github Actions runs). |
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 6, 2026
MCP SDK client does not set windowsHide when spawning the process unless it is on windows under Electron (not sure why). But I think we can safely pretend to be "electron". Refs modelcontextprotocol/typescript-sdk#1638 Refs #1100
natorion
approved these changes
Mar 11, 2026
Contributor
natorion
left a comment
There was a problem hiding this comment.
I tested it and with the improvements its very smooth.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 11, 2026
🤖 I have created a release *beep* *boop* --- ## [0.20.0](chrome-devtools-mcp-v0.19.0...chrome-devtools-mcp-v0.20.0) (2026-03-11) ### 🎉 Features * experimental `chrome-devtools` CLI ([#1100](#1100)) ([1ac574e](1ac574e)) ### 📄 Documentation * fix typo ([#1155](#1155)) ([b59cabc](b59cabc)) * fix typos and improve phrasing ([#1130](#1130)) ([70d4f36](70d4f36)) * revise contribution process and add release process ([#1134](#1134)) ([d7d26a1](d7d26a1)) * **troubleshooting:** add symptom for missing tools due to read-only mode ([#1148](#1148)) ([57e7d51](57e7d51)) * Update troubleshooting for MCP server connection errors ([#1017](#1017)) ([00f9c31](00f9c31)) ### 🏗️ Refactor * move main files ([#1120](#1120)) ([c2d8009](c2d8009)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
rabye88999-hash
added a commit
to rabye88999-hash/chrome-devtools-mcp
that referenced
this pull request
Mar 17, 2026
* chore(deps-dev): bump the dev-dependencies group with 6 updates (#1142)
Bumps the dev-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) |
`9.39.3` | `9.39.4` |
| [@google/genai](https://github.com/googleapis/js-genai) | `1.43.0` |
`1.44.0` |
|
[@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs)
| `29.0.0` | `29.0.2` |
|
[@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin)
| `5.9.0` | `5.10.0` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `25.3.3` | `25.3.5` |
| [eslint](https://github.com/eslint/eslint) | `9.39.3` | `9.39.4` |
Updates `@eslint/js` from 9.39.3 to 9.39.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases"><code>@eslint/js</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v9.39.4</h2>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/f18f6c8ae92a1bcfc558f48c0bd863ea94067459"><code>f18f6c8</code></a>
fix: update dependency minimatch to ^3.1.5 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20564">#20564</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a3c868f6ef103c1caff9d15f744f9ebd995e872f"><code>a3c868f</code></a>
fix: update dependency <code>@eslint/eslintrc</code> to ^3.3.4 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20554">#20554</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/234d005da6cd3c924f359e3783fbf565a3c047c3"><code>234d005</code></a>
fix: minimatch security vulnerability patch for v9.x (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20549">#20549</a>)
(Andrej Beles)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b1b37eecaa033d2e390e1d8f1d6e68d0f5ff3a6a"><code>b1b37ee</code></a>
fix: update <code>ajv</code> to <code>6.14.0</code> to address security
vulnerabilities (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20538">#20538</a>)
(루밀LuMir)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/46751526037682f8b42abcfb3e06d19213719347"><code>4675152</code></a>
docs: add deprecation notice partial (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20520">#20520</a>)
(Milos Djermanovic)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/b8b4eb15901c1bd6ef40d2589da4ae75795c0f6e"><code>b8b4eb1</code></a>
chore: update dependencies for ESLint v9.39.4 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20596">#20596</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/71b2f6b628b76157b4a2a296cb969dc56abb296c"><code>71b2f6b</code></a>
chore: package.json update for <code>@eslint/js</code> release
(Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1d16c2fa3998440ae7b0f6e2612935bd6b0ded1d"><code>1d16c2f</code></a>
ci: pin Node.js 25.6.1 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20563">#20563</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/71b2f6b628b76157b4a2a296cb969dc56abb296c"><code>71b2f6b</code></a>
chore: package.json update for <code>@eslint/js</code> release</li>
<li>See full diff in <a
href="https://github.com/eslint/eslint/commits/v9.39.4/packages/js">compare
view</a></li>
</ul>
</details>
<br />
Updates `@google/genai` from 1.43.0 to 1.44.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/releases"><code>@google/genai</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.44.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.43.0...v1.44.0">1.44.0</a>
(2026-03-04)</h2>
<h3>Features</h3>
<ul>
<li>Add gemini-3.1-flash-image-preview model (<a
href="https://github.com/googleapis/js-genai/commit/175603bacbc593a437264f807a411143cdccbd0a">175603b</a>)</li>
<li>Support signature for all Interaction tool types (<a
href="https://github.com/googleapis/js-genai/commit/b79108fdd60d11e45cac916e6ea369eac95ff570">b79108f</a>)</li>
<li>Update data types from discovery doc. (<a
href="https://github.com/googleapis/js-genai/commit/249b15a3b948d1453719af2a7df32490de20b423">249b15a</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/blob/main/CHANGELOG.md"><code>@google/genai</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.43.0...v1.44.0">1.44.0</a>
(2026-03-04)</h2>
<h3>Features</h3>
<ul>
<li>Add gemini-3.1-flash-image-preview model (<a
href="https://github.com/googleapis/js-genai/commit/175603bacbc593a437264f807a411143cdccbd0a">175603b</a>)</li>
<li>Support signature for all Interaction tool types (<a
href="https://github.com/googleapis/js-genai/commit/b79108fdd60d11e45cac916e6ea369eac95ff570">b79108f</a>)</li>
<li>Update data types from discovery doc. (<a
href="https://github.com/googleapis/js-genai/commit/249b15a3b948d1453719af2a7df32490de20b423">249b15a</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/4e4ed3d36a1989219e4e80e9ca4b8e3acf656b35"><code>4e4ed3d</code></a>
chore(main): release 1.44.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1361">#1361</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/e31d0bb9120dcb3ed5e126de731fee6f0f6d8c30"><code>e31d0bb</code></a>
chore: Optimize streaming</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/a2ada3f24b682e29874bcc7b07b466113160a492"><code>a2ada3f</code></a>
chore: Add vertex_internal export path for internal use by the Vertex
SDK</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/f9b4c89960a1a5b344cf1c3e34604a13eabb4662"><code>f9b4c89</code></a>
Flip Prettier Default to version 3.6.2.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/6cb8bf083489886eed246e01798af09864b67bb5"><code>6cb8bf0</code></a>
refactor: Improve web compatibility by making a partial declaration of
NodeJS...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/89400098586daca233d791655f44ee530de0ae67"><code>8940009</code></a>
chore: remove stainless headers</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/4a59c563bb5117b504fb84bafd5053f0044cc3cc"><code>4a59c56</code></a>
chore: Relax API key requirement for Gemini API initialization.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/249b15a3b948d1453719af2a7df32490de20b423"><code>249b15a</code></a>
feat: Update data types from discovery doc.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/b79108fdd60d11e45cac916e6ea369eac95ff570"><code>b79108f</code></a>
feat: Support signature for all Interaction tool types</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/249b086358e8058d6fd2088428846c3577db563a"><code>249b086</code></a>
chore: Explicitly use <code>export type</code> for type-only
exports.</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/js-genai/compare/v1.43.0...v1.44.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `@rollup/plugin-commonjs` from 29.0.0 to 29.0.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md"><code>@rollup/plugin-commonjs</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v29.0.2</h2>
<p><em>2026-03-06</em></p>
<h3>Bugfixes</h3>
<ul>
<li>commonjs: conditional exports (<a
href="https://redirect.github.com/rollup/plugins/issues/1952">#1952</a>)</li>
</ul>
<h2>v29.0.1</h2>
<p><em>2026-03-05</em></p>
<h3>Bugfixes</h3>
<ul>
<li>commonjs: correctly replaces shorthand "global" property
in object (<a
href="https://redirect.github.com/rollup/plugins/issues/1957">#1957</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/plugins/commit/2de0d623224a4003eed9c65143ff99db145869df"><code>2de0d62</code></a>
chore(release): commonjs v29.0.2</li>
<li><a
href="https://github.com/rollup/plugins/commit/ab65325653e2103509e37099cad3e8afd6c53f8e"><code>ab65325</code></a>
fix(commonjs): conditional exports (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1952">#1952</a>)</li>
<li><a
href="https://github.com/rollup/plugins/commit/7d22981cdc03a1de31a3ec990d24a379c090fe3d"><code>7d22981</code></a>
chore(repo): add <code>rollup-plugin</code> keyword in package.json (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1955">#1955</a>)</li>
<li><a
href="https://github.com/rollup/plugins/commit/a79ae55986c056bf6251205a7014295e4b0b5bee"><code>a79ae55</code></a>
chore(release): commonjs v29.0.1</li>
<li><a
href="https://github.com/rollup/plugins/commit/bb41cfd82bd20dd8d132054d1442aea5922fdbd2"><code>bb41cfd</code></a>
chore(release): commonjs v29.0.1</li>
<li><a
href="https://github.com/rollup/plugins/commit/14ae18676d9df3ec781877a331ceb82964bc248c"><code>14ae186</code></a>
fix(commonjs): correctly replaces shorthand "global" property
in object (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1957">#1957</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/plugins/commits/commonjs-v29.0.2/packages/commonjs">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for <code>@rollup/plugin-commonjs</code> since
your current version.</p>
</details>
<br />
Updates `@stylistic/eslint-plugin` from 5.9.0 to 5.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/releases"><code>@stylistic/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v5.10.0</h2>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0">5.10.0</a>
(2026-03-06)</h2>
<h3>Features</h3>
<ul>
<li><strong>list-style:</strong> allow 'off' in overrides (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144">#1144</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290">c43bd4b</a>)</li>
<li><strong>padding-line-between-statements:</strong> introduce
<code>lineMode</code> for selector matcher (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143">#1143</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb">1ebd6d8</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/download-artifact from 7 to 8
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153">#1153</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9">78ca032</a>)</li>
<li><strong>deps:</strong> bump actions/upload-artifact from 6 to 7 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154">#1154</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3">01f7b17</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>no export all for <code>@typescript-eslint/utils</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150">#1150</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470">258f9d8</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/blob/v5.10.0/CHANGELOG.md"><code>@stylistic/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0">5.10.0</a>
(2026-03-06)</h2>
<h3>Features</h3>
<ul>
<li><strong>list-style:</strong> allow 'off' in overrides (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144">#1144</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290">c43bd4b</a>)</li>
<li><strong>padding-line-between-statements:</strong> introduce
<code>lineMode</code> for selector matcher (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143">#1143</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb">1ebd6d8</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/download-artifact from 7 to 8
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153">#1153</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9">78ca032</a>)</li>
<li><strong>deps:</strong> bump actions/upload-artifact from 6 to 7 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154">#1154</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3">01f7b17</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>no export all for <code>@typescript-eslint/utils</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150">#1150</a>)
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470">258f9d8</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/efbb1bc0e5aaedc4695c44a03f46f4fcbbe58712"><code>efbb1bc</code></a>
chore: release v5.10.0 (main) (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1151">#1151</a>)</li>
<li><a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb"><code>1ebd6d8</code></a>
feat(padding-line-between-statements): introduce <code>lineMode</code>
for selector matc...</li>
<li><a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290"><code>c43bd4b</code></a>
feat(list-style): allow 'off' in overrides (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1144">#1144</a>)</li>
<li><a
href="https://github.com/eslint-stylistic/eslint-stylistic/commit/95884fc06e342243ea65e0038bac07d94d5708dd"><code>95884fc</code></a>
chore: replace <code>prettier</code> with <code>oxfmt</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1147">#1147</a>)</li>
<li>See full diff in <a
href="https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.10.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />
Updates `@types/node` from 25.3.3 to 25.3.5
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />
Updates `eslint` from 9.39.3 to 9.39.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v9.39.4</h2>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/f18f6c8ae92a1bcfc558f48c0bd863ea94067459"><code>f18f6c8</code></a>
fix: update dependency minimatch to ^3.1.5 (<a
href="https://redirect.github.com/eslint/eslint/issues/20564">#20564</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a3c868f6ef103c1caff9d15f744f9ebd995e872f"><code>a3c868f</code></a>
fix: update dependency <code>@eslint/eslintrc</code> to ^3.3.4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20554">#20554</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/234d005da6cd3c924f359e3783fbf565a3c047c3"><code>234d005</code></a>
fix: minimatch security vulnerability patch for v9.x (<a
href="https://redirect.github.com/eslint/eslint/issues/20549">#20549</a>)
(Andrej Beles)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b1b37eecaa033d2e390e1d8f1d6e68d0f5ff3a6a"><code>b1b37ee</code></a>
fix: update <code>ajv</code> to <code>6.14.0</code> to address security
vulnerabilities (<a
href="https://redirect.github.com/eslint/eslint/issues/20538">#20538</a>)
(루밀LuMir)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/46751526037682f8b42abcfb3e06d19213719347"><code>4675152</code></a>
docs: add deprecation notice partial (<a
href="https://redirect.github.com/eslint/eslint/issues/20520">#20520</a>)
(Milos Djermanovic)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/b8b4eb15901c1bd6ef40d2589da4ae75795c0f6e"><code>b8b4eb1</code></a>
chore: update dependencies for ESLint v9.39.4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20596">#20596</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/71b2f6b628b76157b4a2a296cb969dc56abb296c"><code>71b2f6b</code></a>
chore: package.json update for <code>@eslint/js</code> release
(Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1d16c2fa3998440ae7b0f6e2612935bd6b0ded1d"><code>1d16c2f</code></a>
ci: pin Node.js 25.6.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/20563">#20563</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/f5770b0df0d3ffff6a428d1c19a99bdb794053a3"><code>f5770b0</code></a>
9.39.4</li>
<li><a
href="https://github.com/eslint/eslint/commit/c30147a0514fdcf3711493d7beef454223c25493"><code>c30147a</code></a>
Build: changelog update for 9.39.4</li>
<li><a
href="https://github.com/eslint/eslint/commit/b8b4eb15901c1bd6ef40d2589da4ae75795c0f6e"><code>b8b4eb1</code></a>
chore: update dependencies for ESLint v9.39.4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20596">#20596</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/71b2f6b628b76157b4a2a296cb969dc56abb296c"><code>71b2f6b</code></a>
chore: package.json update for <code>@eslint/js</code> release</li>
<li><a
href="https://github.com/eslint/eslint/commit/46751526037682f8b42abcfb3e06d19213719347"><code>4675152</code></a>
docs: add deprecation notice partial (<a
href="https://redirect.github.com/eslint/eslint/issues/20520">#20520</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f18f6c8ae92a1bcfc558f48c0bd863ea94067459"><code>f18f6c8</code></a>
fix: update dependency minimatch to ^3.1.5 (<a
href="https://redirect.github.com/eslint/eslint/issues/20564">#20564</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1d16c2fa3998440ae7b0f6e2612935bd6b0ded1d"><code>1d16c2f</code></a>
ci: pin Node.js 25.6.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/20563">#20563</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a3c868f6ef103c1caff9d15f744f9ebd995e872f"><code>a3c868f</code></a>
fix: update dependency <code>@eslint/eslintrc</code> to ^3.3.4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20554">#20554</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/234d005da6cd3c924f359e3783fbf565a3c047c3"><code>234d005</code></a>
fix: minimatch security vulnerability patch for v9.x (<a
href="https://redirect.github.com/eslint/eslint/issues/20549">#20549</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b1b37eecaa033d2e390e1d8f1d6e68d0f5ff3a6a"><code>b1b37ee</code></a>
fix: update <code>ajv</code> to <code>6.14.0</code> to address security
vulnerabilities (<a
href="https://redirect.github.com/eslint/eslint/issues/20538">#20538</a>)</li>
<li>See full diff in <a
href="https://github.com/eslint/eslint/compare/v9.39.3...v9.39.4">compare
view</a></li>
</ul>
</details>
<br />
<details>
<summary>Most Recent Ignore Conditions Applied to This Pull
Request</summary>
| Dependency Name | Ignore Conditions |
| --- | --- |
| eslint | [>= 10.a, < 11] |
| @eslint/js | [>= 10.a, < 11] |
</details>
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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump chrome-devtools-frontend from 1.0.1592362 to 1.0.1595090 in the bundled-devtools group (#1143)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).
Updates `chrome-devtools-frontend` from 1.0.1592362 to 1.0.1595090
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a429d5a8b2e78b92dc99ef220ca67c402cbe1a67"><code>a429d5a</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0c19a5d3042a0e9f64a6f206b4a23701233d329e"><code>0c19a5d</code></a>
Remove some of the Fragment.html</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2a50e02118da72ca5ca43abffd260a436338296f"><code>2a50e02</code></a>
Add SelectivePermissionInterventionIssue support to frontend</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/9a8d33b3e8194feb1af0d7bfa56c89e1063156b2"><code>9a8d33b</code></a>
Add documentation about the Revealer system</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ae921e728b8fd139bc6a05869f40f8db0cd731fd"><code>ae921e7</code></a>
Return data from trace loading directly</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/78e999c51401d20dd9b9f545ed62159ffb800336"><code>78e999c</code></a>
DevTools: Add text filter to Speculation Rules panel</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/4402e18db55fe12b4019c2af794a380f241d099e"><code>4402e18</code></a>
Tentatively fix the test flakiness.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c22a8d014388ec8882ae4b6e77340ca8e3ea8049"><code>c22a8d0</code></a>
inspect({focus: false}): skip panel switch when omitFocus is set</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/835aff5e88fa1084f4bb8e1d2e2ac54fafc295e4"><code>835aff5</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2b7cba05dd1a34369cd4a27d87412b83cbf182a4"><code>2b7cba0</code></a>
Update DevTools DEPS (trusted)</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1592362...v1.0.1595090">compare
view</a></li>
</ul>
</details>
<br />
[](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 in the all group (#1144)
Bumps the all group with 1 update:
[actions/setup-node](https://github.com/actions/setup-node).
Updates `actions/setup-node` from 6.2.0 to 6.3.0
<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>v6.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Support parsing <code>devEngines</code> field by <a
href="https://github.com/susnux"><code>@susnux</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1283">actions/setup-node#1283</a></li>
</ul>
<blockquote>
<p>When using node-version-file: package.json, setup-node now
prefers devEngines.runtime over engines.node.</p>
</blockquote>
<h3>Dependency updates:</h3>
<ul>
<li>Fix npm audit issues by <a
href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1491">actions/setup-node#1491</a></li>
<li>Replace uuid with crypto.randomUUID() by <a
href="https://github.com/trivikr"><code>@trivikr</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1378">actions/setup-node#1378</a></li>
<li>Upgrade minimatch from 3.1.2 to 3.1.5 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1498">actions/setup-node#1498</a></li>
</ul>
<h3>Bug fixes:</h3>
<ul>
<li>Remove hardcoded bearer for mirror-url <a
href="https://github.com/marco-ippolito"><code>@marco-ippolito</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1467">actions/setup-node#1467</a></li>
<li>Scope test lockfiles by package manager and update cache tests by <a
href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1495">actions/setup-node#1495</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/susnux"><code>@susnux</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1283">actions/setup-node#1283</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v6.3.0">https://github.com/actions/setup-node/compare/v6...v6.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/53b83947a5a98c8d113130e565377fae1a50d02f"><code>53b8394</code></a>
Bump minimatch from 3.1.2 to 3.1.5 (<a
href="https://redirect.github.com/actions/setup-node/issues/1498">#1498</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54045abd5dcd3b0fee9ca02fa24c57545834c9cc"><code>54045ab</code></a>
Scope test lockfiles by package manager and update cache tests (<a
href="https://redirect.github.com/actions/setup-node/issues/1495">#1495</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/c882bffdbd4df51ace6b940023952e8669c9932a"><code>c882bff</code></a>
Replace uuid with crypto.randomUUID() (<a
href="https://redirect.github.com/actions/setup-node/issues/1378">#1378</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/774c1d62961e73038a114d59c8847023c003194d"><code>774c1d6</code></a>
feat(node-version-file): support parsing <code>devEngines</code> field
(<a
href="https://redirect.github.com/actions/setup-node/issues/1283">#1283</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/efcb663fc60e97218a2b2d6d827f7830f164739e"><code>efcb663</code></a>
fix: remove hardcoded bearer (<a
href="https://redirect.github.com/actions/setup-node/issues/1467">#1467</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/d02c89dce7e1ba9ef629ce0680989b3a1cc72edb"><code>d02c89d</code></a>
Fix npm audit issues (<a
href="https://redirect.github.com/actions/setup-node/issues/1491">#1491</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/6044e13b5dc448c55e2357c09f80417699197238...53b83947a5a98c8d113130e565377fae1a50d02f">compare
view</a></li>
</ul>
</details>
<br />
[](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs(troubleshooting): add symptom for missing tools due to read-only mode (#1148)
* docs: fix typo (#1155)
* chore(deps-dev): bump puppeteer from 24.38.0 to 24.39.0 in the bundled group (#1159)
Bumps the bundled group with 1 update:
[puppeteer](https://github.com/puppeteer/puppeteer).
Updates `puppeteer` from 24.38.0 to 24.39.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.39.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.38.0...puppeteer-core-v24.39.0">24.39.0</a>
(2026-03-10)</h2>
<h3>🎉 Features</h3>
<ul>
<li>expose Page.hasDevTools (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14758">#14758</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5ed7e7784a3e23bd1b42b8f0d041a74709a1bf4e">5ed7e77</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 146.0.7680.66 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14752">#14752</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/60ace04425d1ad4e99732298ed51839f09adcb0a">60ace04</a>)</li>
</ul>
<h2>puppeteer: v24.39.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.38.0...puppeteer-v24.39.0">24.39.0</a>
(2026-03-10)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.38.0 to 24.39.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.38.0...puppeteer-v24.39.0">24.39.0</a>
(2026-03-10)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.38.0 to 24.39.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>expose Page.hasDevTools (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14758">#14758</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5ed7e7784a3e23bd1b42b8f0d041a74709a1bf4e">5ed7e77</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 146.0.7680.66 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14752">#14752</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/60ace04425d1ad4e99732298ed51839f09adcb0a">60ace04</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/cbadc53bb7e699cc6b6ff07946fda4c1d121015e"><code>cbadc53</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14757">#14757</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5ed7e7784a3e23bd1b42b8f0d041a74709a1bf4e"><code>5ed7e77</code></a>
feat: expose Page.hasDevTools (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14758">#14758</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/60ace04425d1ad4e99732298ed51839f09adcb0a"><code>60ace04</code></a>
fix: roll to Chrome 146.0.7680.66 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14752">#14752</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/4d0851287a3d578a75dd6d941fdf86d016bb493b"><code>4d08512</code></a>
chore(deps-dev): bump <code>@swc/core</code> from 1.15.17 to 1.15.18 in
/website in the al...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/8b64a281cc4df66feb77f3dfc4178fe04a1e8e72"><code>8b64a28</code></a>
chore(deps): bump the all group with 5 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14755">#14755</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/a5ba71ab242a078b259188f091677386400d4e79"><code>a5ba71a</code></a>
chore: reduce flakiness in touch tests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14751">#14751</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/d3c93afcce23a8d5262922ad603ab69a75313fa1"><code>d3c93af</code></a>
ci: update changelog sections (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14750">#14750</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/bca52c3257f1aff4a100f01a8576102daed47a79"><code>bca52c3</code></a>
ci: only run stale on bug issues (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14749">#14749</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/282f935e34574381c648c07288beb9e4d44f51de"><code>282f935</code></a>
chore(deps): bump svgo from 3.3.2 to 3.3.3 in /website (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14747">#14747</a>)</li>
<li>See full diff in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.38.0...puppeteer-v24.39.0">compare
view</a></li>
</ul>
</details>
<br />
[](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump the dev-dependencies group with 4 updates (#1157)
Bumps the dev-dependencies group with 4 updates:
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node),
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin),
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Updates `@types/node` from 25.3.5 to 25.4.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />
Updates `@typescript-eslint/eslint-plugin` from 8.56.1 to 8.57.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.0</h2>
<h2>8.57.0 (2026-03-09)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] allow
literal loop conditions in for/do loops (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080">#12080</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-void-return] false positives
with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055">#12055</a>)</li>
<li><strong>eslint-plugin:</strong> handle statically analyzable
computed keys in prefer-readonly (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079">#12079</a>)</li>
<li><strong>eslint-plugin:</strong> guard against negative paramIndex in
no-useless-default-assignment (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077">#12077</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-promise-reject-errors] add
allow <code>TypeOrValueSpecifier</code> to prefer-promise-reject-errors
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094">#12094</a>)</li>
<li><strong>eslint-plugin:</strong> [no-base-to-string] fix false
positive for toString with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089">#12089</a>)</li>
<li><strong>typescript-estree:</strong> switch back to use
<code>ts.getModifiers()</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034">#12034</a>)</li>
<li><strong>typescript-estree:</strong> if the template literal is
tagged and the text has an invalid escape, <code>cooked</code> will be
<code>null</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355">#11355</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@bradzacher</code></a></li>
<li>Brian Schlenker <a
href="https://github.com/bschlenk"><code>@bschlenk</code></a></li>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@StyleShit</code></a></li>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@fisker</code></a></li>
<li>James Henry <a
href="https://github.com/JamesHenry"><code>@JamesHenry</code></a></li>
<li>Josh Goldberg</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@thebolarin</code></a></li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@NewtonYuan</code></a></li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li>
<li>Younsang Na <a
href="https://github.com/nayounsang"><code>@nayounsang</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.0 (2026-03-09)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] allow
literal loop conditions in for/do loops (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080">#12080</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-base-to-string] fix false
positive for toString with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089">#12089</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-promise-reject-errors] add
allow <code>TypeOrValueSpecifier</code> to prefer-promise-reject-errors
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094">#12094</a>)</li>
<li><strong>typescript-estree:</strong> if the template literal is
tagged and the text has an invalid escape, <code>cooked</code> will be
<code>null</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355">#11355</a>)</li>
<li><strong>eslint-plugin:</strong> guard against negative paramIndex in
no-useless-default-assignment (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077">#12077</a>)</li>
<li><strong>eslint-plugin:</strong> handle statically analyzable
computed keys in prefer-readonly (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079">#12079</a>)</li>
<li><strong>eslint-plugin:</strong> [strict-void-return] false positives
with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055">#12055</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@bradzacher</code></a></li>
<li>Brian Schlenker <a
href="https://github.com/bschlenk"><code>@bschlenk</code></a></li>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@StyleShit</code></a></li>
<li>James Henry <a
href="https://github.com/JamesHenry"><code>@JamesHenry</code></a></li>
<li>Josh Goldberg</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@thebolarin</code></a></li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@NewtonYuan</code></a></li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li>
<li>Younsang Na <a
href="https://github.com/nayounsang"><code>@nayounsang</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5"><code>2c6aeee</code></a>
chore(release): publish 8.57.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/46bf066d3df4af9aa8804a383e0d6d407a8e79f0"><code>46bf066</code></a>
docs(eslint-plugin): document no-unnecessary-condition limitation with
object...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766"><code>f696dad</code></a>
chore: use pnpm catalog (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12047">#12047</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2029c78dcbe11b7e750af588d3c47f1211f02798"><code>2029c78</code></a>
fix(eslint-plugin): [no-base-to-string] fix false positive for toString
with ...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/0f4f101a125487bc07db323288afb86d5247bc31"><code>0f4f101</code></a>
fix(eslint-plugin): [prefer-promise-reject-errors] add allow
`TypeOrValueSpec...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/53f473b7a8c46094623712ba69a627182d049a5b"><code>53f473b</code></a>
fix(typescript-estree): if the template literal is tagged and the text
has an...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2291b81f99670319618192645519a056fdb94cf4"><code>2291b81</code></a>
docs: minor grammar adjustment (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12112">#12112</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/fc5cd09de85600134ca0885ad5cdcedcddcd20ba"><code>fc5cd09</code></a>
fix(eslint-plugin): guard against negative paramIndex in
no-useless-default-a...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/adc2aad848fe1ac8044ba4a8d84daf8bb1939ced"><code>adc2aad</code></a>
fix(eslint-plugin): handle statically analyzable computed keys in
prefer-read...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/85badfffbf38730772afbffaa6d024592752664a"><code>85badff</code></a>
fix(eslint-plugin): [strict-void-return] false positives with overloads
(<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12055">#12055</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />
Updates `@typescript-eslint/parser` from 8.56.1 to 8.57.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.0</h2>
<h2>8.57.0 (2026-03-09)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] allow
literal loop conditions in for/do loops (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080">#12080</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-void-return] false positives
with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055">#12055</a>)</li>
<li><strong>eslint-plugin:</strong> handle statically analyzable
computed keys in prefer-readonly (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079">#12079</a>)</li>
<li><strong>eslint-plugin:</strong> guard against negative paramIndex in
no-useless-default-assignment (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077">#12077</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-promise-reject-errors] add
allow <code>TypeOrValueSpecifier</code> to prefer-promise-reject-errors
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094">#12094</a>)</li>
<li><strong>eslint-plugin:</strong> [no-base-to-string] fix false
positive for toString with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089">#12089</a>)</li>
<li><strong>typescript-estree:</strong> switch back to use
<code>ts.getModifiers()</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034">#12034</a>)</li>
<li><strong>typescript-estree:</strong> if the template literal is
tagged and the text has an invalid escape, <code>cooked</code> will be
<code>null</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355">#11355</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@bradzacher</code></a></li>
<li>Brian Schlenker <a
href="https://github.com/bschlenk"><code>@bschlenk</code></a></li>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@StyleShit</code></a></li>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@fisker</code></a></li>
<li>James Henry <a
href="https://github.com/JamesHenry"><code>@JamesHenry</code></a></li>
<li>Josh Goldberg</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@thebolarin</code></a></li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@NewtonYuan</code></a></li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li>
<li>Younsang Na <a
href="https://github.com/nayounsang"><code>@nayounsang</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.0 (2026-03-09)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5"><code>2c6aeee</code></a>
chore(release): publish 8.57.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766"><code>f696dad</code></a>
chore: use pnpm catalog (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047">#12047</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8"><code>a09921e</code></a>
chore: update vitest to 4.x (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071">#12071</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />
Updates `typescript-eslint` from 8.56.1 to 8.57.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.57.0</h2>
<h2>8.57.0 (2026-03-09)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] allow
literal loop conditions in for/do loops (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080">#12080</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-void-return] false positives
with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055">#12055</a>)</li>
<li><strong>eslint-plugin:</strong> handle statically analyzable
computed keys in prefer-readonly (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079">#12079</a>)</li>
<li><strong>eslint-plugin:</strong> guard against negative paramIndex in
no-useless-default-assignment (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077">#12077</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-promise-reject-errors] add
allow <code>TypeOrValueSpecifier</code> to prefer-promise-reject-errors
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094">#12094</a>)</li>
<li><strong>eslint-plugin:</strong> [no-base-to-string] fix false
positive for toString with overloads (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089">#12089</a>)</li>
<li><strong>typescript-estree:</strong> switch back to use
<code>ts.getModifiers()</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034">#12034</a>)</li>
<li><strong>typescript-estree:</strong> if the template literal is
tagged and the text has an invalid escape, <code>cooked</code> will be
<code>null</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355">#11355</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@bradzacher</code></a></li>
<li>Brian Schlenker <a
href="https://github.com/bschlenk"><code>@bschlenk</code></a></li>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@StyleShit</code></a></li>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@fisker</code></a></li>
<li>James Henry <a
href="https://github.com/JamesHenry"><code>@JamesHenry</code></a></li>
<li>Josh Goldberg</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@thebolarin</code></a></li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@NewtonYuan</code></a></li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li>
<li>Younsang Na <a
href="https://github.com/nayounsang"><code>@nayounsang</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's
changelog</a>.</em></p>
<blockquote>
<h2>8.57.0 (2026-03-09)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5"><code>2c6aeee</code></a>
chore(release): publish 8.57.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766"><code>f696dad</code></a>
chore: use pnpm catalog (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12047">#12047</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8"><code>a09921e</code></a>
chore: update vitest to 4.x (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12071">#12071</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />
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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: experimental `chrome-devtools` CLI (#1100)
This PR enables an alternative CLI interface for Chrome DevTools MCP.
`chrome-devtools` can be used in shell scripts to automate the Chrome
DevTools MCP session running as a daemon process. Currently, a single
session is shared between all `chrome-devtools` calls. All tools
available by default are included into the CLI.
Examples:
```bash
❯ chrome-devtools navigate_page --url https://example.com
Successfully navigated to https://example.com.
## Pages
1: https://example.com/ [selected]
❯ chrome-devtools lighthouse_audit
## Lighthouse Audit Results
Mode: navigation
Device: desktop
URL: https://example.com/
### Category Scores
- Accessibility: 96 (accessibility)
- Best Practices: 96 (best-practices)
- SEO: 80 (seo)
### Audit Summary
Passed: 30
Failed: 4
Total Timing: 4107.22ms
### Reports
- /var/folders/hq/m1wr43z9665g5pghys7gkc2w00r23k/T/chrome-devtools-mcp-l5LRIT/report.json
- /var/folders/hq/m1wr43z9665g5pghys7gkc2w00r23k/T/chrome-devtools-mcp-3o6rcM/report.htm
```
```sh
❯ chrome-devtools lighthouse_audit --format=json | jq
{
"lighthouseResult": {
"summary": {
"mode": "navigation",
"device": "desktop",
"url": "https://example.com/",
"scores": [
{
"id": "accessibility",
"title": "Accessibility",
"score": 0.96
},
{
"id": "best-practices",
"title": "Best Practices",
"score": 0.96
},
{
"id": "seo",
"title": "SEO",
"score": 0.8
}
],
"audits": {
"failed": 4,
"passed": 30
},
"timing": {
"total": 3754.87
}
},
"reports": [
"/var/folders/hq/m1wr43z9665g5pghys7gkc2w00r23k/T/chrome-devtools-mcp-nbLj82/report.json",
"/var/folders/hq/m1wr43z9665g5pghys7gkc2w00r23k/T/chrome-devtools-mcp-VTp35b/report.html"
]
}
}
```
To test:
```sh
npm ci
npm run clean
npm run bundle
npm pack
npm i chrome-devtools-mcp-0.18.1.tgz -g # to install globally
```
---------
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
* chore(main): release chrome-devtools-mcp 0.20.0 (#1126)
:robot: I have created a release *beep* *boop*
---
##
[0.20.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.19.0...chrome-devtools-mcp-v0.20.0)
(2026-03-11)
### 🎉 Fe…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR enables an alternative CLI interface for Chrome DevTools MCP.
chrome-devtoolscan be used in shell scripts to automate the Chrome DevTools MCP session running as a daemon process. Currently, a single session is shared between allchrome-devtoolscalls. All tools available by default are included into the CLI.Examples:
To test:
npm ci npm run clean npm run bundle npm pack npm i chrome-devtools-mcp-0.18.1.tgz -g # to install globally