Compare commits

...

155 Commits

Author SHA1 Message Date
Harel M
c168e65d86 Fix editor incorrect scroll (#1525)
## Launch Checklist

- Fixes #1524

The problem is that the editor at the end of the layer editor view is
forcing some scrolling due to a different bug that was solved.
- #1492 which was solved in PR: #1501

The previous fix was in oder to solve issues in the code editor which
has all the style in it, and a search-and-replace operation is used to
change the content, so there was a need to introduce the previous fix.
The current solution is to scroll the view only for the code editor
using a react prop, which is `false` by default.

 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
 - [ ] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-12-03 11:39:10 +00:00
dependabot[bot]
8095b0d641 chore(deps): Bump @maplibre/maplibre-gl-inspect from 1.8.0 to 1.8.1 (#1553)
Bumps
[@maplibre/maplibre-gl-inspect](https://github.com/maplibre/maplibre-gl-inspect)
from 1.8.0 to 1.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-inspect/releases"><code>@​maplibre/maplibre-gl-inspect</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.8.1</h2>
<h3><a
href="https://github.com/maplibre/maplibre-gl-inspect/compare/v1.8.0...v1.8.1">1.8.1</a>
(2025-12-02)</h3>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fd257413d6"><code>fd25741</code></a>
Bump version to 1.8.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/336">#336</a>)</li>
<li><a
href="17f6906a12"><code>17f6906</code></a>
Add bump version action (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/335">#335</a>)</li>
<li><a
href="582eb0e1ae"><code>582eb0e</code></a>
Improve error message for missing vector layers</li>
<li><a
href="8e4906811c"><code>8e49068</code></a>
bigfix: properly infer the layer IDs from the style in fallback; uniqify
the ...</li>
<li><a
href="e8070caafc"><code>e8070ca</code></a>
Bump typedoc from 0.28.14 to 0.28.15 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/333">#333</a>)</li>
<li><a
href="6b8dce5e34"><code>6b8dce5</code></a>
Bump rollup-plugin-dts from 6.2.3 to 6.3.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/332">#332</a>)</li>
<li><a
href="81a19a1300"><code>81a19a1</code></a>
Bump typescript-eslint from 8.47.0 to 8.48.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/331">#331</a>)</li>
<li><a
href="051f714cd5"><code>051f714</code></a>
Bump rollup from 4.53.1 to 4.53.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/329">#329</a>)</li>
<li><a
href="3f912912e2"><code>3f91291</code></a>
Bump typescript-eslint from 8.46.3 to 8.47.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/330">#330</a>)</li>
<li><a
href="006e6b0d25"><code>006e6b0</code></a>
Bump maplibre-gl from 5.12.0 to 5.13.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/328">#328</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-inspect/compare/v1.8.0...v1.8.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-inspect&package-manager=npm_and_yarn&previous-version=1.8.0&new-version=1.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 11:27:21 +00:00
dependabot[bot]
19d520426f chore(deps-dev): Bump stylelint from 16.26.0 to 16.26.1 (#1550)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.26.0
to 16.26.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/releases">stylelint's
releases</a>.</em></p>
<blockquote>
<h2>16.26.1</h2>
<p>It fixes numerous false positive bugs, including many in the
<code>declaration-property-value-no-unknown</code> rule for the latest
CSS specifications.</p>
<ul>
<li>Fixed: <code>*-no-unknown</code> false positives for latest specs by
integrating <code>@csstools/css-syntax-patches-for-csstree</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8850">#8850</a>)
(<a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
<li>Fixed: <code>at-rule-no-unknown</code> false positives for
<code>@function</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8851">#8851</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
<li>Fixed: <code>declaration-property-value-no-unknown</code> false
positives for <code>attr()</code>, <code>if()</code> and custom
functions (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8853">#8853</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
<li>Fixed: <code>function-url-quotes</code> false positives when URLs
require quoting (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8804">#8804</a>)
(<a href="https://github.com/taearls"><code>@​taearls</code></a>).</li>
<li>Fixed: <code>selector-pseudo-element-no-unknown</code> false
positives for <code>::scroll-button()</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8856">#8856</a>)
(<a
href="https://github.com/Mouvedia"><code>@​Mouvedia</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md">stylelint's
changelog</a>.</em></p>
<blockquote>
<h2>16.26.1 - 2025-11-28</h2>
<p>It fixes numerous false positive bugs, including many in the
<code>declaration-property-value-no-unknown</code> rule for the latest
CSS specifications.</p>
<ul>
<li>Fixed: <code>*-no-unknown</code> false positives for latest specs by
integrating <code>@csstools/css-syntax-patches-for-csstree</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8850">#8850</a>)
(<a
href="https://github.com/romainmenke"><code>@​romainmenke</code></a>).</li>
<li>Fixed: <code>at-rule-no-unknown</code> false positives for
<code>@function</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8851">#8851</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
<li>Fixed: <code>declaration-property-value-no-unknown</code> false
positives for <code>attr()</code>, <code>if()</code> and custom
functions (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8853">#8853</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
<li>Fixed: <code>function-url-quotes</code> false positives when URLs
require quoting (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8804">#8804</a>)
(<a href="https://github.com/taearls"><code>@​taearls</code></a>).</li>
<li>Fixed: <code>selector-pseudo-element-no-unknown</code> false
positives for <code>::scroll-button()</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8856">#8856</a>)
(<a
href="https://github.com/Mouvedia"><code>@​Mouvedia</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b96814344b"><code>b968143</code></a>
Release 16.26.1 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8857">#8857</a>)</li>
<li><a
href="2b24b9cd50"><code>2b24b9c</code></a>
Fix <code>selector-pseudo-element-no-unknown</code> false positives for
`::scroll-button...</li>
<li><a
href="f152564f03"><code>f152564</code></a>
Fix <code>*-no-unknown</code> false positives for latest specs by
integrating `@csstools...</li>
<li><a
href="431cb53c0a"><code>431cb53</code></a>
Fix <code>at-rule-no-unknown</code> false positives for
<code>@function</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8851">#8851</a>)</li>
<li><a
href="119097ea69"><code>119097e</code></a>
Fix <code>declaration-property-value-no-unknown</code> false positives
for <code>attr()</code> and ...</li>
<li><a
href="4b9c68be07"><code>4b9c68b</code></a>
Fix <code>function-url-quotes</code> false positives when URLs require
quoting (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8804">#8804</a>)</li>
<li><a
href="8cc4ced2e8"><code>8cc4ced</code></a>
Bump rollup from 4.52.5 to 4.53.2 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8848">#8848</a>)</li>
<li><a
href="4383feb6df"><code>4383feb</code></a>
Bump file-entry-cache from 11.1.0 to 11.1.1 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8846">#8846</a>)</li>
<li><a
href="a8a7560c49"><code>a8a7560</code></a>
Bump the eslint group with 2 updates (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8845">#8845</a>)</li>
<li><a
href="947ad33c15"><code>947ad33</code></a>
Fix <code>patch-package</code> warning about mismatched
<code>@types/css-tree</code> version (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8844">#8844</a>)</li>
<li>See full diff in <a
href="https://github.com/stylelint/stylelint/compare/16.26.0...16.26.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stylelint&package-manager=npm_and_yarn&previous-version=16.26.0&new-version=16.26.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 10:49:48 +00:00
Lukas Weber
74a21e1b77 allow root relative paths (#1549)
## Launch Checklist

<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->


 - [x] Briefly describe the changes in this PR.

when launching maputnik with `--static /data` those files are available
under e.g. `localhost:8000/static`. In this case, root relative urls are
enough (e.g. requsting `/static/fonts`...). This does currently lead to
a validation error:

<img width="361" height="61" alt="grafik"
src="https://github.com/user-attachments/assets/2be1d649-51c9-4e64-ac44-c0089b462be2"
/>

- [x] Include before/after visuals or gifs if this PR includes visual
changes.

after this change it works:

<img width="338" height="68" alt="grafik"
src="https://github.com/user-attachments/assets/27f23d1b-11f6-4efc-b508-2f51bf254953"
/>

 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-12-02 12:03:09 +02:00
dependabot[bot]
582dd8d6e7 chore(deps): Bump react-i18next from 16.3.3 to 16.3.5 (#1533)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from
16.3.3 to 16.3.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md">react-i18next's
changelog</a>.</em></p>
<blockquote>
<h3>16.3.5</h3>
<ul>
<li>fix runaway effect in useTranslation <a
href="https://redirect.github.com/i18next/react-i18next/issues/1888">1888</a>
by <a
href="https://redirect.github.com/i18next/react-i18next/pull/1889">1889</a></li>
</ul>
<h3>16.3.4</h3>
<ul>
<li>Fix: avoid the &quot;ref is not a prop&quot; warning when a user ref
is placed on an element inside <code>&lt;Trans&gt;</code> <a
href="https://redirect.github.com/i18next/react-i18next/issues/1887">1887</a>,
by still trying to fix element.ref access issue with react 19 <a
href="https://redirect.github.com/i18next/react-i18next/pull/1846">1846</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9ff66ad49a"><code>9ff66ad</code></a>
16.3.5</li>
<li><a
href="49b712f9f3"><code>49b712f</code></a>
release</li>
<li><a
href="7ffba1c4c2"><code>7ffba1c</code></a>
fix runaway effect in useTranslation (<a
href="https://redirect.github.com/i18next/react-i18next/issues/1889">#1889</a>)</li>
<li><a
href="4a3623c167"><code>4a3623c</code></a>
16.3.4</li>
<li><a
href="9da07e2a36"><code>9da07e2</code></a>
Fix: avoid the &quot;ref is not a prop&quot; warning <a
href="https://redirect.github.com/i18next/react-i18next/issues/1887">#1887</a>
by preserving <a
href="https://redirect.github.com/i18next/react-i18next/issues/1846">#1846</a></li>
<li><a
href="7f30728254"><code>7f30728</code></a>
Fix typos in some files (<a
href="https://redirect.github.com/i18next/react-i18next/issues/1886">#1886</a>)</li>
<li><a
href="d0f262be48"><code>d0f262b</code></a>
more tests to verify returned i18n instance wrapper of
useTranslation</li>
<li>See full diff in <a
href="https://github.com/i18next/react-i18next/compare/v16.3.3...v16.3.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=16.3.3&new-version=16.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:41:17 +00:00
dependabot[bot]
9d19ab8606 chore(deps): Bump actions/checkout from 5.0.1 to 6.0.0 (#1539)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1
to 6.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>v6-beta by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li>
<li>update readme/changelog for v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p>
<h2>v6-beta</h2>
<h2>What's Changed</h2>
<p>Updated persist-credentials to store the credentials under
<code>$RUNNER_TEMP</code> instead of directly in the local git
config.</p>
<p>This requires a minimum Actions Runner version of <a
href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a>
to access the persisted credentials for <a
href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker
container action</a> scenarios.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>V6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>V5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>V5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>V4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>V4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1af3b93b68"><code>1af3b93</code></a>
update readme/changelog for v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li>
<li><a
href="71cf2267d8"><code>71cf226</code></a>
v6-beta (<a
href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li>
<li><a
href="069c695914"><code>069c695</code></a>
Persist creds to a separate file (<a
href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li>
<li><a
href="ff7abcd0c3"><code>ff7abcd</code></a>
Update README to include Node.js 24 support details and requirements (<a
href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li>
<li>See full diff in <a
href="93cb6efe18...1af3b93b68">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 11:33:03 +02:00
dependabot[bot]
9bdcf0a16a chore(deps): Bump actions/setup-go from 6.0.0 to 6.1.0 (#1540)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.0.0
to 6.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-go/releases">actions/setup-go's
releases</a>.</em></p>
<blockquote>
<h2>v6.1.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Fall back to downloading from go.dev/dl instead of
storage.googleapis.com/golang by <a
href="https://github.com/nicholasngai"><code>@​nicholasngai</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/665">actions/setup-go#665</a></li>
<li>Add support for .tool-versions file and update workflow by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/673">actions/setup-go#673</a></li>
<li>Add comprehensive breaking changes documentation for v6 by <a
href="https://github.com/mahabaleshwars"><code>@​mahabaleshwars</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/674">actions/setup-go#674</a></li>
</ul>
<h3>Dependency updates</h3>
<ul>
<li>Upgrade eslint-config-prettier from 10.0.1 to 10.1.8 and document
breaking changes in v6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/617">actions/setup-go#617</a></li>
<li>Upgrade actions/publish-action from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/641">actions/setup-go#641</a></li>
<li>Upgrade semver and <code>@​types/semver</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/652">actions/setup-go#652</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/nicholasngai"><code>@​nicholasngai</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/665">actions/setup-go#665</a></li>
<li><a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/673">actions/setup-go#673</a></li>
<li><a
href="https://github.com/mahabaleshwars"><code>@​mahabaleshwars</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/674">actions/setup-go#674</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-go/compare/v6...v6.1.0">https://github.com/actions/setup-go/compare/v6...v6.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4dc6199c7b"><code>4dc6199</code></a>
Bump semver and <code>@​types/semver</code> (<a
href="https://redirect.github.com/actions/setup-go/issues/652">#652</a>)</li>
<li><a
href="f3787be646"><code>f3787be</code></a>
Add comprehensive breaking changes documentation for v6 (<a
href="https://redirect.github.com/actions/setup-go/issues/674">#674</a>)</li>
<li><a
href="3a0c2c8245"><code>3a0c2c8</code></a>
Bump actions/publish-action from 0.3.0 to 0.4.0 (<a
href="https://redirect.github.com/actions/setup-go/issues/641">#641</a>)</li>
<li><a
href="faf52423ec"><code>faf5242</code></a>
Add support for .tool-versions file in setup-go, update workflow (<a
href="https://redirect.github.com/actions/setup-go/issues/673">#673</a>)</li>
<li><a
href="7bc60db215"><code>7bc60db</code></a>
Fall back to downloading from go.dev/dl instead of
storage.googleapis.com/gol...</li>
<li><a
href="c0137caad7"><code>c0137ca</code></a>
Bump eslint-config-prettier from 10.0.1 to 10.1.8 and document breaking
chang...</li>
<li>See full diff in <a
href="4469467582...4dc6199c7b">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:32:02 +00:00
dependabot[bot]
8ceabc0310 chore(deps): Bump @codemirror/view from 6.38.7 to 6.38.8 (#1527)
Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.38.7
to 6.38.8.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/view/blob/main/CHANGELOG.md"><code>@​codemirror/view</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.38.8 (2025-11-17)</h2>
<h3>Bug fixes</h3>
<p>Improve handling of composition with multiple cursors on MacOS.</p>
<p>Fix an issue where computing a document position from screen
coordinates would sometimes go wrong in right-to-left text.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="270a0df19e"><code>270a0df</code></a>
Mark version 6.38.8</li>
<li><a
href="6e7f5fe0ec"><code>6e7f5fe</code></a>
Account for floating point errors in right-to-left test in
domPosInText</li>
<li><a
href="04e446b9ba"><code>04e446b</code></a>
Adjust to Safari's selection trashing during dead-key composition</li>
<li><a
href="f9cbe74660"><code>f9cbe74</code></a>
Adjust multiple-cursor composition fix for MacOS</li>
<li>See full diff in <a
href="https://github.com/codemirror/view/compare/6.38.7...6.38.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.38.7&new-version=6.38.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:29:20 +00:00
dependabot[bot]
42de84d105 chore(deps-dev): Bump cypress from 15.6.0 to 15.7.0 (#1534)
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.6.0 to
15.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/cypress/releases">cypress's
releases</a>.</em></p>
<blockquote>
<h2>v15.7.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-7-0">https://docs.cypress.io/app/references/changelog#15-7-0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="201e22e489"><code>201e22e</code></a>
chore: Revert &quot;dependency: update mime from 3.0.0 to 4.1.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32936">#32936</a>)&quot;
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/32975">#32975</a>)</li>
<li><a
href="4b2e6dcd05"><code>4b2e6dc</code></a>
chore: release 15.7.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32973">#32973</a>)</li>
<li><a
href="71a393ee56"><code>71a393e</code></a>
fix: make sure angular project configs can resolve correctly on windows
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/32971">#32971</a>)</li>
<li><a
href="a267d31127"><code>a267d31</code></a>
dependency: update mime from 3.0.0 to 4.1.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32936">#32936</a>)</li>
<li><a
href="763d701702"><code>763d701</code></a>
chore: reduce max visibility checks for command log entries to 10 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32962">#32962</a>)</li>
<li><a
href="1bfe23f60e"><code>1bfe23f</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32967">#32967</a>)</li>
<li><a
href="71c90d8805"><code>71c90d8</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32966">#32966</a>)</li>
<li><a
href="85bf4e5094"><code>85bf4e5</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32965">#32965</a>)</li>
<li><a
href="ae46f1e22c"><code>ae46f1e</code></a>
fix: filter large user-supplied config values from the cloud API (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32957">#32957</a>)</li>
<li><a
href="70a9525031"><code>70a9525</code></a>
chore: release <code>@​cypress/webpack-dev-server-v5</code>.2.0</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.6.0...v15.7.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress&package-manager=npm_and_yarn&previous-version=15.6.0&new-version=15.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:18:14 +00:00
dependabot[bot]
b1d0300360 chore(deps): Bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#1543)
Bumps
[peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request)
from 7.0.8 to 7.0.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's
releases</a>.</em></p>
<blockquote>
<h2>Create Pull Request v7.0.9</h2>
<p>⚙️ Fixes an <a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4228">incompatibility</a>
with the recently released <code>actions/checkout@v6</code>.</p>
<h2>What's Changed</h2>
<ul>
<li>~70 dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
<li>docs: fix workaround description about <code>ready_for_review</code>
by <a href="https://github.com/ybiquitous"><code>@​ybiquitous</code></a>
in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3939">peter-evans/create-pull-request#3939</a></li>
<li>Docs: <code>add-paths</code> default behavior by <a
href="https://github.com/joeflack4"><code>@​joeflack4</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3928">peter-evans/create-pull-request#3928</a></li>
<li>docs: update to create-github-app-token v2 by <a
href="https://github.com/Goooler"><code>@​Goooler</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4063">peter-evans/create-pull-request#4063</a></li>
<li>Fix compatibility with actions/checkout@v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4230">peter-evans/create-pull-request#4230</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/joeflack4"><code>@​joeflack4</code></a>
made their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3928">peter-evans/create-pull-request#3928</a></li>
<li><a href="https://github.com/Goooler"><code>@​Goooler</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4063">peter-evans/create-pull-request#4063</a></li>
<li><a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/4230">peter-evans/create-pull-request#4230</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-pull-request/compare/v7.0.8...v7.0.9">https://github.com/peter-evans/create-pull-request/compare/v7.0.8...v7.0.9</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="84ae59a2cd"><code>84ae59a</code></a>
fix: compatibility with actions/checkout@v6 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4230">#4230</a>)</li>
<li><a
href="b4733b9419"><code>b4733b9</code></a>
build(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4222">#4222</a>)</li>
<li><a
href="0edc001d28"><code>0edc001</code></a>
build(deps-dev): bump the npm group with 2 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4201">#4201</a>)</li>
<li><a
href="430aea0fb1"><code>430aea0</code></a>
build(deps): bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4200">#4200</a>)</li>
<li><a
href="46cdba753c"><code>46cdba7</code></a>
build(deps-dev): bump the npm group with 3 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4185">#4185</a>)</li>
<li><a
href="b937339b17"><code>b937339</code></a>
build(deps): bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4184">#4184</a>)</li>
<li><a
href="e9af275c37"><code>e9af275</code></a>
ci: update dependabot config</li>
<li><a
href="d3e081a03a"><code>d3e081a</code></a>
build(deps-dev): bump <code>@​types/node</code> from 18.19.127 to
18.19.128 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4178">#4178</a>)</li>
<li><a
href="9ec683ee07"><code>9ec683e</code></a>
build(deps-dev): bump <code>@​types/node</code> from 18.19.125 to
18.19.127 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4165">#4165</a>)</li>
<li><a
href="65d8d10bf7"><code>65d8d10</code></a>
build(deps-dev): bump ts-jest from 29.4.2 to 29.4.4 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/4163">#4163</a>)</li>
<li>Additional commits viewable in <a
href="271a8d0340...84ae59a2cd">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-pull-request&package-manager=github_actions&previous-version=7.0.8&new-version=7.0.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:10:12 +00:00
dependabot[bot]
1abb126ba5 chore(deps): Bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#1551)
Bumps
[mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast)
from 13.2.0 to 13.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/syntax-tree/mdast-util-to-hast/releases">mdast-util-to-hast's
releases</a>.</em></p>
<blockquote>
<h2>13.2.1</h2>
<h4>Fix</h4>
<ul>
<li>ab3a795 Fix support for spaces in class names</li>
</ul>
<h4>Types</h4>
<ul>
<li>efb5312 Refactor to use <code>@import</code>s</li>
<li>a5bc210 Add declaration maps</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1">https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="174795b21f"><code>174795b</code></a>
13.2.1</li>
<li><a
href="3d05b3a715"><code>3d05b3a</code></a>
Update Node in Actions</li>
<li><a
href="ab3a79570a"><code>ab3a795</code></a>
Fix support for spaces in class names</li>
<li><a
href="efb5312310"><code>efb5312</code></a>
Refactor to use <code>@import</code>s</li>
<li><a
href="a5bc210f1a"><code>a5bc210</code></a>
Add declaration maps</li>
<li><a
href="b54955d4e1"><code>b54955d</code></a>
Add <code>.tsbuildinfo</code> to <code>.gitignore</code></li>
<li>See full diff in <a
href="https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mdast-util-to-hast&package-manager=npm_and_yarn&previous-version=13.2.0&new-version=13.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/maplibre/maputnik/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:09:44 +00:00
dependabot[bot]
e8dc88cb28 chore(deps-dev): Bump the vitest group with 2 updates (#1532)
Bumps the vitest group with 2 updates:
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
and
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).

Updates `@vitest/coverage-v8` from 4.0.10 to 4.0.12
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases"><code>@​vitest/coverage-v8</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v4.0.12</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Inherit <code>fsModuleCachePath</code> by default  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9063">vitest-dev/vitest#9063</a>
<a href="https://github.com/vitest-dev/vitest/commit/9a8bc78c5"><!-- raw
HTML omitted -->(9a8bc)<!-- raw HTML omitted --></a></li>
<li>Don't import from <code>@opentelemetry/api</code> in public types
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9066">vitest-dev/vitest#9066</a>
<a href="https://github.com/vitest-dev/vitest/commit/e944a37b7"><!-- raw
HTML omitted -->(e944a)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12">View
changes on GitHub</a></h5>
<h2>v4.0.11</h2>
<h3>   🚀 Experimental Features</h3>
<ul>
<li><strong>api</strong>: Add extensible test artifact API  -  by <a
href="https://github.com/macarie"><code>@​macarie</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8987">vitest-dev/vitest#8987</a>
<a href="https://github.com/vitest-dev/vitest/commit/772923645"><!-- raw
HTML omitted -->(77292)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/api/advanced/artifacts">https://vitest.dev/api/advanced/artifacts</a></li>
</ul>
</li>
<li><strong>expect</strong>: Provide <code>task</code> in
<code>MatchState</code>  -  by <a
href="https://github.com/macarie"><code>@​macarie</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9022">vitest-dev/vitest#9022</a>
<a href="https://github.com/vitest-dev/vitest/commit/afd1f3e52"><!-- raw
HTML omitted -->(afd1f)<!-- raw HTML omitted --></a></li>
<li><strong>experimental</strong>: Support OpenTelemetry traces  -  by
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8994">vitest-dev/vitest#8994</a>
<a href="https://github.com/vitest-dev/vitest/commit/d6d3359dd"><!-- raw
HTML omitted -->(d6d33)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/guide/open-telemetry">https://vitest.dev/guide/open-telemetry</a></li>
</ul>
</li>
</ul>
<h3>   🏎 Performance</h3>
<ul>
<li><strong>experimental</strong>: Add file system cache  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9026">vitest-dev/vitest#9026</a>
<a href="https://github.com/vitest-dev/vitest/commit/1b1473712"><!-- raw
HTML omitted -->(1b147)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/config/experimental#experimental-fsmodulecache">https://vitest.dev/config/experimental#experimental-fsmodulecache</a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5aa84d56a6"><code>5aa84d5</code></a>
chore: release v4.0.12</li>
<li><a
href="c3befb049f"><code>c3befb0</code></a>
chore: release v4.0.11</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.12/packages/coverage-v8">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 4.0.10 to 4.0.12
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.12</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Inherit <code>fsModuleCachePath</code> by default  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9063">vitest-dev/vitest#9063</a>
<a href="https://github.com/vitest-dev/vitest/commit/9a8bc78c5"><!-- raw
HTML omitted -->(9a8bc)<!-- raw HTML omitted --></a></li>
<li>Don't import from <code>@opentelemetry/api</code> in public types
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9066">vitest-dev/vitest#9066</a>
<a href="https://github.com/vitest-dev/vitest/commit/e944a37b7"><!-- raw
HTML omitted -->(e944a)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12">View
changes on GitHub</a></h5>
<h2>v4.0.11</h2>
<h3>   🚀 Experimental Features</h3>
<ul>
<li><strong>api</strong>: Add extensible test artifact API  -  by <a
href="https://github.com/macarie"><code>@​macarie</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8987">vitest-dev/vitest#8987</a>
<a href="https://github.com/vitest-dev/vitest/commit/772923645"><!-- raw
HTML omitted -->(77292)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/api/advanced/artifacts">https://vitest.dev/api/advanced/artifacts</a></li>
</ul>
</li>
<li><strong>expect</strong>: Provide <code>task</code> in
<code>MatchState</code>  -  by <a
href="https://github.com/macarie"><code>@​macarie</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9022">vitest-dev/vitest#9022</a>
<a href="https://github.com/vitest-dev/vitest/commit/afd1f3e52"><!-- raw
HTML omitted -->(afd1f)<!-- raw HTML omitted --></a></li>
<li><strong>experimental</strong>: Support OpenTelemetry traces  -  by
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8994">vitest-dev/vitest#8994</a>
<a href="https://github.com/vitest-dev/vitest/commit/d6d3359dd"><!-- raw
HTML omitted -->(d6d33)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/guide/open-telemetry">https://vitest.dev/guide/open-telemetry</a></li>
</ul>
</li>
</ul>
<h3>   🏎 Performance</h3>
<ul>
<li><strong>experimental</strong>: Add file system cache  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9026">vitest-dev/vitest#9026</a>
<a href="https://github.com/vitest-dev/vitest/commit/1b1473712"><!-- raw
HTML omitted -->(1b147)<!-- raw HTML omitted --></a>
<ul>
<li>See more at <a
href="https://vitest.dev/config/experimental#experimental-fsmodulecache">https://vitest.dev/config/experimental#experimental-fsmodulecache</a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5aa84d56a6"><code>5aa84d5</code></a>
chore: release v4.0.12</li>
<li><a
href="e944a37b71"><code>e944a37</code></a>
fix: don't import from <code>@opentelemetry/api</code> in public types
(<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9066">#9066</a>)</li>
<li><a
href="9a8bc78c51"><code>9a8bc78</code></a>
fix: inherit <code>fsModuleCachePath</code> by default (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9063">#9063</a>)</li>
<li><a
href="c3befb049f"><code>c3befb0</code></a>
chore: release v4.0.11</li>
<li><a
href="1b14737124"><code>1b14737</code></a>
perf(experimental): add file system cache (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9026">#9026</a>)</li>
<li><a
href="4f58c77147"><code>4f58c77</code></a>
chore: Fix typo in BrowserServerFactory options parameter (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9049">#9049</a>)</li>
<li><a
href="67a39f5e39"><code>67a39f5</code></a>
chore: fix indentation for browser instances config (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9052">#9052</a>)</li>
<li><a
href="4bdcb113e8"><code>4bdcb11</code></a>
docs: fix browser provider redirect (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9051">#9051</a>)</li>
<li><a
href="772923645f"><code>7729236</code></a>
feat(api): add extensible test artifact API (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8987">#8987</a>)</li>
<li><a
href="afd1f3e527"><code>afd1f3e</code></a>
feat(expect): provide <code>task</code> in <code>MatchState</code> (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9022">#9022</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.12/packages/vitest">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot 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>
2025-12-02 09:07:55 +00:00
dependabot[bot]
5b6aff544e chore(deps-dev): Bump typescript-eslint from 8.47.0 to 8.48.0 (#1547)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.47.0 to 8.48.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.48.0</h2>
<h2>8.48.0 (2025-11-24)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-redundant-type-constituents] use
assignability checking for redundancy checks (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10744">#10744</a>)</li>
<li><strong>rule-tester:</strong> remove workaround for jest circular
structure error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11772">#11772</a>)</li>
<li><strong>typescript-estree:</strong> gate all errors behind
allowInvalidAST (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11693">#11693</a>)</li>
<li><strong>typescript-estree:</strong> replace fast-glob with
tinyglobby (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11740">#11740</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-generic-constructors]
ignore when constructor is typed array (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10477">#10477</a>)</li>
<li><strong>scope-manager:</strong> change unhelpful <code>aaa</code>
error message and change <code>analyze</code> to expects
<code>Program</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11747">#11747</a>)</li>
<li><strong>typescript-estree:</strong> infers singleRun as true for
project service (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11327">#11327</a>)</li>
<li><strong>typescript-estree:</strong> disallow binding patterns in
parameter properties (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11760">#11760</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Ben McCann <a
href="https://github.com/benmccann"><code>@​benmccann</code></a></li>
<li>Dima Barabash <a
href="https://github.com/dbarabashh"><code>@​dbarabashh</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>JamesHenry <a
href="https://github.com/JamesHenry"><code>@​JamesHenry</code></a></li>
<li>Josh Goldberg</li>
<li>Josh Goldberg </li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>mdm317 <a
href="https://github.com/gen-ip-1"><code>@​gen-ip-1</code></a></li>
<li>Younsang Na <a
href="https://github.com/nayounsang"><code>@​nayounsang</code></a></li>
</ul>
<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.48.0 (2025-11-24)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="6fb1551634"><code>6fb1551</code></a>
chore(release): publish 8.48.0</li>
<li><a
href="a4dc42ac54"><code>a4dc42a</code></a>
chore: migrate to nx 22 (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/11780">#11780</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.47.0&new-version=8.48.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-28 13:15:57 +00:00
dependabot[bot]
d606ad24a6 chore(deps): Bump github/codeql-action from 4.31.3 to 4.31.5 (#1545)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.31.3 to 4.31.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.31.5</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.5 - 24 Nov 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3321">#3321</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.5/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v4.31.4</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.4 - 18 Nov 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.4/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.31.5 - 24 Nov 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3321">#3321</a></li>
</ul>
<h2>4.31.4 - 18 Nov 2025</h2>
<p>No user facing changes.</p>
<h2>4.31.3 - 13 Nov 2025</h2>
<ul>
<li>CodeQL Action v3 will be deprecated in December 2026. The Action now
logs a warning for customers who are running v3 but could be running v4.
For more information, see <a
href="https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/">Upcoming
deprecation of CodeQL Action v3</a>.</li>
<li>Update default CodeQL bundle version to 2.23.5. <a
href="https://redirect.github.com/github/codeql-action/pull/3288">#3288</a></li>
</ul>
<h2>4.31.2 - 30 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.31.1 - 30 Oct 2025</h2>
<ul>
<li>The <code>add-snippets</code> input has been removed from the
<code>analyze</code> action. This input has been deprecated since CodeQL
Action 3.26.4 in August 2024 when this removal was announced.</li>
</ul>
<h2>4.31.0 - 24 Oct 2025</h2>
<ul>
<li>Bump minimum CodeQL bundle version to 2.17.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3223">#3223</a></li>
<li>When SARIF files are uploaded by the <code>analyze</code> or
<code>upload-sarif</code> actions, the CodeQL Action automatically
performs post-processing steps to prepare the data for the upload.
Previously, these post-processing steps were only performed before an
upload took place. We are now changing this so that the post-processing
steps will always be performed, even when the SARIF files are not
uploaded. This does not change anything for the
<code>upload-sarif</code> action. For <code>analyze</code>, this may
affect Advanced Setup for CodeQL users who specify a value other than
<code>always</code> for the <code>upload</code> input. <a
href="https://redirect.github.com/github/codeql-action/pull/3222">#3222</a></li>
</ul>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fdbfb4d275"><code>fdbfb4d</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3322">#3322</a>
from github/update-v4.31.5-ec2ee575c</li>
<li><a
href="81f6d649ae"><code>81f6d64</code></a>
Update changelog for v4.31.5</li>
<li><a
href="ec2ee575c0"><code>ec2ee57</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3321">#3321</a>
from github/update-bundle/codeql-bundle-v2.23.6</li>
<li><a
href="ecc87875ee"><code>ecc8787</code></a>
Add changelog note</li>
<li><a
href="1d2a238d7d"><code>1d2a238</code></a>
Update default bundle to codeql-bundle-v2.23.6</li>
<li><a
href="ce729e4d35"><code>ce729e4</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3315">#3315</a>
from github/henrymercer/dead-code-elimination</li>
<li><a
href="ac359aad20"><code>ac359aa</code></a>
Add return type</li>
<li><a
href="112cd075bd"><code>112cd07</code></a>
Merge branch 'main' into henrymercer/dead-code-elimination</li>
<li><a
href="0b4317954f"><code>0b43179</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3306">#3306</a>
from github/dependabot/npm_and_yarn/types/sinon-21.0.0</li>
<li><a
href="e818008b54"><code>e818008</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3305">#3305</a>
from github/dependabot/npm_and_yarn/eslint/compat-2.0.0</li>
<li>Additional commits viewable in <a
href="014f16e7ab...fdbfb4d275">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-27 13:23:08 +00:00
dependabot[bot]
69e3d0aa97 chore(deps-dev): Bump @types/react from 19.2.6 to 19.2.7 (#1544)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.2.6 to 19.2.7.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.6&new-version=19.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-27 13:17:34 +00:00
dependabot[bot]
b9064e0f3c chore(deps-dev): Bump sass from 1.94.0 to 1.94.2 (#1538)
Bumps [sass](https://github.com/sass/dart-sass) from 1.94.0 to 1.94.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/releases">sass's
releases</a>.</em></p>
<blockquote>
<h2>Dart Sass 1.94.2</h2>
<p>To install Sass 1.94.2, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<h3>Command-Line Interface</h3>
<ul>
<li>Using <code>--fatal-deprecation &lt;version&gt;</code> no longer
emits warnings about deprecations that are obsolete.</li>
</ul>
<h3>Dart API</h3>
<ul>
<li><code>Deprecation.forVersion</code> now excludes obsolete
deprecations from the set it returns.</li>
</ul>
<h3>JS API</h3>
<ul>
<li>Excludes obsolete deprecations from <code>fatalDeprecations</code>
when a <code>Version</code> is passed.</li>
</ul>
<h3>Node.js Embedded Host</h3>
<ul>
<li>Fix a bug where a variable could be used before it was initialized
during async compilation.</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1942">full
changelog</a> for changes in earlier releases.</p>
<h2>Dart Sass 1.94.1</h2>
<p>To install Sass 1.94.1, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<ul>
<li>No user-visible changes.</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1941">full
changelog</a> for changes in earlier releases.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/blob/main/CHANGELOG.md">sass's
changelog</a>.</em></p>
<blockquote>
<h2>1.94.2</h2>
<h3>Command-Line Interface</h3>
<ul>
<li>Using <code>--fatal-deprecation &lt;version&gt;</code> no longer
emits warnings about
deprecations that are obsolete.</li>
</ul>
<h3>Dart API</h3>
<ul>
<li><code>Deprecation.forVersion</code> now excludes obsolete
deprecations from the set it
returns.</li>
</ul>
<h3>JS API</h3>
<ul>
<li>Excludes obsolete deprecations from <code>fatalDeprecations</code>
when a <code>Version</code> is
passed.</li>
</ul>
<h3>Node.js Embedded Host</h3>
<ul>
<li>Fix a bug where a variable could be used before it was initialized
during
async compilation.</li>
</ul>
<h2>1.94.1</h2>
<ul>
<li>No user-visible changes.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7af5122786"><code>7af5122</code></a>
Mention obsolete deprecation fix in all API surfaces (<a
href="https://redirect.github.com/sass/dart-sass/issues/2683">#2683</a>)</li>
<li><a
href="82b96b09b0"><code>82b96b0</code></a>
Update pubspec/changelog for <a
href="https://redirect.github.com/sass/embedded-host-node/issues/399">sass/embedded-host-node#399</a>
(<a
href="https://redirect.github.com/sass/dart-sass/issues/2682">#2682</a>)</li>
<li><a
href="18fddef852"><code>18fddef</code></a>
--fatal-deprecation excludes obsolete Deprecations (<a
href="https://redirect.github.com/sass/dart-sass/issues/2671">#2671</a>)</li>
<li><a
href="0356a2b8b7"><code>0356a2b</code></a>
Pass --provenance to <code>npm publish</code> (<a
href="https://redirect.github.com/sass/dart-sass/issues/2681">#2681</a>)</li>
<li><a
href="52fc718e0c"><code>52fc718</code></a>
Update the repository URL for JS packages (<a
href="https://redirect.github.com/sass/dart-sass/issues/2679">#2679</a>)</li>
<li>See full diff in <a
href="https://github.com/sass/dart-sass/compare/1.94.0...1.94.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sass&package-manager=npm_and_yarn&previous-version=1.94.0&new-version=1.94.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 13:26:50 +00:00
dependabot[bot]
dc7a2c135f chore(deps-dev): Bump stylelint from 16.25.0 to 16.26.0 (#1542)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.25.0
to 16.26.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/releases">stylelint's
releases</a>.</em></p>
<blockquote>
<h2>16.26.0</h2>
<p>It adds 1 feature and fixes 2 bugs.</p>
<ul>
<li>Added: support for <code>customSyntax</code> with function export
(<a
href="https://redirect.github.com/stylelint/stylelint/issues/8834">#8834</a>)
(<a
href="https://github.com/silverwind"><code>@​silverwind</code></a>).</li>
<li>Fixed: <code>custom-property-no-missing-var-function</code> false
positives for style query in <code>if()</code> function (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8813">#8813</a>)
(<a
href="https://github.com/sajdakabir"><code>@​sajdakabir</code></a>).</li>
<li>Fixed: <code>media-feature-range-notation</code> false positives for
multiple queries and <code>except: exact-value</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8832">#8832</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md">stylelint's
changelog</a>.</em></p>
<blockquote>
<h2>16.26.0 - 2025-11-21</h2>
<p>It adds 1 feature and fixes 2 bugs.</p>
<ul>
<li>Added: support for <code>customSyntax</code> with function export
(<a
href="https://redirect.github.com/stylelint/stylelint/pull/8834">#8834</a>)
(<a
href="https://github.com/silverwind"><code>@​silverwind</code></a>).</li>
<li>Fixed: <code>custom-property-no-missing-var-function</code> false
positives for style query in <code>if()</code> function (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8813">#8813</a>)
(<a
href="https://github.com/sajdakabir"><code>@​sajdakabir</code></a>).</li>
<li>Fixed: <code>media-feature-range-notation</code> false positives for
multiple queries and <code>except: exact-value</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8832">#8832</a>)
(<a href="https://github.com/jeddy3"><code>@​jeddy3</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="13737ba4b6"><code>13737ba</code></a>
Release 16.26.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8842">#8842</a>)</li>
<li><a
href="a5c75d3247"><code>a5c75d3</code></a>
Fix semver type for added feature (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8841">#8841</a>)</li>
<li><a
href="de3a8f0cce"><code>de3a8f0</code></a>
Fix <code>custom-property-no-missing-var-function</code> false positives
for style query...</li>
<li><a
href="dd008cdf91"><code>dd008cd</code></a>
Fix vulnerable dependencies by <code>npm audit fix</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8839">#8839</a>)</li>
<li><a
href="2ba1898358"><code>2ba1898</code></a>
Add support for <code>customSyntax</code> with function export (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8834">#8834</a>)</li>
<li><a
href="782b741476"><code>782b741</code></a>
Bump eslint from 9.38.0 to 9.39.0 in the eslint group (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8835">#8835</a>)</li>
<li><a
href="99b018df08"><code>99b018d</code></a>
Fix <code>media-feature-range-notation</code> false positives for
multiple queries and `...</li>
<li><a
href="b0fa5641ea"><code>b0fa564</code></a>
Bump file-entry-cache from 10.1.4 to 11.1.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8817">#8817</a>)</li>
<li><a
href="4ac232e60f"><code>4ac232e</code></a>
Document larger <code>message</code> arguments example (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8803">#8803</a>)</li>
<li><a
href="4ba4da4ab4"><code>4ba4da4</code></a>
Bump <code>@​stylelint/prettier-config</code> from 3.0.0 to 4.0.0 in the
stylelint group (#...</li>
<li>Additional commits viewable in <a
href="https://github.com/stylelint/stylelint/compare/16.25.0...16.26.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stylelint&package-manager=npm_and_yarn&previous-version=16.25.0&new-version=16.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 13:17:38 +00:00
dependabot[bot]
f816d88946 chore(deps): Bump i18next from 25.6.2 to 25.6.3 (#1537)
Bumps [i18next](https://github.com/i18next/i18next) from 25.6.2 to
25.6.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v25.6.3</h2>
<ul>
<li>chore: dependency updates <a
href="https://redirect.github.com/i18next/i18next/issues/2366">2368</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>25.6.3</h2>
<ul>
<li>chore: dependency updates <a
href="https://redirect.github.com/i18next/i18next/issues/2366">2368</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f9895ce370"><code>f9895ce</code></a>
25.6.3</li>
<li><a
href="f302f5469e"><code>f302f54</code></a>
chore: dependency updates <a
href="https://redirect.github.com/i18next/i18next/issues/2368">#2368</a></li>
<li><a
href="af67d8a9af"><code>af67d8a</code></a>
chore: dependency updates (<a
href="https://redirect.github.com/i18next/i18next/issues/2368">#2368</a>)</li>
<li>See full diff in <a
href="https://github.com/i18next/i18next/compare/v25.6.2...v25.6.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=25.6.2&new-version=25.6.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 13:42:49 +00:00
dependabot[bot]
72b71a0c23 chore(deps-dev): Bump @stylistic/eslint-plugin from 5.6.0 to 5.6.1 (#1536)
Bumps
[@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin)
from 5.6.0 to 5.6.1.
<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.6.1</h2>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.6.0...v5.6.1">5.6.1</a>
(2025-11-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>computed-property-spacing:</strong> guard with
<code>node.type</code> instead of <code>computed</code> check (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1054">#1054</a>)
(<a
href="c48686160f">c486861</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/blob/main/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.6.0...v5.6.1">5.6.1</a>
(2025-11-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>computed-property-spacing:</strong> guard with
<code>node.type</code> instead of <code>computed</code> check (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1054">#1054</a>)
(<a
href="c48686160f">c486861</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52b2b2ebd1"><code>52b2b2e</code></a>
chore: release v5.6.1 (main) (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1055">#1055</a>)</li>
<li><a
href="c48686160f"><code>c486861</code></a>
fix(computed-property-spacing): guard with <code>node.type</code>
instead of <code>computed</code> ...</li>
<li>See full diff in <a
href="https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.6.1/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stylistic/eslint-plugin&package-manager=npm_and_yarn&previous-version=5.6.0&new-version=5.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 13:42:27 +00:00
dependabot[bot]
a621104ac8 chore(deps-dev): Bump vite from 7.2.2 to 7.2.4 (#1535)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.2.2 to 7.2.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.2.4</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.2.3</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.2.3...v7.2.4">7.2.4</a>
(2025-11-20)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li>revert &quot;perf(deps): replace debug with obug (<a
href="https://redirect.github.com/vitejs/vite/issues/21107">#21107</a>)&quot;
(<a
href="2d66b7b14a">2d66b7b</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.2.2...v7.2.3">7.2.3</a>
(2025-11-20)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li>allow multiple <code>bindCLIShortcuts</code> calls with shortcut
merging (<a
href="https://redirect.github.com/vitejs/vite/issues/21103">#21103</a>)
(<a
href="5909efd8fb">5909efd</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/21096">#21096</a>)
(<a
href="6a34ac3422">6a34ac3</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/21128">#21128</a>)
(<a
href="4f8171eb30">4f8171e</a>)</li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>deps:</strong> replace debug with obug (<a
href="https://redirect.github.com/vitejs/vite/issues/21107">#21107</a>)
(<a
href="acfe939e1f">acfe939</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update dependency
<code>@​rollup/plugin-commonjs</code> to v29 (<a
href="https://redirect.github.com/vitejs/vite/issues/21099">#21099</a>)
(<a
href="02ceaec45e">02ceaec</a>)</li>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/21095">#21095</a>)
(<a
href="39a0a15fd2">39a0a15</a>)</li>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/21127">#21127</a>)
(<a
href="5029720845">5029720</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="24a611f1c8"><code>24a611f</code></a>
release: v7.2.4</li>
<li><a
href="2d66b7b14a"><code>2d66b7b</code></a>
fix: revert &quot;perf(deps): replace debug with obug (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)&quot;</li>
<li><a
href="a668014dba"><code>a668014</code></a>
release: v7.2.3</li>
<li><a
href="acfe939e1f"><code>acfe939</code></a>
perf(deps): replace debug with obug (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)</li>
<li><a
href="4f8171eb30"><code>4f8171e</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21128">#21128</a>)</li>
<li><a
href="5029720845"><code>5029720</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21127">#21127</a>)</li>
<li><a
href="5909efd8fb"><code>5909efd</code></a>
fix: allow multiple <code>bindCLIShortcuts</code> calls with shortcut
merging (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21103">#21103</a>)</li>
<li><a
href="39a0a15fd2"><code>39a0a15</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21095">#21095</a>)</li>
<li><a
href="6a34ac3422"><code>6a34ac3</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21096">#21096</a>)</li>
<li><a
href="02ceaec45e"><code>02ceaec</code></a>
chore(deps): update dependency <code>@​rollup/plugin-commonjs</code> to
v29 (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21099">#21099</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v7.2.4/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.2.2&new-version=7.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 13:41:46 +00:00
dependabot[bot]
9a66a23fa3 chore(deps-dev): Bump typescript-eslint from 8.46.4 to 8.47.0 (#1531)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.46.4 to 8.47.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.47.0</h2>
<h2>8.47.0 (2025-11-17)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unused-private-class-members]
new extension rule (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10913">#10913</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@​bradzacher</code></a></li>
</ul>
<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.47.0 (2025-11-17)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="28cf8032c2"><code>28cf803</code></a>
chore(release): publish 8.47.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.47.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.46.4&new-version=8.47.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 13:18:43 +00:00
dependabot[bot]
138a25c01c chore(deps-dev): Bump @types/react from 19.2.5 to 19.2.6 (#1529)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.2.5 to 19.2.6.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.5&new-version=19.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 13:17:59 +00:00
dependabot[bot]
2a05aeb2e9 chore(deps-dev): Bump @stylistic/eslint-plugin from 5.5.0 to 5.6.0 (#1528)
Bumps
[@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin)
from 5.5.0 to 5.6.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.6.0</h2>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.5.0...v5.6.0">5.6.0</a>
(2025-11-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>arrow-spacing:</strong> support <code>TSFunctionType</code>
and <code>TSConstructorType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1036">#1036</a>)
(<a
href="a5380d2a46">a5380d2</a>)</li>
<li><strong>computed-property-spacing:</strong> support
<code>TSIndexedAccessType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1047">#1047</a>)
(<a
href="d6e7437f00">d6e7437</a>)</li>
<li><strong>no-whitespace-before-property:</strong> support TS nodes (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1046">#1046</a>)
(<a
href="684ff7688a">684ff76</a>)</li>
<li><strong>type-annotation-spacing:</strong> deprecate
<code>overrides.arrow</code> in favor of <code>arrow-spacing</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1037">#1037</a>)
(<a
href="598bbb0f74">598bbb0</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1052">#1052</a>)
(<a
href="29d09cc901">29d09cc</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>type-generic-spacing:</strong> ignore spaces after
<code>new</code> in <code>TSConstructorType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1044">#1044</a>)
(<a
href="aa0c6acfba">aa0c6ac</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>no-extra-parens:</strong> add missing <code>]</code> in
various examples. (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1048">#1048</a>)
(<a
href="88248cf843">88248cf</a>)</li>
<li><strong>quotes:</strong> update deprecated options to latest and add
tips (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1026">#1026</a>)
(<a
href="dc949f893d">dc949f8</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/download-artifact from 5 to 6
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1033">#1033</a>)
(<a
href="88453426cf">8845342</a>)</li>
<li><strong>deps:</strong> bump actions/setup-node from 5 to 6 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1029">#1029</a>)
(<a
href="aa2f9915d6">aa2f991</a>)</li>
<li><strong>deps:</strong> bump actions/upload-artifact from 4 to 5 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1034">#1034</a>)
(<a
href="657e8ce93c">657e8ce</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>indent:</strong> cleanup <code>TestCaseError#nodeType</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1043">#1043</a>)
(<a
href="3fcec3edcc">3fcec3e</a>)</li>
<li><strong>indent:</strong> simplify logic in <code>JSXText</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1027">#1027</a>)
(<a
href="d83c5b0ef2">d83c5b0</a>)</li>
<li><strong>space-infix-ops:</strong> simplify logic (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1022">#1022</a>)
(<a
href="6d57a7deb6">6d57a7d</a>)</li>
<li><strong>type-annotation-spacing:</strong> simplify type definitions
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1031">#1031</a>)
(<a
href="aa6a0a3aa3">aa6a0a3</a>)</li>
<li><strong>type-annotation-spacing:</strong> use <code>unindent</code>
for better collapse (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1032">#1032</a>)
(<a
href="839502a559">839502a</a>)</li>
<li><strong>type-generic-spacing:</strong> remove logic duplicated with
<code>comma-spacing</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1024">#1024</a>)
(<a
href="361cfc8628">361cfc8</a>)</li>
<li>upgrade to vitest v4 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1040">#1040</a>)
(<a
href="c9d684b6e6">c9d684b</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/blob/main/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.5.0...v5.6.0">5.6.0</a>
(2025-11-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>arrow-spacing:</strong> support <code>TSFunctionType</code>
and <code>TSConstructorType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1036">#1036</a>)
(<a
href="a5380d2a46">a5380d2</a>)</li>
<li><strong>computed-property-spacing:</strong> support
<code>TSIndexedAccessType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1047">#1047</a>)
(<a
href="d6e7437f00">d6e7437</a>)</li>
<li><strong>no-whitespace-before-property:</strong> support TS nodes (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1046">#1046</a>)
(<a
href="684ff7688a">684ff76</a>)</li>
<li><strong>type-annotation-spacing:</strong> deprecate
<code>overrides.arrow</code> in favor of <code>arrow-spacing</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1037">#1037</a>)
(<a
href="598bbb0f74">598bbb0</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1052">#1052</a>)
(<a
href="29d09cc901">29d09cc</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>type-generic-spacing:</strong> ignore spaces after
<code>new</code> in <code>TSConstructorType</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1044">#1044</a>)
(<a
href="aa0c6acfba">aa0c6ac</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>no-extra-parens:</strong> add missing <code>]</code> in
various examples. (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1048">#1048</a>)
(<a
href="88248cf843">88248cf</a>)</li>
<li><strong>quotes:</strong> update deprecated options to latest and add
tips (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1026">#1026</a>)
(<a
href="dc949f893d">dc949f8</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/download-artifact from 5 to 6
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1033">#1033</a>)
(<a
href="88453426cf">8845342</a>)</li>
<li><strong>deps:</strong> bump actions/setup-node from 5 to 6 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1029">#1029</a>)
(<a
href="aa2f9915d6">aa2f991</a>)</li>
<li><strong>deps:</strong> bump actions/upload-artifact from 4 to 5 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1034">#1034</a>)
(<a
href="657e8ce93c">657e8ce</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>indent:</strong> cleanup <code>TestCaseError#nodeType</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1043">#1043</a>)
(<a
href="3fcec3edcc">3fcec3e</a>)</li>
<li><strong>indent:</strong> simplify logic in <code>JSXText</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1027">#1027</a>)
(<a
href="d83c5b0ef2">d83c5b0</a>)</li>
<li><strong>space-infix-ops:</strong> simplify logic (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1022">#1022</a>)
(<a
href="6d57a7deb6">6d57a7d</a>)</li>
<li><strong>type-annotation-spacing:</strong> simplify type definitions
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1031">#1031</a>)
(<a
href="aa6a0a3aa3">aa6a0a3</a>)</li>
<li><strong>type-annotation-spacing:</strong> use <code>unindent</code>
for better collapse (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1032">#1032</a>)
(<a
href="839502a559">839502a</a>)</li>
<li><strong>type-generic-spacing:</strong> remove logic duplicated with
<code>comma-spacing</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1024">#1024</a>)
(<a
href="361cfc8628">361cfc8</a>)</li>
<li>upgrade to vitest v4 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1040">#1040</a>)
(<a
href="c9d684b6e6">c9d684b</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1f5526a995"><code>1f5526a</code></a>
chore: release v5.6.0 (main) (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1023">#1023</a>)</li>
<li><a
href="684ff7688a"><code>684ff76</code></a>
feat(no-whitespace-before-property): support TS nodes (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1046">#1046</a>)</li>
<li><a
href="d6e7437f00"><code>d6e7437</code></a>
feat(computed-property-spacing): support
<code>TSIndexedAccessType</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1047">#1047</a>)</li>
<li><a
href="88248cf843"><code>88248cf</code></a>
docs(no-extra-parens): add missing <code>]</code> in various examples.
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1048">#1048</a>)</li>
<li><a
href="aa0c6acfba"><code>aa0c6ac</code></a>
fix(type-generic-spacing): ignore spaces after <code>new</code> in
<code>TSConstructorType</code> ...</li>
<li><a
href="3fcec3edcc"><code>3fcec3e</code></a>
test(indent): cleanup <code>TestCaseError#nodeType</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1043">#1043</a>)</li>
<li><a
href="598bbb0f74"><code>598bbb0</code></a>
feat(type-annotation-spacing): deprecate <code>overrides.arrow</code> in
favor of `arrow...</li>
<li><a
href="a5380d2a46"><code>a5380d2</code></a>
feat(arrow-spacing): support <code>TSFunctionType</code> and
<code>TSConstructorType</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1036">#1036</a>)</li>
<li><a
href="c9d684b6e6"><code>c9d684b</code></a>
test: upgrade to vitest v4 (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1040">#1040</a>)</li>
<li><a
href="de3aaf15fb"><code>de3aaf1</code></a>
chore: typo (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1038">#1038</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.6.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stylistic/eslint-plugin&package-manager=npm_and_yarn&previous-version=5.5.0&new-version=5.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 13:17:34 +00:00
dependabot[bot]
e77ab79f5a chore(deps-dev): Bump the vitest group with 2 updates (#1526)
Bumps the vitest group with 2 updates:
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
and
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).

Updates `@vitest/coverage-v8` from 4.0.9 to 4.0.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases"><code>@​vitest/coverage-v8</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v4.0.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Remove <code>onCancel</code> when worker is terminated  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9033">vitest-dev/vitest#9033</a>
<a href="https://github.com/vitest-dev/vitest/commit/6d7f0a99e"><!-- raw
HTML omitted -->(6d7f0)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>:
<ul>
<li>Don't scale the iframe if UI is disabled  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9018">vitest-dev/vitest#9018</a>
<a href="https://github.com/vitest-dev/vitest/commit/5406e8ea4"><!-- raw
HTML omitted -->(5406e)<!-- raw HTML omitted --></a></li>
<li>Handle dependency stack traces with external source maps. Resolves:
<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9003">#9003</a>
 -  by <a href="https://github.com/iclectic"><code>@​iclectic</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9016">vitest-dev/vitest#9016</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9003">vitest-dev/vitest#9003</a>
<a href="https://github.com/vitest-dev/vitest/commit/57ae547de"><!-- raw
HTML omitted -->(57ae5)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>bun</strong>:
<ul>
<li>Parsing of stack trace for bun runtime  -  by <a
href="https://github.com/nazarhussain"><code>@​nazarhussain</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9032">vitest-dev/vitest#9032</a>
<a href="https://github.com/vitest-dev/vitest/commit/f3ec6fcb0"><!-- raw
HTML omitted -->(f3ec6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>core</strong>:
<ul>
<li>Prevent starting new run when cancelling  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8991">vitest-dev/vitest#8991</a>
<a href="https://github.com/vitest-dev/vitest/commit/eb98dd8fd"><!-- raw
HTML omitted -->(eb98d)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>pool</strong>:
<ul>
<li>Prevent writing to closed worker  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> and
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9023">vitest-dev/vitest#9023</a>
<a href="https://github.com/vitest-dev/vitest/commit/042c60c80"><!-- raw
HTML omitted -->(042c6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>reporters</strong>:
<ul>
<li>Report correct test run duration at the end  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8969">vitest-dev/vitest#8969</a>
<a href="https://github.com/vitest-dev/vitest/commit/bc3a6921e"><!-- raw
HTML omitted -->(bc3a6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>ui</strong>:
<ul>
<li>Use execution time from ws reporter (<code>onFinished</code>)  -  by
<a href="https://github.com/userquin"><code>@​userquin</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8975">vitest-dev/vitest#8975</a>
<a href="https://github.com/vitest-dev/vitest/commit/f56dc0cc4"><!-- raw
HTML omitted -->(f56dc)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="259a3d1b56"><code>259a3d1</code></a>
chore: release v4.0.10</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.10/packages/coverage-v8">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 4.0.9 to 4.0.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Remove <code>onCancel</code> when worker is terminated  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9033">vitest-dev/vitest#9033</a>
<a href="https://github.com/vitest-dev/vitest/commit/6d7f0a99e"><!-- raw
HTML omitted -->(6d7f0)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>:
<ul>
<li>Don't scale the iframe if UI is disabled  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/9018">vitest-dev/vitest#9018</a>
<a href="https://github.com/vitest-dev/vitest/commit/5406e8ea4"><!-- raw
HTML omitted -->(5406e)<!-- raw HTML omitted --></a></li>
<li>Handle dependency stack traces with external source maps. Resolves:
<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9003">#9003</a>
 -  by <a href="https://github.com/iclectic"><code>@​iclectic</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9016">vitest-dev/vitest#9016</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9003">vitest-dev/vitest#9003</a>
<a href="https://github.com/vitest-dev/vitest/commit/57ae547de"><!-- raw
HTML omitted -->(57ae5)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>bun</strong>:
<ul>
<li>Parsing of stack trace for bun runtime  -  by <a
href="https://github.com/nazarhussain"><code>@​nazarhussain</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9032">vitest-dev/vitest#9032</a>
<a href="https://github.com/vitest-dev/vitest/commit/f3ec6fcb0"><!-- raw
HTML omitted -->(f3ec6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>core</strong>:
<ul>
<li>Prevent starting new run when cancelling  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8991">vitest-dev/vitest#8991</a>
<a href="https://github.com/vitest-dev/vitest/commit/eb98dd8fd"><!-- raw
HTML omitted -->(eb98d)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>pool</strong>:
<ul>
<li>Prevent writing to closed worker  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> and
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9023">vitest-dev/vitest#9023</a>
<a href="https://github.com/vitest-dev/vitest/commit/042c60c80"><!-- raw
HTML omitted -->(042c6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>reporters</strong>:
<ul>
<li>Report correct test run duration at the end  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8969">vitest-dev/vitest#8969</a>
<a href="https://github.com/vitest-dev/vitest/commit/bc3a6921e"><!-- raw
HTML omitted -->(bc3a6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>ui</strong>:
<ul>
<li>Use execution time from ws reporter (<code>onFinished</code>)  -  by
<a href="https://github.com/userquin"><code>@​userquin</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8975">vitest-dev/vitest#8975</a>
<a href="https://github.com/vitest-dev/vitest/commit/f56dc0cc4"><!-- raw
HTML omitted -->(f56dc)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="259a3d1b56"><code>259a3d1</code></a>
chore: release v4.0.10</li>
<li><a
href="bc3a6921e2"><code>bc3a692</code></a>
fix(reporters): report correct test run duration at the end (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8969">#8969</a>)</li>
<li><a
href="f3ec6fcb0a"><code>f3ec6fc</code></a>
fix(bun): parsing of stack trace for bun runtime (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9032">#9032</a>)</li>
<li><a
href="042c60c80a"><code>042c60c</code></a>
fix(pool): prevent writing to closed worker (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9023">#9023</a>)</li>
<li><a
href="80f2bb6d89"><code>80f2bb6</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9037">#9037</a>)</li>
<li><a
href="eb98dd8fd2"><code>eb98dd8</code></a>
fix(core): prevent starting new run when cancelling (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8991">#8991</a>)</li>
<li><a
href="f509d2ab9f"><code>f509d2a</code></a>
chore(deps): update dependency <code>@​types/node</code> to v24 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9038">#9038</a>)</li>
<li><a
href="44dca5fb43"><code>44dca5f</code></a>
chore: print a better error when browser orchestrator fails to run a
test (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8">#8</a>...</li>
<li><a
href="f56dc0cc4c"><code>f56dc0c</code></a>
fix(ui): use execution time from ws reporter (<code>onFinished</code>)
(<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8975">#8975</a>)</li>
<li><a
href="7c9edffb05"><code>7c9edff</code></a>
refactor(forks): simplify IPC channel serialization (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8999">#8999</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.10/packages/vitest">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot 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>
2025-11-20 13:17:12 +00:00
dependabot[bot]
522815b4c5 chore(deps): Bump actions/checkout from 5.0.0 to 5.0.1 (#1523)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0
to 5.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="93cb6efe18"><code>93cb6ef</code></a>
Cleanup actions/checkout@v6 auth style (<a
href="https://redirect.github.com/actions/checkout/issues/2301">#2301</a>)</li>
<li>See full diff in <a
href="08c6903cd8...93cb6efe18">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 10:54:59 +00:00
dependabot[bot]
5ccdcd7a72 chore(deps): Bump maplibre-gl from 5.12.0 to 5.13.0 (#1522)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.12.0 to 5.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.13.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.12.0...v5.13.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.12.0">MapLibre
GL JS v5.12.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Text labels can now include relatively uncommon Chinese, Japanese,
Korean, and Vietnamese characters, as well as characters from historical
writing systems. When using server-side fonts, the map may request glyph
PBFs beyond U+FFFF from the server instead of throwing an error as
before. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6640">#6640</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>GeoJSON Source Diff: improve, abstract, refactor, optimize, and fix
regressions. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6681">#6681</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
<li>GeoJSONSource setData and updateData waitForCompletion option (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6688">#6688</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
<li>Improve performance of <code>GeoJSONSource#updateData</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6668">#6668</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
<li>GeoJSON Worker Refactor (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6702">#6702</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Misc bug fixes related to <code>GeoJSONSource#updateData</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6689">#6689</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6690">#6690</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6704">#6704</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.13.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Text labels can now include relatively uncommon Chinese, Japanese,
Korean, and Vietnamese characters, as well as characters from historical
writing systems. When using server-side fonts, the map may request glyph
PBFs beyond U+FFFF from the server instead of throwing an error as
before. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6640">#6640</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>GeoJSON Source Diff: improve, abstract, refactor, optimize, and fix
regressions. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6681">#6681</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
<li>GeoJSONSource setData and updateData waitForCompletion option (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6688">#6688</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
<li>Improve performance of <code>GeoJSONSource#updateData</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6668">#6668</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
<li>GeoJSON Worker Refactor (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6702">#6702</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Misc bug fixes related to <code>GeoJSONSource#updateData</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6689">#6689</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6690">#6690</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6704">#6704</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="53cb7999de"><code>53cb799</code></a>
Bump version to 5.13.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6713">#6713</a>)</li>
<li><a
href="cae43e552b"><code>cae43e5</code></a>
chore(deps-dev): bump autoprefixer from 10.4.21 to 10.4.22 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6709">#6709</a>)</li>
<li><a
href="76b6b519b8"><code>76b6b51</code></a>
chore(deps-dev): bump rollup from 4.53.1 to 4.53.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6707">#6707</a>)</li>
<li><a
href="b35ed0adda"><code>b35ed0a</code></a>
chore(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6706">#6706</a>)</li>
<li><a
href="7a3f91ab3c"><code>7a3f91a</code></a>
chore(deps-dev): bump eslint-plugin-tsdoc from 0.4.0 to 0.5.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6705">#6705</a>)</li>
<li><a
href="767a2459a9"><code>767a245</code></a>
Fix GeoJSONSource#updateData compatibility with promoteId and cluster
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6704">#6704</a>)</li>
<li><a
href="2d536a2b2c"><code>2d536a2</code></a>
GeoJSON Worker Refactor (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6702">#6702</a>)</li>
<li><a
href="a59f8ffeb8"><code>a59f8ff</code></a>
chore(deps-dev): bump <code>@​vitest/eslint-plugin</code> in the vitest
group (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6700">#6700</a>)</li>
<li><a
href="ad813fad1f"><code>ad813fa</code></a>
Improve GeoJSON#updateData performance on small diffs by not sending
entire &quot;...</li>
<li><a
href="6059488a9c"><code>6059488</code></a>
GeoJSONSource setData and updateData waitForCompletion option (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6688">#6688</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.12.0...v5.13.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.12.0&new-version=5.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
2025-11-20 10:53:56 +00:00
dependabot[bot]
9ea6f7cfa0 chore(deps-dev): Bump typescript-eslint from 8.46.3 to 8.46.4 (#1512)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.46.3 to 8.46.4.
<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.46.4</h2>
<h2>8.46.4 (2025-11-10)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-deprecated] fix double-report on
computed literal identifiers (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11006">#11006</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/10958">#10958</a>)</li>
<li><strong>eslint-plugin:</strong> handle override modifier in
promise-function-async fixer (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11730">#11730</a>)</li>
<li><strong>parser:</strong> error when both <code>projectService</code>
and <code>project</code> are set (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11333">#11333</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evgeny Stepanovych <a
href="https://github.com/undsoft"><code>@​undsoft</code></a></li>
<li>Kentaro Suzuki <a
href="https://github.com/sushichan044"><code>@​sushichan044</code></a></li>
<li>Maria Solano <a
href="https://github.com/MariaSolOs"><code>@​MariaSolOs</code></a></li>
</ul>
<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.46.4 (2025-11-10)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="843f144797"><code>843f144</code></a>
chore(release): publish 8.46.4</li>
<li><a
href="7c6944e74b"><code>7c6944e</code></a>
chore: fix typos (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/11744">#11744</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.4/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.46.3&new-version=8.46.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 10:43:17 +00:00
dependabot[bot]
ab1d4e77b9 chore(deps-dev): Bump @vitejs/plugin-react from 5.1.0 to 5.1.1 (#1516)
Bumps
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
from 5.1.0 to 5.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@​vitejs/plugin-react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@5.1.1</h2>
<h3>Update code to support newer <code>rolldown-vite</code> (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/976">#976</a>)</h3>
<p><code>rolldown-vite</code> will remove
<code>optimizeDeps.rollupOptions</code> in favor of
<code>optimizeDeps.rolldownOptions</code> soon. This plugin now uses
<code>optimizeDeps.rolldownOptions</code> to support newer
<code>rolldown-vite</code>. Please update <code>rolldown-vite</code> to
the latest version if you are using an older version.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@​vitejs/plugin-react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>5.1.1 (2025-11-12)</h2>
<h3>Update code to support newer <code>rolldown-vite</code> (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/976">#976</a>)</h3>
<p><code>rolldown-vite</code> will remove
<code>optimizeDeps.rollupOptions</code> in favor of
<code>optimizeDeps.rolldownOptions</code> soon. This plugin now uses
<code>optimizeDeps.rolldownOptions</code> to support newer
<code>rolldown-vite</code>. Please update <code>rolldown-vite</code> to
the latest version if you are using an older version.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="23db72731b"><code>23db727</code></a>
release: plugin-react@5.1.1</li>
<li><a
href="bcc7db076e"><code>bcc7db0</code></a>
chore: add changelog for <a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/976">#976</a>
and <a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/978">#978</a></li>
<li><a
href="4a2e229b20"><code>4a2e229</code></a>
fix(react): use rolldownOptions instead of deprecated rollupOptions in
optimi...</li>
<li><a
href="41cb8237bf"><code>41cb823</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/968">#968</a>)</li>
<li><a
href="9cabe2720f"><code>9cabe27</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/960">#960</a>)</li>
<li><a
href="c8d918eab8"><code>c8d918e</code></a>
chore(react): use ts-ignore for ecosystem-ci (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/956">#956</a>)</li>
<li><a
href="0849e420b3"><code>0849e42</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/953">#953</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.1.1/packages/plugin-react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@vitejs/plugin-react&package-manager=npm_and_yarn&previous-version=5.1.0&new-version=5.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 10:42:23 +00:00
dependabot[bot]
7647316684 chore(deps-dev): Bump @types/react from 19.2.4 to 19.2.5 (#1521)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.2.4 to 19.2.5.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.4&new-version=19.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
2025-11-20 07:36:01 +00:00
dependabot[bot]
156be4be4e chore(deps): Bump i18next from 25.6.0 to 25.6.2 (#1511)
Bumps [i18next](https://github.com/i18next/i18next) from 25.6.0 to
25.6.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v25.6.2</h2>
<ul>
<li>types: export <code>InterpolationMap</code></li>
</ul>
<h2>v25.6.1</h2>
<ul>
<li>fix: createInstance does not exist on an instance <a
href="https://redirect.github.com/i18next/i18next/issues/2366">#2366</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>25.6.2</h2>
<ul>
<li>types: export <code>InterpolationMap</code></li>
</ul>
<h2>25.6.1</h2>
<ul>
<li>fix: createInstance does not exist on an instance <a
href="https://redirect.github.com/i18next/i18next/issues/2366">#2366</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a25d1b9049"><code>a25d1b9</code></a>
25.6.2</li>
<li><a
href="38af638dc3"><code>38af638</code></a>
types: export InterpolationMap</li>
<li><a
href="bc2957cf2e"><code>bc2957c</code></a>
25.6.1</li>
<li><a
href="8858282777"><code>8858282</code></a>
fix: createInstance does not exist on an instance <a
href="https://redirect.github.com/i18next/i18next/issues/2366">#2366</a></li>
<li>See full diff in <a
href="https://github.com/i18next/i18next/compare/v25.6.0...v25.6.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=25.6.0&new-version=25.6.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 07:35:24 +00:00
dependabot[bot]
f08dd3e68f chore(deps): Bump cypress-io/github-action from 6.10.3 to 6.10.4 (#1507)
Bumps
[cypress-io/github-action](https://github.com/cypress-io/github-action)
from 6.10.3 to 6.10.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/github-action/releases">cypress-io/github-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.10.4</h2>
<h2><a
href="https://github.com/cypress-io/github-action/compare/v6.10.3...v6.10.4">6.10.4</a>
(2025-11-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update <code>@​vercel/ncc</code> to 0.38.4
(<a
href="https://redirect.github.com/cypress-io/github-action/issues/1581">#1581</a>)
(<a
href="7ef72e250a">7ef72e2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7ef72e250a"><code>7ef72e2</code></a>
fix(deps): update <code>@​vercel/ncc</code> to 0.38.4 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1581">#1581</a>)</li>
<li><a
href="2b9f78defe"><code>2b9f78d</code></a>
chore(deps): update cypress to 15.6.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1580">#1580</a>)</li>
<li><a
href="85d929a3cf"><code>85d929a</code></a>
chore(deps): update validator to 13.15.20 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1579">#1579</a>)</li>
<li><a
href="6fc22051da"><code>6fc2205</code></a>
chore: add Renovate rebuild action workflow (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1577">#1577</a>)</li>
<li><a
href="dbf32ac4f0"><code>dbf32ac</code></a>
chore: migrate Renovate config (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1576">#1576</a>)</li>
<li><a
href="a85ef18dd1"><code>a85ef18</code></a>
ci(deps): update cycjimmy/semantic-release-action to v5 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1564">#1564</a>)</li>
<li><a
href="2f0ad839f4"><code>2f0ad83</code></a>
chore(deps): update dependency node to v20.19.5 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1537">#1537</a>)</li>
<li><a
href="df7fc89c24"><code>df7fc89</code></a>
test(deps): update cypress/browsers to v24.11.0 in example-docker (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1560">#1560</a>)</li>
<li><a
href="48fc3b1813"><code>48fc3b1</code></a>
chore(deps): update actions/checkout to v5 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1559">#1559</a>)</li>
<li><a
href="0df54ae94d"><code>0df54ae</code></a>
chore(deps): update cypress/browsers docker tag to v22.21.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1532">#1532</a>)</li>
<li>See full diff in <a
href="e65cba2e73...7ef72e250a">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress-io/github-action&package-manager=github_actions&previous-version=6.10.3&new-version=6.10.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 07:34:40 +00:00
dependabot[bot]
84027fbc7a chore(deps): Bump color from 5.0.2 to 5.0.3 (#1520)
Bumps [color](https://github.com/Qix-/color) from 5.0.2 to 5.0.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Qix-/color/releases">color's
releases</a>.</em></p>
<blockquote>
<h2>5.0.3</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Qix-/color/compare/5.0.2...5.0.3">https://github.com/Qix-/color/compare/5.0.2...5.0.3</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4fda9a3edf"><code>4fda9a3</code></a>
5.0.3</li>
<li><a
href="e41fa2299e"><code>e41fa22</code></a>
update color dependencies</li>
<li>See full diff in <a
href="https://github.com/Qix-/color/compare/5.0.2...5.0.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=color&package-manager=npm_and_yarn&previous-version=5.0.2&new-version=5.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 19:26:55 +00:00
dependabot[bot]
75a8f79bc8 chore(deps): Bump react-i18next from 16.2.4 to 16.3.3 (#1517)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from
16.2.4 to 16.3.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md">react-i18next's
changelog</a>.</em></p>
<blockquote>
<h3>16.3.3</h3>
<ul>
<li>improve useTranslation to fix &quot;Maximum update depth
exceeded&quot; but still support new react-compiler <a
href="https://redirect.github.com/i18next/react-i18next/issues/1885">1885</a>
<a
href="https://redirect.github.com/i18next/react-i18next/issues/1863#issuecomment-3491246391">1863</a></li>
</ul>
<h3>16.3.2</h3>
<ul>
<li>fix: avoid &quot;Uncaught TypeError: Cannot redefine property:
__original&quot;</li>
</ul>
<h3>16.3.1</h3>
<ul>
<li>revert fix: Incosistent behaviour of Trans and t. Trans set
defaultValue when t call doesn't set the field. <a
href="https://redirect.github.com/i18next/react-i18next/issues/1876">1876</a>
<a
href="f22d478718">f22d478</a></li>
</ul>
<h3>16.3.0</h3>
<ul>
<li>fix: add i18n wrapper for React Compiler and React.memo
compatibility <a
href="https://redirect.github.com/i18next/react-i18next/pull/1884">1884</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="300b6f67a4"><code>300b6f6</code></a>
16.3.3</li>
<li><a
href="2ed0b348c8"><code>2ed0b34</code></a>
improve useTranslation to fix &quot;Maximum update depth exceeded&quot;
but still suppo...</li>
<li><a
href="47a367ce03"><code>47a367c</code></a>
16.3.2</li>
<li><a
href="907b1dd74b"><code>907b1dd</code></a>
fix: Cannot redefine property: __original <a
href="https://github.com/i18next/react-i1">https://github.com/i18next/react-i1</a>...</li>
<li><a
href="480b97bd54"><code>480b97b</code></a>
16.3.1</li>
<li><a
href="e349d9a846"><code>e349d9a</code></a>
revert f22d478</li>
<li><a
href="7350296701"><code>7350296</code></a>
16.3.0</li>
<li><a
href="91fbfb8156"><code>91fbfb8</code></a>
release</li>
<li><a
href="508fee0e59"><code>508fee0</code></a>
fix: add i18n wrapper for React Compiler and React.memo compatibility <a
href="https://redirect.github.com/i18next/react-i18next/issues/1863">#1863</a>
(...</li>
<li><a
href="389d83e00e"><code>389d83e</code></a>
use newest i18next dep that exports InterpolationMap <a
href="https://redirect.github.com/i18next/react-i18next/issues/1881">#1881</a></li>
<li>See full diff in <a
href="https://github.com/i18next/react-i18next/compare/v16.2.4...v16.3.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=16.2.4&new-version=16.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 19:17:46 +00:00
dependabot[bot]
223b99f24e chore(deps): Bump github/codeql-action from 4.31.2 to 4.31.3 (#1519)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.31.2 to 4.31.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.31.3</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.3 - 13 Nov 2025</h2>
<ul>
<li>CodeQL Action v3 will be deprecated in December 2026. The Action now
logs a warning for customers who are running v3 but could be running v4.
For more information, see <a
href="https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/">Upcoming
deprecation of CodeQL Action v3</a>.</li>
<li>Update default CodeQL bundle version to 2.23.5. <a
href="https://redirect.github.com/github/codeql-action/pull/3288">#3288</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.3/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.31.3 - 13 Nov 2025</h2>
<ul>
<li>CodeQL Action v3 will be deprecated in December 2026. The Action now
logs a warning for customers who are running v3 but could be running v4.
For more information, see <a
href="https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/">Upcoming
deprecation of CodeQL Action v3</a>.</li>
<li>Update default CodeQL bundle version to 2.23.5. <a
href="https://redirect.github.com/github/codeql-action/pull/3288">#3288</a></li>
</ul>
<h2>4.31.2 - 30 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.31.1 - 30 Oct 2025</h2>
<ul>
<li>The <code>add-snippets</code> input has been removed from the
<code>analyze</code> action. This input has been deprecated since CodeQL
Action 3.26.4 in August 2024 when this removal was announced.</li>
</ul>
<h2>4.31.0 - 24 Oct 2025</h2>
<ul>
<li>Bump minimum CodeQL bundle version to 2.17.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3223">#3223</a></li>
<li>When SARIF files are uploaded by the <code>analyze</code> or
<code>upload-sarif</code> actions, the CodeQL Action automatically
performs post-processing steps to prepare the data for the upload.
Previously, these post-processing steps were only performed before an
upload took place. We are now changing this so that the post-processing
steps will always be performed, even when the SARIF files are not
uploaded. This does not change anything for the
<code>upload-sarif</code> action. For <code>analyze</code>, this may
affect Advanced Setup for CodeQL users who specify a value other than
<code>always</code> for the <code>upload</code> input. <a
href="https://redirect.github.com/github/codeql-action/pull/3222">#3222</a></li>
</ul>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="014f16e7ab"><code>014f16e</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3293">#3293</a>
from github/update-v4.31.3-8c10e89c7</li>
<li><a
href="14d898ef09"><code>14d898e</code></a>
Update changelog for v4.31.3</li>
<li><a
href="8c10e89c78"><code>8c10e89</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3288">#3288</a>
from github/update-bundle/codeql-bundle-v2.23.5</li>
<li><a
href="9777b01a49"><code>9777b01</code></a>
Merge branch 'main' into update-bundle/codeql-bundle-v2.23.5</li>
<li><a
href="456a74a6fa"><code>456a74a</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3289">#3289</a>
from github/mbg/ci/setup-dotnet</li>
<li><a
href="3fac49c140"><code>3fac49c</code></a>
Update remaining workflows</li>
<li><a
href="38a3a7258f"><code>38a3a72</code></a>
Enable <code>installDotNet</code> in all workflows that analyse C#</li>
<li><a
href="58c9eb6c03"><code>58c9eb6</code></a>
Add <code>global.json</code></li>
<li><a
href="f20e02164a"><code>f20e021</code></a>
Add support for adding <code>setup-dotnet</code> steps to
<code>sync.sh</code></li>
<li><a
href="8d3d4001e3"><code>8d3d400</code></a>
Add changelog note</li>
<li>Additional commits viewable in <a
href="0499de31b9...014f16e7ab">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:32:02 +00:00
dependabot[bot]
683469d445 chore(deps-dev): Bump sass from 1.93.3 to 1.94.0 (#1510)
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.3 to 1.94.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/releases">sass's
releases</a>.</em></p>
<blockquote>
<h2>Dart Sass 1.94.0</h2>
<p>To install Sass 1.94.0, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<ul>
<li>
<p><strong>Potentially breaking compatibility fix:</strong>
<code>@function</code> rules whose names begin with <code>--</code> are
now parsed as unknown at-rules to support the plain CSS
<code>@function</code> rule. Within this rule, the <code>result</code>
property is parsed as raw CSS just like custom properties.</p>
</li>
<li>
<p><strong>Potentially breaking compatibility fix:</strong>
<code>@mixin</code> rules whose names begin with <code>--</code> are now
errors. These are not yet parsed as unknown at-rules because no browser
currently supports CSS mixins.</p>
</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1940">full
changelog</a> for changes in earlier releases.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/blob/main/CHANGELOG.md">sass's
changelog</a>.</em></p>
<blockquote>
<h2>1.94.0</h2>
<ul>
<li>
<p><strong>Potentially breaking compatibility fix:</strong>
<code>@function</code> rules whose names
begin with <code>--</code> are now parsed as unknown at-rules to support
the plain CSS
<code>@function</code> rule. Within this rule, the <code>result</code>
property is parsed as raw
CSS just like custom properties.</p>
</li>
<li>
<p><strong>Potentially breaking compatibility fix:</strong>
<code>@mixin</code> rules whose names begin
with <code>--</code> are now errors. These are not yet parsed as unknown
at-rules because
no browser currently supports CSS mixins.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bfccce8075"><code>bfccce8</code></a>
Parse selectors in the sass-parser package (<a
href="https://redirect.github.com/sass/dart-sass/issues/2670">#2670</a>)</li>
<li><a
href="795557c8cc"><code>795557c</code></a>
Add support for plain-CSS <code>@function</code> rules (<a
href="https://redirect.github.com/sass/dart-sass/issues/2655">#2655</a>)</li>
<li><a
href="2c9d3c8e21"><code>2c9d3c8</code></a>
Track offsets instead of locations in InterpolationMap (<a
href="https://redirect.github.com/sass/dart-sass/issues/2674">#2674</a>)</li>
<li><a
href="d8d7f9c33f"><code>d8d7f9c</code></a>
Add a separate <code>StylesheetParser.interpolatedStringToken()</code>
method (<a
href="https://redirect.github.com/sass/dart-sass/issues/2675">#2675</a>)</li>
<li><a
href="9d68793364"><code>9d68793</code></a>
Make sure all source spans use interpolation maps (<a
href="https://redirect.github.com/sass/dart-sass/issues/2673">#2673</a>)</li>
<li><a
href="20a59ee9ec"><code>20a59ee</code></a>
Update release workflows to support npm trusted publshing (<a
href="https://redirect.github.com/sass/dart-sass/issues/2669">#2669</a>)</li>
<li><a
href="10442abfc2"><code>10442ab</code></a>
Bump actions/download-artifact from 5 to 6 (<a
href="https://redirect.github.com/sass/dart-sass/issues/2664">#2664</a>)</li>
<li><a
href="9d40aba46a"><code>9d40aba</code></a>
Bump actions/upload-artifact from 4 to 5 (<a
href="https://redirect.github.com/sass/dart-sass/issues/2665">#2665</a>)</li>
<li>See full diff in <a
href="https://github.com/sass/dart-sass/compare/1.93.3...1.94.0">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 sass since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sass&package-manager=npm_and_yarn&previous-version=1.93.3&new-version=1.94.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:23:38 +00:00
dependabot[bot]
67f4698ca5 chore(deps): Bump maplibre-gl from 5.11.0 to 5.12.0 (#1509)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.11.0 to 5.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.12.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.11.0...v5.12.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.11.0">MapLibre
GL JS v5.11.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Add support for MapLibre Tiles (MLT) by using <code>encoding:
'mlt'</code> in vector source definition (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6570">#6570</a>)
(by <a href="https://github.com/Salkin975"><code>@​Salkin975</code></a>
and <a href="https://github.com/HArelM"><code>@​HarelM</code></a>)</li>
<li>Slice vector tiles to improve over scale vector handling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6521">#6521</a>).
It adds the <code>experimentalZoomLevelsToOverscale</code> flag to
<code>MapOptions</code> to allow controlling how many zoom levels to
slice and how many to scale. It seems to have better performance at high
zoom levels. It can prevent Safari crashes in some scenarios by setting
it to 4 or less. (by <a
href="https://github.com/HarelM"><code>@​HarelM</code></a>)</li>
<li>Add reduceMotion option to Map Options (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6661">#6661</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix missing <code>constrainOverride</code> setter in
<code>TransformHelper.apply</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6642">#6642</a>)
(by <a
href="https://github.com/larsmaxfield"><code>@​larsmaxfield</code></a>)</li>
<li>Fix blank map after WebGL context restore (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6242">#6242</a>)
(by <a href="https://github.com/ToHold"><code>@​ToHold</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.12.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add support for MapLibre Tiles (MLT) by using <code>encoding:
'mlt'</code> in vector source definition (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6570">#6570</a>)
(by <a href="https://github.com/Salkin975"><code>@​Salkin975</code></a>
and <a href="https://github.com/HarelM"><code>@​HarelM</code></a>)</li>
<li>Slice vector tiles to improve over scale vector handling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6521">#6521</a>).
It adds the <code>experimentalZoomLevelsToOverscale</code> flag to
<code>MapOptions</code> to allow controlling how many zoom levels to
slice and how many to scale. It seems to have better performance at high
zoom levels. It can prevent Safari crashes in some scenarios by setting
it to 4 or less. (by <a
href="https://github.com/HarelM"><code>@​HarelM</code></a>)</li>
<li>Add reduceMotion option to Map Options (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6661">#6661</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix missing <code>constrainOverride</code> setter in
<code>TransformHelper.apply</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6642">#6642</a>)
(by <a
href="https://github.com/larsmaxfield"><code>@​larsmaxfield</code></a>)</li>
<li>Fix blank map after WebGL context restore (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6242">#6242</a>)
(by <a href="https://github.com/ToHold"><code>@​ToHold</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="370565ba1e"><code>370565b</code></a>
Bump version to 5.12.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6678">#6678</a>)</li>
<li><a
href="7d5c2f7f17"><code>7d5c2f7</code></a>
Set immutableCreate to true in release workflow (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6634">#6634</a>)</li>
<li><a
href="689a3c20a6"><code>689a3c2</code></a>
Add support for MLT (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6570">#6570</a>)</li>
<li><a
href="234b63b837"><code>234b63b</code></a>
chore(deps-dev): bump eslint from 9.39.0 to 9.39.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6677">#6677</a>)</li>
<li><a
href="ea166d863d"><code>ea166d8</code></a>
chore(deps-dev): bump puppeteer from 24.27.0 to 24.28.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6675">#6675</a>)</li>
<li><a
href="db9cf5da6b"><code>db9cf5d</code></a>
chore(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6674">#6674</a>)</li>
<li><a
href="e832ffa1fd"><code>e832ffa</code></a>
Add reduceMotion option to Map Options (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6661">#6661</a>)</li>
<li><a
href="068522a86e"><code>068522a</code></a>
chore(deps-dev): bump <code>@​types/node</code> from 24.9.2 to 24.10.0
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6672">#6672</a>)</li>
<li><a
href="84d56f71d8"><code>84d56f7</code></a>
Generate Unicode character property data at build time (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6639">#6639</a>)</li>
<li><a
href="e24615c52d"><code>e24615c</code></a>
Clear both TinySDF instances together (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6671">#6671</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.11.0...v5.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.11.0&new-version=5.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:23:18 +00:00
dependabot[bot]
f48d7589f7 chore(deps-dev): Bump cypress from 15.5.0 to 15.6.0 (#1505)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [cypress](https://github.com/cypress-io/cypress) from 15.5.0 to
15.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/cypress/releases">cypress's
releases</a>.</em></p>
<blockquote>
<h2>v15.6.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-6-0">https://docs.cypress.io/app/references/changelog#15-6-0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b3a1e6d398"><code>b3a1e6d</code></a>
chore: release 15.6.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32887">#32887</a>)</li>
<li><a
href="56c04cddfd"><code>56c04cd</code></a>
misc: The exec type was updated from code to exitCode (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32885">#32885</a>)</li>
<li><a
href="98d35bba33"><code>98d35bb</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32882">#32882</a>)</li>
<li><a
href="a815922f0d"><code>a815922</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32881">#32881</a>)</li>
<li><a
href="1c7e53cb8c"><code>1c7e53c</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32880">#32880</a>)</li>
<li><a
href="5c537f0918"><code>5c537f0</code></a>
chore(deps): update dependency <code>@​percy/cypress</code> to ^3.1.6
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/32876">#32876</a>)</li>
<li><a
href="1c5e0a7397"><code>1c5e0a7</code></a>
chore: release <code>@​cypress/webpack-dev-server-v5</code>.1.4</li>
<li><a
href="7489fccd6b"><code>7489fcc</code></a>
chore: release <code>@​cypress/vite-dev-server-v7</code>.0.1</li>
<li><a
href="d264a7370a"><code>d264a73</code></a>
chore: add org_npm_creds context to verify-release-readiness and
npm-release ...</li>
<li><a
href="65472da4ca"><code>65472da</code></a>
chore(deps): update dependency <code>@​npmcli/arborist</code> to v8.0.1
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/32841">#32841</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.5.0...v15.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress&package-manager=npm_and_yarn&previous-version=15.5.0&new-version=15.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:22:57 +00:00
dependabot[bot]
0c39689ef2 chore(deps-dev): Bump @types/react from 19.2.2 to 19.2.4 (#1518)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.2.2 to 19.2.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.2&new-version=19.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:21:52 +00:00
dependabot[bot]
25fab80219 chore(deps): Bump @codemirror/view from 6.38.6 to 6.38.7 (#1514)
Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.38.6
to 6.38.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/view/blob/main/CHANGELOG.md"><code>@​codemirror/view</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.38.7 (2025-11-14)</h2>
<h3>Bug fixes</h3>
<p>Make detection of transformed tooltip parent elements (forcing
absolute positioning) more robust on current browsers.</p>
<p>Avoid an issue where on Chrome and Safari, typing over a cross-line
selection can replace widgets on the line after the selection with their
plain text content.</p>
<p>Fix a bug that broke insertion of composed input at multiple cursors
when the IME keeps the selection at the start of the composed text.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="07b660ccd8"><code>07b660c</code></a>
Mark version 6.38.7</li>
<li><a
href="4672fa1959"><code>4672fa1</code></a>
Fix application of composition to multiple cursors</li>
<li><a
href="6727e32d2b"><code>6727e32</code></a>
Fix broken sentence in doc comment</li>
<li><a
href="076450d0be"><code>076450d</code></a>
Override cross-line replacements when the line after has a widget</li>
<li><a
href="3b0c3b9aff"><code>3b0c3b9</code></a>
Fix doc comment markup for outerDecorations</li>
<li><a
href="2f398e6ece"><code>2f398e6</code></a>
Simplify transformed-fixed-tooltip detection</li>
<li>See full diff in <a
href="https://github.com/codemirror/view/compare/6.38.6...6.38.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.38.6&new-version=6.38.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:21:23 +00:00
dependabot[bot]
593078ddfa chore(deps-dev): Bump @types/react-dom from 19.2.2 to 19.2.3 (#1515)
Bumps
[@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)
from 19.2.2 to 19.2.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react-dom&package-manager=npm_and_yarn&previous-version=19.2.2&new-version=19.2.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 13:21:02 +00:00
dependabot[bot]
3f2bc29de5 chore(deps-dev): Bump the vitest group with 2 updates (#1513)
Bumps the vitest group with 2 updates:
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
and
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).

Updates `@vitest/coverage-v8` from 4.0.8 to 4.0.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases"><code>@​vitest/coverage-v8</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v4.0.9</h2>
<h3>   🚀 Experimental Features</h3>
<ul>
<li><strong>expect</strong>: Add Set support to toBeOneOf  -  by <a
href="https://github.com/tim-we"><code>@​tim-we</code></a> and <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8906">vitest-dev/vitest#8906</a>
<a href="https://github.com/vitest-dev/vitest/commit/a415d0375"><!-- raw
HTML omitted -->(a415d)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Add favicon icons to the browser mode ui
 -  by <a href="https://github.com/userquin"><code>@​userquin</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8972">vitest-dev/vitest#8972</a>
<a href="https://github.com/vitest-dev/vitest/commit/353ee5bbc"><!-- raw
HTML omitted -->(353ee)<!-- raw HTML omitted --></a></li>
<li><strong>forks</strong>: Increase worker start timeout  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9027">vitest-dev/vitest#9027</a>
<a href="https://github.com/vitest-dev/vitest/commit/5e750f4ba"><!-- raw
HTML omitted -->(5e750)<!-- raw HTML omitted --></a></li>
<li><strong>jsdom</strong>: Cloned request is an instance of
<code>Request</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8985">vitest-dev/vitest#8985</a>
<a href="https://github.com/vitest-dev/vitest/commit/506a9fd0f"><!-- raw
HTML omitted -->(506a9)<!-- raw HTML omitted --></a></li>
<li><strong>ui</strong>: Collect file/suite/test duration correctly  - 
by <a href="https://github.com/userquin"><code>@​userquin</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8976">vitest-dev/vitest#8976</a>
<a href="https://github.com/vitest-dev/vitest/commit/8016da886"><!-- raw
HTML omitted -->(8016d)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="62fab24431"><code>62fab24</code></a>
chore: release v4.0.9</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.9/packages/coverage-v8">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 4.0.8 to 4.0.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.9</h2>
<h3>   🚀 Experimental Features</h3>
<ul>
<li><strong>expect</strong>: Add Set support to toBeOneOf  -  by <a
href="https://github.com/tim-we"><code>@​tim-we</code></a> and <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8906">vitest-dev/vitest#8906</a>
<a href="https://github.com/vitest-dev/vitest/commit/a415d0375"><!-- raw
HTML omitted -->(a415d)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Add favicon icons to the browser mode ui
 -  by <a href="https://github.com/userquin"><code>@​userquin</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8972">vitest-dev/vitest#8972</a>
<a href="https://github.com/vitest-dev/vitest/commit/353ee5bbc"><!-- raw
HTML omitted -->(353ee)<!-- raw HTML omitted --></a></li>
<li><strong>forks</strong>: Increase worker start timeout  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/9027">vitest-dev/vitest#9027</a>
<a href="https://github.com/vitest-dev/vitest/commit/5e750f4ba"><!-- raw
HTML omitted -->(5e750)<!-- raw HTML omitted --></a></li>
<li><strong>jsdom</strong>: Cloned request is an instance of
<code>Request</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8985">vitest-dev/vitest#8985</a>
<a href="https://github.com/vitest-dev/vitest/commit/506a9fd0f"><!-- raw
HTML omitted -->(506a9)<!-- raw HTML omitted --></a></li>
<li><strong>ui</strong>: Collect file/suite/test duration correctly  - 
by <a href="https://github.com/userquin"><code>@​userquin</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8976">vitest-dev/vitest#8976</a>
<a href="https://github.com/vitest-dev/vitest/commit/8016da886"><!-- raw
HTML omitted -->(8016d)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="62fab24431"><code>62fab24</code></a>
chore: release v4.0.9</li>
<li><a
href="5e750f4ba8"><code>5e750f4</code></a>
fix(forks): increase worker start timeout (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9027">#9027</a>)</li>
<li><a
href="506a9fd0fb"><code>506a9fd</code></a>
fix(jsdom): cloned request is an instance of <code>Request</code> (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8985">#8985</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.9/packages/vitest">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot 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>
2025-11-17 13:20:32 +00:00
dependabot[bot]
6f9640e11a chore(deps-dev): Bump vite-plugin-istanbul from 7.2.0 to 7.2.1 (#1508)
Bumps
[vite-plugin-istanbul](https://github.com/ifaxity/vite-plugin-istanbul)
from 7.2.0 to 7.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ifaxity/vite-plugin-istanbul/releases">vite-plugin-istanbul's
releases</a>.</em></p>
<blockquote>
<h2>v7.2.1</h2>
<h2><a
href="https://github.com/ifaxity/vite-plugin-istanbul/compare/v7.2.0...v7.2.1">7.2.1</a>
(2025-11-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>added <code>@​types/babel</code>__generator to dependencies (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/358">#358</a>)
(<a
href="e43eb8f23a">e43eb8f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d783c75cd4"><code>d783c75</code></a>
build(node): updated to node v24.11.0 (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/365">#365</a>)</li>
<li><a
href="18d5a97180"><code>18d5a97</code></a>
build(ci): updated pnpm to v10 and node to v24 (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/361">#361</a>)</li>
<li><a
href="cbee750715"><code>cbee750</code></a>
build(ci): updated build to setup pnpm before node (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/360">#360</a>)</li>
<li><a
href="2198797601"><code>2198797</code></a>
build(deps): bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/356">#356</a>)</li>
<li><a
href="e43eb8f23a"><code>e43eb8f</code></a>
fix: added <code>@​types/babel</code>__generator to dependencies (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/358">#358</a>)</li>
<li>See full diff in <a
href="https://github.com/ifaxity/vite-plugin-istanbul/compare/v7.2.0...v7.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite-plugin-istanbul&package-manager=npm_and_yarn&previous-version=7.2.0&new-version=7.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:20:05 +00:00
dependabot[bot]
d1e2c175f7 chore(deps): Bump ol from 10.6.1 to 10.7.0 (#1506)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [ol](https://github.com/openlayers/openlayers) from 10.6.1 to
10.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openlayers/openlayers/releases">ol's
releases</a>.</em></p>
<blockquote>
<h2>v10.7.0</h2>
<p>With 40 pull requests over a period of almost 5 months, this long
awaited release brings important bug fixes as well as exiting new
features. The highlights are</p>
<ul>
<li>Several WebGL renderer bug fixes, along with improved memory
management</li>
<li>Updates for the Polyline feature format</li>
<li>API improvements and bug fixes on the Select, Extent and Snap
interactions</li>
<li>Reprojection support for VectorTile layers</li>
<li>Full web worker support for <code>Map</code>, with an
(Offscreen)Canvas as map target</li>
<li>Fixed cache and rendering for reprojected raster/image tile
layers</li>
<li>Several updated and new examples, including a globe-like map with
Equal Earth projection</li>
</ul>
<h2>Upgrade notes</h2>
<h3>Deprecation of ol/array's stableSort</h3>
<p>Sorting is guaranteed to be stable since <a
href="https://developer.mozilla.org/en-UseUS/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#sort_stability">ECMAScript
2019</a>.</p>
<pre lang="js"><code>// Before
stableSort(arr, compareFnc);
</code></pre>
<pre lang="js"><code>// After
arr.sort(compareFnc);
</code></pre>
<h3>Deprecation of functions in ol/format/Polyline</h3>
<p>The following functions have been deprecated without replacement:</p>
<ul>
<li>decodeDeltas</li>
<li>encodeDeltas</li>
<li>decodeFloats</li>
<li>encodeFloats</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Updates for the 10.6.1 release by <a
href="https://github.com/ahocevar"><code>@​ahocevar</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16920">openlayers/openlayers#16920</a></li>
<li>Properly handle boolean attributes in WebGL expressions by <a
href="https://github.com/jahow"><code>@​jahow</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16937">openlayers/openlayers#16937</a></li>
<li>Improve memory usage by using a single buffer for WebGL layers by <a
href="https://github.com/jahow"><code>@​jahow</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16942">openlayers/openlayers#16942</a></li>
<li>Use bounding box from layer in WMTS capabilities by <a
href="https://github.com/remiHau"><code>@​remiHau</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16936">openlayers/openlayers#16936</a></li>
<li>Support url template with {z}/{x}/{y} by <a
href="https://github.com/francbartoli"><code>@​francbartoli</code></a>
in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16956">openlayers/openlayers#16956</a></li>
<li>ol.format.Polyline fixes by <a
href="https://github.com/M393"><code>@​M393</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16955">openlayers/openlayers#16955</a></li>
<li>Adding <code>setSrc</code> method to Icon style by <a
href="https://github.com/pakb"><code>@​pakb</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16957">openlayers/openlayers#16957</a></li>
<li>Select methods for adding/removing features by <a
href="https://github.com/laundmo"><code>@​laundmo</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16923">openlayers/openlayers#16923</a></li>
<li>Update ol-stac example by <a
href="https://github.com/m-mohr"><code>@​m-mohr</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16962">openlayers/openlayers#16962</a></li>
<li>Use WebGL instanced rendering to improve performance and memory
usage by <a href="https://github.com/jahow"><code>@​jahow</code></a> in
<a
href="https://redirect.github.com/openlayers/openlayers/pull/16959">openlayers/openlayers#16959</a></li>
<li>Deprecate polyline encodeDeltas and decodeDeltas by <a
href="https://github.com/M393"><code>@​M393</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16968">openlayers/openlayers#16968</a></li>
<li>Fix <code>ol/style/Text</code> <code>clone()</code> to properly
handle non-<code>Fill</code> instances… by <a
href="https://github.com/ramzahn"><code>@​ramzahn</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16969">openlayers/openlayers#16969</a></li>
<li>Fix offscreen canvas example by <a
href="https://github.com/M393"><code>@​M393</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16971">openlayers/openlayers#16971</a></li>
<li>Do not toggle tracing on pointerup after dragging by <a
href="https://github.com/ahocevar"><code>@​ahocevar</code></a> in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16975">openlayers/openlayers#16975</a></li>
<li>chore(deps-dev): bump codemirror from 6.0.1 to 6.0.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16927">openlayers/openlayers#16927</a></li>
<li>chore(deps-dev): bump webpack-sources from 3.3.2 to 3.3.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/openlayers/pull/16933">openlayers/openlayers#16933</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4a989ef0ae"><code>4a989ef</code></a>
Updates for the 10.7.0 release</li>
<li><a
href="c9d2b84d2f"><code>c9d2b84</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17162">#17162</a>
from ahocevar/reprojection-cache</li>
<li><a
href="b59141e775"><code>b59141e</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17176">#17176</a>
from mradamcox/update-modify-deletecondition-docs</li>
<li><a
href="520a8fd649"><code>520a8fd</code></a>
add docs codeblock for multiple deleteCondition checks</li>
<li><a
href="9a07b3dd53"><code>9a07b3d</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17170">#17170</a>
from openlayers/dependabot/npm_and_yarn/rollup/plug...</li>
<li><a
href="7a36d94933"><code>7a36d94</code></a>
Work around typescript issue</li>
<li><a
href="1aa30a8117"><code>1aa30a8</code></a>
chore(deps-dev): bump <code>@​rollup/plugin-alias</code> from 5.1.1 to
6.0.0</li>
<li><a
href="54e7b4370c"><code>54e7b43</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17174">#17174</a>
from openlayers/dependabot/github_actions/actions/u...</li>
<li><a
href="661dd58701"><code>661dd58</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17173">#17173</a>
from openlayers/dependabot/npm_and_yarn/puppeteer-2...</li>
<li><a
href="2fbce76323"><code>2fbce76</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/openlayers/issues/17172">#17172</a>
from openlayers/dependabot/npm_and_yarn/rollup/plug...</li>
<li>Additional commits viewable in <a
href="https://github.com/openlayers/openlayers/compare/v10.6.1...v10.7.0">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 ol since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ol&package-manager=npm_and_yarn&previous-version=10.6.1&new-version=10.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 16:15:48 +00:00
dependabot[bot]
c64528b4de chore(deps-dev): Bump the vitest group with 2 updates (#1502)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps the vitest group with 2 updates:
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
and
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).

Updates `@vitest/coverage-v8` from 4.0.6 to 4.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases"><code>@​vitest/coverage-v8</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v4.0.8</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Workaround <code>noExternal</code> merging bug on Vite 6  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8950">vitest-dev/vitest#8950</a>
<a href="https://github.com/vitest-dev/vitest/commit/bcb132fd4"><!-- raw
HTML omitted -->(bcb13)<!-- raw HTML omitted --></a></li>
<li>Missed context.d.ts file  -  by <a
href="https://github.com/termorey"><code>@​termorey</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8965">vitest-dev/vitest#8965</a>
<a href="https://github.com/vitest-dev/vitest/commit/9044d9356"><!-- raw
HTML omitted -->(9044d)<!-- raw HTML omitted --></a></li>
<li>Incorrect error message for non-awaited
<code>expect.element()</code>  -  by <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8954">vitest-dev/vitest#8954</a>
<a href="https://github.com/vitest-dev/vitest/commit/9638db0f3"><!-- raw
HTML omitted -->(9638d)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>: Cleanup frame-ancestors from CSP header at
coverage middleware  -  by <a
href="https://github.com/userquin"><code>@​userquin</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8941">vitest-dev/vitest#8941</a>
<a href="https://github.com/vitest-dev/vitest/commit/1f7303738"><!-- raw
HTML omitted -->(1f730)<!-- raw HTML omitted --></a></li>
<li><strong>deps</strong>: Update all non-major dependencies  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8636">vitest-dev/vitest#8636</a>
<a href="https://github.com/vitest-dev/vitest/commit/da8b93aa5"><!-- raw
HTML omitted -->(da8b9)<!-- raw HTML omitted --></a></li>
<li><strong>forks</strong>: Do not fail with Windows Defender enabled
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8967">vitest-dev/vitest#8967</a>
<a href="https://github.com/vitest-dev/vitest/commit/c79f47c65"><!-- raw
HTML omitted -->(c79f4)<!-- raw HTML omitted --></a></li>
<li><strong>runner</strong>: Properly encode Uint8Array body in
annotations  -  by <a
href="https://github.com/Livan-pro"><code>@​Livan-pro</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8951">vitest-dev/vitest#8951</a>
<a href="https://github.com/vitest-dev/vitest/commit/997ca5a82"><!-- raw
HTML omitted -->(997ca)<!-- raw HTML omitted --></a></li>
<li><strong>spy</strong>: Copy static properties if spy is initialised
with <code>vi.fn()</code>, fix types for <code>vi.spyOn(obj,
class)</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8956">vitest-dev/vitest#8956</a>
<a href="https://github.com/vitest-dev/vitest/commit/75e7fcc51"><!-- raw
HTML omitted -->(75e7f)<!-- raw HTML omitted --></a></li>
<li><strong>webdriverio</strong>: When no argument is passed to the
.click interaction command, the webdriver command should also have no
argument  -  by <a
href="https://github.com/julienw"><code>@​julienw</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8937">vitest-dev/vitest#8937</a>
<a href="https://github.com/vitest-dev/vitest/commit/069e6db9b"><!-- raw
HTML omitted -->(069e6)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8">View
changes on GitHub</a></h5>
<h2>v4.0.7</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Bind <code>process</code> in case global is overwritten  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8916">vitest-dev/vitest#8916</a>
<a href="https://github.com/vitest-dev/vitest/commit/6240d51a6"><!-- raw
HTML omitted -->(6240d)<!-- raw HTML omitted --></a></li>
<li>Create environment once per worker with <code>isolate: false</code>
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8915">vitest-dev/vitest#8915</a>
<a href="https://github.com/vitest-dev/vitest/commit/c9078a26e"><!-- raw
HTML omitted -->(c9078)<!-- raw HTML omitted --></a></li>
<li>Add Locator as a possible element type in
<code>toContainElement()</code> matcher  -  by <a
href="https://github.com/vitalybaev"><code>@​vitalybaev</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8910">vitest-dev/vitest#8910</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8927">vitest-dev/vitest#8927</a>
<a href="https://github.com/vitest-dev/vitest/commit/35a27d4b3"><!-- raw
HTML omitted -->(35a27)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>: Inherit <code>isolate</code> option,
deprecate
<code>browser.isolate</code>/<code>browser.fileParallelism</code>  -  by
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8890">vitest-dev/vitest#8890</a>
<a href="https://github.com/vitest-dev/vitest/commit/9d2b4d501"><!-- raw
HTML omitted -->(9d2b4)<!-- raw HTML omitted --></a></li>
<li><strong>cli</strong>: Parse <code>--execArgv</code> as array  -  by
<a href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8924">vitest-dev/vitest#8924</a>
<a href="https://github.com/vitest-dev/vitest/commit/751c3926f"><!-- raw
HTML omitted -->(751c3)<!-- raw HTML omitted --></a></li>
<li><strong>jsdom</strong>: Support <code>URL.createObjectURL</code>,
<code>FormData.set(prop, blob)</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8935">vitest-dev/vitest#8935</a>
<a href="https://github.com/vitest-dev/vitest/commit/a1b7361ab"><!-- raw
HTML omitted -->(a1b73)<!-- raw HTML omitted --></a></li>
<li><strong>pool</strong>: Avoid <code>--require</code> argument when
running in deno  -  by <a
href="https://github.com/pi0"><code>@​pi0</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8897">vitest-dev/vitest#8897</a>
<a href="https://github.com/vitest-dev/vitest/commit/d41fa742f"><!-- raw
HTML omitted -->(d41fa)<!-- raw HTML omitted --></a></li>
<li><strong>typecheck</strong>: Handle re-runs outside <code>tsc</code>
 -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8920">vitest-dev/vitest#8920</a>
<a href="https://github.com/vitest-dev/vitest/commit/fdb2e7982"><!-- raw
HTML omitted -->(fdb2e)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🏎 Performance</h3>
<ul>
<li><strong>pool</strong>:
<ul>
<li>Sort test files by project by default  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8914">vitest-dev/vitest#8914</a>
<a href="https://github.com/vitest-dev/vitest/commit/680a612ea"><!-- raw
HTML omitted -->(680a6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>reporters</strong>:
<ul>
<li>Optimize getting the tests stats  -  by <a
href="https://github.com/Connormiha"><code>@​Connormiha</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8908">vitest-dev/vitest#8908</a>
<a href="https://github.com/vitest-dev/vitest/commit/06d6207fb"><!-- raw
HTML omitted -->(06d62)<!-- raw HTML omitted --></a></li>
<li>Remove unnecessary <code>Array.from</code> call  -  by <a
href="https://github.com/Connormiha"><code>@​Connormiha</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8907">vitest-dev/vitest#8907</a>
<a href="https://github.com/vitest-dev/vitest/commit/b60149b27"><!-- raw
HTML omitted -->(b6014)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="46bfd0983d"><code>46bfd09</code></a>
chore: release v4.0.8</li>
<li><a
href="da8b93aa53"><code>da8b93a</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/8636">#8636</a>)</li>
<li><a
href="1f5d9d2ccf"><code>1f5d9d2</code></a>
chore: release v4.0.7</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.8/packages/coverage-v8">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 4.0.6 to 4.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.8</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Workaround <code>noExternal</code> merging bug on Vite 6  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8950">vitest-dev/vitest#8950</a>
<a href="https://github.com/vitest-dev/vitest/commit/bcb132fd4"><!-- raw
HTML omitted -->(bcb13)<!-- raw HTML omitted --></a></li>
<li>Missed context.d.ts file  -  by <a
href="https://github.com/termorey"><code>@​termorey</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8965">vitest-dev/vitest#8965</a>
<a href="https://github.com/vitest-dev/vitest/commit/9044d9356"><!-- raw
HTML omitted -->(9044d)<!-- raw HTML omitted --></a></li>
<li>Incorrect error message for non-awaited
<code>expect.element()</code>  -  by <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8954">vitest-dev/vitest#8954</a>
<a href="https://github.com/vitest-dev/vitest/commit/9638db0f3"><!-- raw
HTML omitted -->(9638d)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>: Cleanup frame-ancestors from CSP header at
coverage middleware  -  by <a
href="https://github.com/userquin"><code>@​userquin</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8941">vitest-dev/vitest#8941</a>
<a href="https://github.com/vitest-dev/vitest/commit/1f7303738"><!-- raw
HTML omitted -->(1f730)<!-- raw HTML omitted --></a></li>
<li><strong>deps</strong>: Update all non-major dependencies  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8636">vitest-dev/vitest#8636</a>
<a href="https://github.com/vitest-dev/vitest/commit/da8b93aa5"><!-- raw
HTML omitted -->(da8b9)<!-- raw HTML omitted --></a></li>
<li><strong>forks</strong>: Do not fail with Windows Defender enabled
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8967">vitest-dev/vitest#8967</a>
<a href="https://github.com/vitest-dev/vitest/commit/c79f47c65"><!-- raw
HTML omitted -->(c79f4)<!-- raw HTML omitted --></a></li>
<li><strong>runner</strong>: Properly encode Uint8Array body in
annotations  -  by <a
href="https://github.com/Livan-pro"><code>@​Livan-pro</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8951">vitest-dev/vitest#8951</a>
<a href="https://github.com/vitest-dev/vitest/commit/997ca5a82"><!-- raw
HTML omitted -->(997ca)<!-- raw HTML omitted --></a></li>
<li><strong>spy</strong>: Copy static properties if spy is initialised
with <code>vi.fn()</code>, fix types for <code>vi.spyOn(obj,
class)</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8956">vitest-dev/vitest#8956</a>
<a href="https://github.com/vitest-dev/vitest/commit/75e7fcc51"><!-- raw
HTML omitted -->(75e7f)<!-- raw HTML omitted --></a></li>
<li><strong>webdriverio</strong>: When no argument is passed to the
.click interaction command, the webdriver command should also have no
argument  -  by <a
href="https://github.com/julienw"><code>@​julienw</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8937">vitest-dev/vitest#8937</a>
<a href="https://github.com/vitest-dev/vitest/commit/069e6db9b"><!-- raw
HTML omitted -->(069e6)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8">View
changes on GitHub</a></h5>
<h2>v4.0.7</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Bind <code>process</code> in case global is overwritten  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8916">vitest-dev/vitest#8916</a>
<a href="https://github.com/vitest-dev/vitest/commit/6240d51a6"><!-- raw
HTML omitted -->(6240d)<!-- raw HTML omitted --></a></li>
<li>Create environment once per worker with <code>isolate: false</code>
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8915">vitest-dev/vitest#8915</a>
<a href="https://github.com/vitest-dev/vitest/commit/c9078a26e"><!-- raw
HTML omitted -->(c9078)<!-- raw HTML omitted --></a></li>
<li>Add Locator as a possible element type in
<code>toContainElement()</code> matcher  -  by <a
href="https://github.com/vitalybaev"><code>@​vitalybaev</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8910">vitest-dev/vitest#8910</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8927">vitest-dev/vitest#8927</a>
<a href="https://github.com/vitest-dev/vitest/commit/35a27d4b3"><!-- raw
HTML omitted -->(35a27)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>: Inherit <code>isolate</code> option,
deprecate
<code>browser.isolate</code>/<code>browser.fileParallelism</code>  -  by
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8890">vitest-dev/vitest#8890</a>
<a href="https://github.com/vitest-dev/vitest/commit/9d2b4d501"><!-- raw
HTML omitted -->(9d2b4)<!-- raw HTML omitted --></a></li>
<li><strong>cli</strong>: Parse <code>--execArgv</code> as array  -  by
<a href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8924">vitest-dev/vitest#8924</a>
<a href="https://github.com/vitest-dev/vitest/commit/751c3926f"><!-- raw
HTML omitted -->(751c3)<!-- raw HTML omitted --></a></li>
<li><strong>jsdom</strong>: Support <code>URL.createObjectURL</code>,
<code>FormData.set(prop, blob)</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8935">vitest-dev/vitest#8935</a>
<a href="https://github.com/vitest-dev/vitest/commit/a1b7361ab"><!-- raw
HTML omitted -->(a1b73)<!-- raw HTML omitted --></a></li>
<li><strong>pool</strong>: Avoid <code>--require</code> argument when
running in deno  -  by <a
href="https://github.com/pi0"><code>@​pi0</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8897">vitest-dev/vitest#8897</a>
<a href="https://github.com/vitest-dev/vitest/commit/d41fa742f"><!-- raw
HTML omitted -->(d41fa)<!-- raw HTML omitted --></a></li>
<li><strong>typecheck</strong>: Handle re-runs outside <code>tsc</code>
 -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8920">vitest-dev/vitest#8920</a>
<a href="https://github.com/vitest-dev/vitest/commit/fdb2e7982"><!-- raw
HTML omitted -->(fdb2e)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🏎 Performance</h3>
<ul>
<li><strong>pool</strong>:
<ul>
<li>Sort test files by project by default  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8914">vitest-dev/vitest#8914</a>
<a href="https://github.com/vitest-dev/vitest/commit/680a612ea"><!-- raw
HTML omitted -->(680a6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>reporters</strong>:
<ul>
<li>Optimize getting the tests stats  -  by <a
href="https://github.com/Connormiha"><code>@​Connormiha</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8908">vitest-dev/vitest#8908</a>
<a href="https://github.com/vitest-dev/vitest/commit/06d6207fb"><!-- raw
HTML omitted -->(06d62)<!-- raw HTML omitted --></a></li>
<li>Remove unnecessary <code>Array.from</code> call  -  by <a
href="https://github.com/Connormiha"><code>@​Connormiha</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8907">vitest-dev/vitest#8907</a>
<a href="https://github.com/vitest-dev/vitest/commit/b60149b27"><!-- raw
HTML omitted -->(b6014)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="46bfd0983d"><code>46bfd09</code></a>
chore: release v4.0.8</li>
<li><a
href="c79f47c65c"><code>c79f47c</code></a>
fix(forks): do not fail with Windows Defender enabled (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8967">#8967</a>)</li>
<li><a
href="7ed99cdf49"><code>7ed99cd</code></a>
chore: remove unnecessery <code>values()</code> call for set (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8964">#8964</a>)</li>
<li><a
href="9a9323b737"><code>9a9323b</code></a>
chore(deps): update dependency <code>@​antfu/eslint-config</code> to v6
(<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8832">#8832</a>)</li>
<li><a
href="46b3529a81"><code>46b3529</code></a>
chore(deps): update dependency jsdom to v27 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8700">#8700</a>)</li>
<li><a
href="65292c3655"><code>65292c3</code></a>
docs: update structure (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8625">#8625</a>)</li>
<li><a
href="da8b93aa53"><code>da8b93a</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8636">#8636</a>)</li>
<li><a
href="bcb132fd4e"><code>bcb132f</code></a>
fix: workaround <code>noExternal</code> merging bug on Vite 6 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8950">#8950</a>)</li>
<li><a
href="1f5d9d2ccf"><code>1f5d9d2</code></a>
chore: release v4.0.7</li>
<li><a
href="a1b7361ab1"><code>a1b7361</code></a>
fix(jsdom): support <code>URL.createObjectURL</code>,
<code>FormData.set(prop, blob)</code> (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8935">#8935</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.8/packages/vitest">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot 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>
2025-11-10 14:29:00 +00:00
dependabot[bot]
f90077ccf7 chore(deps-dev): Bump vite from 7.1.12 to 7.2.2 (#1503)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.12 to 7.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.2.2</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.2/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@7.2.1</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@7.2.1/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.2.1</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.1/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@7.2.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@7.2.0/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.2.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.2.0-beta.1</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.0-beta.1/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.2.0-beta.0</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.2.0-beta.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.2.1...v7.2.2">7.2.2</a>
(2025-11-07)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li>revert &quot;refactor: use fs.cpSync (<a
href="https://redirect.github.com/vitejs/vite/issues/21019">#21019</a>)&quot;
(<a
href="https://redirect.github.com/vitejs/vite/issues/21081">#21081</a>)
(<a
href="728c8eeebc">728c8ee</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.2.0...v7.2.1">7.2.1</a>
(2025-11-06)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>worker:</strong> some worker asset was missing (<a
href="https://redirect.github.com/vitejs/vite/issues/21074">#21074</a>)
(<a
href="82d2d6ccf5">82d2d6c</a>)</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li><strong>build:</strong> rename <code>indexOfMatchInSlice</code> to
<code>findPreloadMarker</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/21054">#21054</a>)
(<a
href="f83264f5d9">f83264f</a>)</li>
</ul>
<h2><a
href="https://github.com/vitejs/vite/compare/v7.2.0-beta.1...v7.2.0">7.2.0</a>
(2025-11-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> fallback to sass when sass-embedded platform
binary is missing (<a
href="https://redirect.github.com/vitejs/vite/issues/21002">#21002</a>)
(<a
href="b1fd616188">b1fd616</a>)</li>
<li><strong>module-runner:</strong> make <code>getBuiltins</code>
response JSON serializable (<a
href="https://redirect.github.com/vitejs/vite/issues/21029">#21029</a>)
(<a
href="ad5b3bf6f3">ad5b3bf</a>)</li>
<li><strong>types:</strong> add undefined to optional properties for
exactOptionalProperties type compatibility (<a
href="https://redirect.github.com/vitejs/vite/issues/21040">#21040</a>)
(<a
href="2833c5576a">2833c55</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/21047">#21047</a>)
(<a
href="e3a6a83406">e3a6a83</a>)</li>
</ul>
<h2><a
href="https://github.com/vitejs/vite/compare/v7.2.0-beta.0...v7.2.0-beta.1">7.2.0-beta.1</a>
(2025-10-29)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>increase stream reset rate limit for HTTP2 (<a
href="https://redirect.github.com/vitejs/vite/issues/21024">#21024</a>)
(<a
href="4f44f22f7f">4f44f22</a>)</li>
<li><strong>optimizer:</strong> externalize virtual modules for html
like files (<a
href="https://redirect.github.com/vitejs/vite/issues/21001">#21001</a>)
(<a
href="e5af352d8e">e5af352</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>clarify the values are escaped automatically (<a
href="https://redirect.github.com/vitejs/vite/issues/21017">#21017</a>)
(<a
href="246df134dd">246df13</a>)</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li>use <code>fs.cpSync</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/21019">#21019</a>)
(<a
href="a2df778128">a2df778</a>)</li>
</ul>
<h2><a
href="https://github.com/vitejs/vite/compare/v7.1.11...v7.2.0-beta.0">7.2.0-beta.0</a>
(2025-10-28)</h2>
<h3>Features</h3>
<ul>
<li>add <code>import.meta.resolve</code> support for ESM config (bundle
config loader) (<a
href="https://redirect.github.com/vitejs/vite/issues/20962">#20962</a>)
(<a
href="f86789a6e2">f86789a</a>)</li>
<li>add <code>perEnvironmentWatchChangeDuringDev</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20996">#20996</a>)
(<a
href="a5e98e695e">a5e98e6</a>)</li>
<li>add vite client connect events (<a
href="https://redirect.github.com/vitejs/vite/issues/20978">#20978</a>)
(<a
href="543d87c2cd">543d87c</a>)</li>
<li><strong>build:</strong> emit license (<a
href="https://redirect.github.com/vitejs/vite/issues/18546">#18546</a>)
(<a
href="b42c3fb2cb">b42c3fb</a>)</li>
<li><strong>dev:</strong> support HTTP2 even if proxy feature is used
(<a
href="https://redirect.github.com/vitejs/vite/issues/20869">#20869</a>)
(<a
href="fc21af7a42">fc21af7</a>)</li>
<li><strong>lib:</strong> enable minification but keep pure annotations
for es output with terser (<a
href="https://redirect.github.com/vitejs/vite/issues/20522">#20522</a>)
(<a
href="df997d0cfc">df997d0</a>)</li>
<li><strong>optimizer:</strong> add rush lockfile support (<a
href="https://redirect.github.com/vitejs/vite/issues/20833">#20833</a>)
(<a
href="718ca2d708">718ca2d</a>)</li>
<li><strong>utils:</strong> support multiple certificates in
resolveServerUrls (<a
href="https://redirect.github.com/vitejs/vite/issues/20707">#20707</a>)
(<a
href="24513e567c">24513e5</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="572aaca459"><code>572aaca</code></a>
release: v7.2.2</li>
<li><a
href="728c8eeebc"><code>728c8ee</code></a>
fix: revert &quot;refactor: use fs.cpSync (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21019">#21019</a>)&quot;
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21081">#21081</a>)</li>
<li><a
href="a532e68c6b"><code>a532e68</code></a>
release: v7.2.1</li>
<li><a
href="82d2d6ccf5"><code>82d2d6c</code></a>
fix(worker): some worker asset was missing (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21074">#21074</a>)</li>
<li><a
href="f83264f5d9"><code>f83264f</code></a>
refactor(build): rename <code>indexOfMatchInSlice</code> to
<code>findPreloadMarker</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21054">#21054</a>)</li>
<li><a
href="8293de0e17"><code>8293de0</code></a>
release: v7.2.0</li>
<li><a
href="2833c5576a"><code>2833c55</code></a>
fix(types): add undefined to optional properties for
exactOptionalProperties ...</li>
<li><a
href="e3a6a83406"><code>e3a6a83</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21047">#21047</a>)</li>
<li><a
href="b1fd616188"><code>b1fd616</code></a>
fix(css): fallback to sass when sass-embedded platform binary is missing
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21">#21</a>...</li>
<li><a
href="ad5b3bf6f3"><code>ad5b3bf</code></a>
fix(module-runner): make <code>getBuiltins</code> response JSON
serializable (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21029">#21029</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v7.2.2/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.12&new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 14:28:26 +00:00
John Bayly
7a93d592ff issue/910: Fix CORS warning for localhost (#939)
See maplibre/maputnik#910

As per the issue, test the hostname of the for a localhost URL, by
1. Domain - localhost
2. IPv4 localhost subnet - 127.0.0.1/8
3. IPv6 localhost - [::1]

## Launch Checklist

<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->


 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: zstadler <zeev.stadler@gmail.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-09 21:57:05 +00:00
Harel M
876a3d70df Fix editor replace behavior (#1501)
## Launch Checklist

- Fixes #1492

This adds the relevant selection and scroll intoview parameters that
were previously missing as part of the migration to code mirror 6.
It fixes the replace part as described in the bug.

 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.

While I think tests are needed here, I'm not sure there's an easy way to
actually test this because testing the code mirror editor is hard, and
even harder when there's key pressing (ctrl +F on windows and meta + F
on mac) involved...
2025-11-09 13:02:16 +02:00
dependabot[bot]
99e47cb387 chore(deps): Bump maplibre-gl from 5.10.0 to 5.11.0 (#1495)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.10.0 to 5.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.11.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.10.0...v5.11.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.10.0">MapLibre
GL JS v5.10.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Improve performance of <code>GeoJSONSource#updateData</code> when
called on small diffs (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6562">#6562</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
<li>If the stylesheet lacks a <code>glyphs</code> property at the root
level, interpret the <code>text-font</code> property as a cascading
fallback list of font names and render all text using local or system
fonts. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/4564">#4564</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>⚠️ Refactor SourceCache to TileManager (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6635">#6635</a>)
- this is not a breaking change since SourceCache is not part of the
public API, but if you have a plugin that uses internal stuff, it might
break... (by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>If a required glyph PBF is unavailable or it lacks a glyph for a
character in a <code>text-field</code>, try to render it locally instead
of crashing. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/4564">#4564</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>Export <code>now()</code> function in timeControl API to complete
the API and enable external code to read controlled time (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6644">#6644</a>)
(by <a
href="https://github.com/bjperson"><code>@​bjperson</code></a>)</li>
<li>ScaleControl CSS styling contains <code>white-space: nowrap</code>
to prevent wrapping (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6647">#6647</a>)
(by <a
href="https://github.com/stroebjo"><code>@​stroebjo</code></a>)</li>
<li>Fix edge fading for unloaded tiles (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6650">#6650</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.11.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Improve performance of <code>GeoJSONSource#updateData</code> when
called on small diffs (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6562">#6562</a>)
(by <a
href="https://github.com/lucaswoj"><code>@​lucaswoj</code></a>)</li>
<li>If the stylesheet lacks a <code>glyphs</code> property at the root
level, interpret the <code>text-font</code> property as a cascading
fallback list of font names and render all text using local or system
fonts. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/4564">#4564</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>⚠️ Refactor SourceCache to TileManager (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6635">#6635</a>)
- this is not a breaking change since SourceCache is not part of the
public API, but if you have a plugin that uses internal stuff, it might
break... (by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>If a required glyph PBF is unavailable or it lacks a glyph for a
character in a <code>text-field</code>, try to render it locally instead
of crashing. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/4564">#4564</a>)
(by <a href="https://github.com/1ec5"><code>@​1ec5</code></a>)</li>
<li>Export <code>now()</code> function in timeControl API to complete
the API and enable external code to read controlled time (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6644">#6644</a>)
(by <a
href="https://github.com/bjperson"><code>@​bjperson</code></a>)</li>
<li>ScaleControl CSS styling contains <code>white-space: nowrap</code>
to prevent wrapping (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6647">#6647</a>)
(by <a
href="https://github.com/stroebjo"><code>@​stroebjo</code></a>)</li>
<li>Fix edge fading for unloaded tiles (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6650">#6650</a>)
(by <a
href="https://github.com/wayofthefuture"><code>@​wayofthefuture</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="25d189b0b1"><code>25d189b</code></a>
Bump version to 5.11.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6660">#6660</a>)</li>
<li><a
href="2ceb99058d"><code>2ceb990</code></a>
Fix edge fading for unloaded tiles (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6650">#6650</a>)</li>
<li><a
href="5e525bb049"><code>5e525bb</code></a>
chore(deps-dev): bump cssnano from 7.1.1 to 7.1.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6657">#6657</a>)</li>
<li><a
href="96fa4d88f5"><code>96fa4d8</code></a>
chore(deps-dev): bump jsdom from 27.0.1 to 27.1.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6654">#6654</a>)</li>
<li><a
href="3602bb8e4a"><code>3602bb8</code></a>
chore(deps-dev): bump <code>@​types/node</code> from 24.9.1 to 24.9.2
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6656">#6656</a>)</li>
<li><a
href="dcaf719e21"><code>dcaf719</code></a>
chore(deps-dev): bump devtools-protocol from 0.0.1534754 to 0.0.1537100
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6658">#6658</a>)</li>
<li><a
href="695d00b267"><code>695d00b</code></a>
chore(deps-dev): bump <code>@​rollup/plugin-replace</code> from 6.0.2 to
6.0.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6655">#6655</a>)</li>
<li><a
href="ab75910b09"><code>ab75910</code></a>
chore(deps): bump github/codeql-action from 4.31.0 to 4.31.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6651">#6651</a>)</li>
<li><a
href="7877effef6"><code>7877eff</code></a>
chore(deps-dev): bump puppeteer from 24.26.1 to 24.27.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6653">#6653</a>)</li>
<li><a
href="38f6c930fb"><code>38f6c93</code></a>
chore(deps-dev): bump the vitest group with 4 updates (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6652">#6652</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.10.0...v5.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.10.0&new-version=5.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarelM <harel.mazor@gmail.com>
2025-11-08 22:55:25 +00:00
dependabot[bot]
9aab5a7865 chore(deps-dev): Bump eslint from 9.39.0 to 9.39.1 (#1497)
Bumps [eslint](https://github.com/eslint/eslint) from 9.39.0 to 9.39.1.
<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.1</h2>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="650753ee39"><code>650753e</code></a>
fix: Only pass node to JS lang visitor methods (<a
href="https://redirect.github.com/eslint/eslint/issues/20283">#20283</a>)
(Nicholas C. Zakas)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="51b51f4f1c"><code>51b51f4</code></a>
docs: add a section on when to use extends vs cascading (<a
href="https://redirect.github.com/eslint/eslint/issues/20268">#20268</a>)
(Tanuj Kanti)</li>
<li><a
href="b44d42699d"><code>b44d426</code></a>
docs: Update README (GitHub Actions Bot)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="92db329211"><code>92db329</code></a>
chore: update <code>@eslint/js</code> version to 9.39.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/20284">#20284</a>)
(Francesco Trotta)</li>
<li><a
href="c7ebefc9ea"><code>c7ebefc</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="61778f6ca3"><code>61778f6</code></a>
chore: update eslint-config-eslint dependency <code>@​eslint/js</code>
to ^9.39.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20275">#20275</a>)
(renovate[bot])</li>
<li><a
href="d9ca2fcd9a"><code>d9ca2fc</code></a>
ci: Add rangeStrategy to eslint group in renovate config (<a
href="https://redirect.github.com/eslint/eslint/issues/20266">#20266</a>)
(唯然)</li>
<li><a
href="009e5076ff"><code>009e507</code></a>
test: fix version tests for ESLint v10 (<a
href="https://redirect.github.com/eslint/eslint/issues/20274">#20274</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e2772811a8"><code>e277281</code></a>
9.39.1</li>
<li><a
href="4cdf397b30"><code>4cdf397</code></a>
Build: changelog update for 9.39.1</li>
<li><a
href="92db329211"><code>92db329</code></a>
chore: update <code>@eslint/js</code> version to 9.39.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/20284">#20284</a>)</li>
<li><a
href="c7ebefc9ea"><code>c7ebefc</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="650753ee39"><code>650753e</code></a>
fix: Only pass node to JS lang visitor methods (<a
href="https://redirect.github.com/eslint/eslint/issues/20283">#20283</a>)</li>
<li><a
href="51b51f4f1c"><code>51b51f4</code></a>
docs: add a section on when to use extends vs cascading (<a
href="https://redirect.github.com/eslint/eslint/issues/20268">#20268</a>)</li>
<li><a
href="61778f6ca3"><code>61778f6</code></a>
chore: update eslint-config-eslint dependency <code>@​eslint/js</code>
to ^9.39.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20275">#20275</a>)</li>
<li><a
href="d9ca2fcd9a"><code>d9ca2fc</code></a>
ci: Add rangeStrategy to eslint group in renovate config (<a
href="https://redirect.github.com/eslint/eslint/issues/20266">#20266</a>)</li>
<li><a
href="009e5076ff"><code>009e507</code></a>
test: fix version tests for ESLint v10 (<a
href="https://redirect.github.com/eslint/eslint/issues/20274">#20274</a>)</li>
<li><a
href="b44d42699d"><code>b44d426</code></a>
docs: Update README</li>
<li>See full diff in <a
href="https://github.com/eslint/eslint/compare/v9.39.0...v9.39.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=9.39.0&new-version=9.39.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 22:21:40 +00:00
dependabot[bot]
3ed93fbf89 chore(deps-dev): Bump min-document from 2.19.0 to 2.19.1 (#1500)
Bumps [min-document](https://github.com/Raynos/min-document) from 2.19.0
to 2.19.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4490b40cbb"><code>4490b40</code></a>
2.19.1</li>
<li><a
href="2cd5871537"><code>2cd5871</code></a>
update ignore</li>
<li><a
href="fe32e8da46"><code>fe32e8d</code></a>
Merge pull request <a
href="https://redirect.github.com/Raynos/min-document/issues/55">#55</a>
from jameswassink/fix/prototype-pollution-removeAttrib...</li>
<li><a
href="6c5f31aa57"><code>6c5f31a</code></a>
Better prototype pollution fix</li>
<li><a
href="0d4e8192ef"><code>0d4e819</code></a>
Fix prototype pollution in removeAttributeNS</li>
<li><a
href="bf7b69130a"><code>bf7b691</code></a>
Update package.json</li>
<li><a
href="1b5402dcd5"><code>1b5402d</code></a>
Merge pull request <a
href="https://redirect.github.com/Raynos/min-document/issues/49">#49</a>
from PixnBits/patch-1</li>
<li><a
href="1db88fb7bd"><code>1db88fb</code></a>
Update license metadata</li>
<li>See full diff in <a
href="https://github.com/Raynos/min-document/compare/v2.19.0...v2.19.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=min-document&package-manager=npm_and_yarn&previous-version=2.19.0&new-version=2.19.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/maplibre/maputnik/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 21:47:51 +00:00
dependabot[bot]
50e80b953f chore(deps): Bump @codemirror/lint from 6.9.1 to 6.9.2 (#1490)
Bumps [@codemirror/lint](https://github.com/codemirror/lint) from 6.9.1
to 6.9.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/lint/blob/main/CHANGELOG.md"><code>@​codemirror/lint</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.9.2 (2025-11-03)</h2>
<h3>Bug fixes</h3>
<p>Fix an infinite loop that would occur when a diagnostic pointed
beyond the end of the document.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a9991d6394"><code>a9991d6</code></a>
Mark version 6.9.2</li>
<li><a
href="ae65ecc6b8"><code>ae65ecc</code></a>
Avoid infinite loop when a diagnostic points after the end of the
document</li>
<li>See full diff in <a
href="https://github.com/codemirror/lint/compare/6.9.1...6.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/lint&package-manager=npm_and_yarn&previous-version=6.9.1&new-version=6.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 21:46:40 +00:00
dependabot[bot]
275edf8651 chore(deps-dev): Bump typescript-eslint from 8.46.2 to 8.46.3 (#1494)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.46.2 to 8.46.3.
<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.46.3</h2>
<h2>8.46.3 (2025-11-03)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-misused-promises] expand union
type to retrieve target property (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11706">#11706</a>)</li>
<li><strong>eslint-plugin:</strong> [no-duplicate-enum-values] support
signed numbers (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11722">#11722</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11723">#11723</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evgeny Stepanovych <a
href="https://github.com/undsoft"><code>@​undsoft</code></a></li>
<li>tao</li>
</ul>
<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.46.3 (2025-11-03)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="d9f3497dfb"><code>d9f3497</code></a>
chore(release): publish 8.46.3</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.3/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.46.2&new-version=8.46.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 21:46:20 +00:00
dependabot[bot]
90b4d8ee95 chore(deps-dev): Bump @eslint/js from 9.39.0 to 9.39.1 (#1498)
Bumps
[@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js)
from 9.39.0 to 9.39.1.
<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.1</h2>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="650753ee39"><code>650753e</code></a>
fix: Only pass node to JS lang visitor methods (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20283">#20283</a>)
(Nicholas C. Zakas)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="51b51f4f1c"><code>51b51f4</code></a>
docs: add a section on when to use extends vs cascading (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20268">#20268</a>)
(Tanuj Kanti)</li>
<li><a
href="b44d42699d"><code>b44d426</code></a>
docs: Update README (GitHub Actions Bot)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="92db329211"><code>92db329</code></a>
chore: update <code>@eslint/js</code> version to 9.39.1 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20284">#20284</a>)
(Francesco Trotta)</li>
<li><a
href="c7ebefc9ea"><code>c7ebefc</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="61778f6ca3"><code>61778f6</code></a>
chore: update eslint-config-eslint dependency <code>@​eslint/js</code>
to ^9.39.0 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20275">#20275</a>)
(renovate[bot])</li>
<li><a
href="d9ca2fcd9a"><code>d9ca2fc</code></a>
ci: Add rangeStrategy to eslint group in renovate config (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20266">#20266</a>)
(唯然)</li>
<li><a
href="009e5076ff"><code>009e507</code></a>
test: fix version tests for ESLint v10 (<a
href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20274">#20274</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c7ebefc9ea"><code>c7ebefc</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.1/packages/js">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@eslint/js&package-manager=npm_and_yarn&previous-version=9.39.0&new-version=9.39.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-07 13:19:14 +00:00
dependabot[bot]
0d74cedf4d chore(deps): Bump react-i18next from 16.2.3 to 16.2.4 (#1499)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from
16.2.3 to 16.2.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md">react-i18next's
changelog</a>.</em></p>
<blockquote>
<h3>16.2.4</h3>
<ul>
<li>try to fix &quot;Trans component do not render anymore children as
default value in test environment&quot; <a
href="https://redirect.github.com/i18next/react-i18next/issues/1883">1883</a>
by also respecting <a
href="https://redirect.github.com/i18next/react-i18next/issues/1876">1876</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef82835198"><code>ef82835</code></a>
16.2.4</li>
<li><a
href="72e1a0011b"><code>72e1a00</code></a>
try to fix &quot;Trans component do not render anymore children as
default value i...</li>
<li>See full diff in <a
href="https://github.com/i18next/react-i18next/compare/v16.2.3...v16.2.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=16.2.3&new-version=16.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-07 13:18:53 +00:00
dependabot[bot]
97e5bfcee8 chore(deps): Bump ol-mapbox-style from 13.1.0 to 13.1.1 (#1496)
Bumps [ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style)
from 13.1.0 to 13.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openlayers/ol-mapbox-style/releases">ol-mapbox-style's
releases</a>.</em></p>
<blockquote>
<h2>v13.1.1</h2>
<h2>Summary</h2>
<ul>
<li>Add support for running ol-mapbox-style in web workers</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Changes for v13.1.0 by <a
href="https://github.com/ahocevar"><code>@​ahocevar</code></a> in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1354">openlayers/ol-mapbox-style#1354</a></li>
<li>Bump html-webpack-plugin from 5.6.3 to 5.6.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1355">openlayers/ol-mapbox-style#1355</a></li>
<li>Bump mini-css-extract-plugin from 2.9.2 to 2.9.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1356">openlayers/ol-mapbox-style#1356</a></li>
<li>Bump copy-webpack-plugin from 13.0.0 to 13.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1358">openlayers/ol-mapbox-style#1358</a></li>
<li>Bump tar-fs from 3.1.0 to 3.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1360">openlayers/ol-mapbox-style#1360</a></li>
<li>Bump typedoc-plugin-missing-exports from 4.0.0 to 4.1.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1362">openlayers/ol-mapbox-style#1362</a></li>
<li>Bump webpack from 5.100.2 to 5.102.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1363">openlayers/ol-mapbox-style#1363</a></li>
<li>Update Mapbox Style documentation link by <a
href="https://github.com/simon04"><code>@​simon04</code></a> in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1366">openlayers/ol-mapbox-style#1366</a></li>
<li>implement basic support for usage in worker by <a
href="https://github.com/RobertOrthofer"><code>@​RobertOrthofer</code></a>
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1365">openlayers/ol-mapbox-style#1365</a></li>
<li>avoid createMockDiv import by <a
href="https://github.com/RobertOrthofer"><code>@​RobertOrthofer</code></a>
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1372">openlayers/ol-mapbox-style#1372</a></li>
<li>Bump <code>@​rollup/plugin-commonjs</code> from 28.0.6 to 28.0.9 by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1367">openlayers/ol-mapbox-style#1367</a></li>
<li>Bump cross-env from 7.0.3 to 10.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1368">openlayers/ol-mapbox-style#1368</a></li>
<li>Bump globals from 16.3.0 to 16.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1369">openlayers/ol-mapbox-style#1369</a></li>
<li>Bump typedoc from 0.28.7 to 0.28.14 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1370">openlayers/ol-mapbox-style#1370</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/simon04"><code>@​simon04</code></a> made
their first contribution in <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/pull/1366">openlayers/ol-mapbox-style#1366</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/openlayers/ol-mapbox-style/compare/v13.1.0...v13.1.1">https://github.com/openlayers/ol-mapbox-style/compare/v13.1.0...v13.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openlayers/ol-mapbox-style/blob/main/CHANGELOG.md">ol-mapbox-style's
changelog</a>.</em></p>
<blockquote>
<h2>13.1.1</h2>
<ul>
<li>Add support for running ol-mapbox-style in web workers</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="819fa3615e"><code>819fa36</code></a>
Add dist for v13.1.1</li>
<li><a
href="a3889d7126"><code>a3889d7</code></a>
Changes for 13.1.1</li>
<li><a
href="73d04aa852"><code>73d04aa</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1370">#1370</a>
from openlayers/dependabot/npm_and_yarn/typedoc-0.28.14</li>
<li><a
href="9b18d7e17f"><code>9b18d7e</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1369">#1369</a>
from openlayers/dependabot/npm_and_yarn/globals-16.4.0</li>
<li><a
href="02e6db9c4b"><code>02e6db9</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1368">#1368</a>
from openlayers/dependabot/npm_and_yarn/cross-env-10...</li>
<li><a
href="9af4dfbf96"><code>9af4dfb</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1367">#1367</a>
from openlayers/dependabot/npm_and_yarn/rollup/plugi...</li>
<li><a
href="2281347bc0"><code>2281347</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1372">#1372</a>
from RobertOrthofer/avoid-createMockDIV-import</li>
<li><a
href="ebae33a9ac"><code>ebae33a</code></a>
avoid createMockDiv import</li>
<li><a
href="e56565312c"><code>e565653</code></a>
Merge pull request <a
href="https://redirect.github.com/openlayers/ol-mapbox-style/issues/1365">#1365</a>
from RobertOrthofer/master</li>
<li><a
href="2ef903f491"><code>2ef903f</code></a>
update package-lock</li>
<li>Additional commits viewable in <a
href="https://github.com/openlayers/ol-mapbox-style/compare/v13.1.0...v13.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ol-mapbox-style&package-manager=npm_and_yarn&previous-version=13.1.0&new-version=13.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-07 13:18:35 +00:00
Harel M
0fbba4b362 Fix missing font auto complete menu (#1491)
## Launch Checklist

This fixes the position of the autocomplete list - CSS fix mostly.
It also changes the loading of the metadata to be using promises instead
of callbacks.

I couldn't reproduce the following issue, so I'll be closing it for now.
- Fixes #945

Before:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/6ea264e1-cb85-4a8a-8df5-ab50e7815333"
/>

After:
<img width="563" height="577" alt="image"
src="https://github.com/user-attachments/assets/27fa2901-dd96-44fd-9774-363fd4c5ed98"
/>


 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-06 16:31:14 +02:00
dependabot[bot]
ce3953ea9c chore(deps): Bump @maplibre/maplibre-gl-inspect from 1.7.1 to 1.8.0 (#1489)
Bumps
[@maplibre/maplibre-gl-inspect](https://github.com/maplibre/maplibre-gl-inspect)
from 1.7.1 to 1.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-inspect/releases"><code>@​maplibre/maplibre-gl-inspect</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.8.0</h2>
<h2><a
href="https://github.com/maplibre/maplibre-gl-inspect/compare/v1.7.1...v1.8.0">1.8.0</a>
(2025-11-06)</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b6d135bbfd"><code>b6d135b</code></a>
Bump version to 1.8.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/322">#322</a>)</li>
<li><a
href="03ea2e78a6"><code>03ea2e7</code></a>
Remove internal maplibre-gl api usage, fallback to style's layers (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/321">#321</a>)</li>
<li><a
href="51524e8453"><code>51524e8</code></a>
Bump eslint from 9.38.0 to 9.39.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/320">#320</a>)</li>
<li><a
href="a9f6f19e4f"><code>a9f6f19</code></a>
Bump <code>@​rollup/plugin-commonjs</code> from 28.0.9 to 29.0.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/319">#319</a>)</li>
<li><a
href="dbc6825c8b"><code>dbc6825</code></a>
Bump maplibre-gl from 5.9.0 to 5.10.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/317">#317</a>)</li>
<li><a
href="471bcb054c"><code>471bcb0</code></a>
Bump <code>@​rollup/plugin-commonjs</code> from 28.0.8 to 28.0.9 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/316">#316</a>)</li>
<li><a
href="6d890c0849"><code>6d890c0</code></a>
Bump <code>@​rollup/plugin-typescript</code> from 12.1.4 to 12.3.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/315">#315</a>)</li>
<li><a
href="61de3a88cb"><code>61de3a8</code></a>
Bump typescript-eslint from 8.46.1 to 8.46.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/314">#314</a>)</li>
<li><a
href="d9f9255a39"><code>d9f9255</code></a>
Bump typescript-eslint from 8.46.0 to 8.46.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/312">#312</a>)</li>
<li><a
href="dbf1b5eae3"><code>dbf1b5e</code></a>
Bump rollup from 4.52.4 to 4.52.5 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-inspect/issues/313">#313</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-inspect/compare/v1.7.1...v1.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-inspect&package-manager=npm_and_yarn&previous-version=1.7.1&new-version=1.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 13:17:40 +00:00
Harel M
4ba09144e9 Add support for sprite object (#1488)
## Launch Checklist

- Fixes #1302

When a sprite object is used, the current settings modal does not
present it well and does not allow editing.
This changes the input from a string to json.
It does make the editing a bit more cumbersome as you need to type `"`
now instead of just placing the address, but if you click the info
button you should be able to understand that this is a special field.
The fact that it looks like a code editor should also help guide users
to place different input there.

Before:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/a615dddd-6c06-45fb-b5a9-1820e6a5c077"
/>


After:
<img width="710" height="297" alt="image"
src="https://github.com/user-attachments/assets/fdb89ada-91ca-4bf4-8380-ce3c25373b41"
/>


 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [ ] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-06 14:18:30 +02:00
dependabot[bot]
85bf0e02a4 chore(deps): Bump github/codeql-action from 4.31.0 to 4.31.2 (#1487)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.31.0 to 4.31.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.31.2</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.2 - 30 Oct 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.2/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v4.31.1</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.1 - 30 Oct 2025</h2>
<ul>
<li>The <code>add-snippets</code> input has been removed from the
<code>analyze</code> action. This input has been deprecated since CodeQL
Action 3.26.4 in August 2024 when this removal was announced.</li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.1/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.31.2 - 30 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.31.1 - 30 Oct 2025</h2>
<ul>
<li>The <code>add-snippets</code> input has been removed from the
<code>analyze</code> action. This input has been deprecated since CodeQL
Action 3.26.4 in August 2024 when this removal was announced.</li>
</ul>
<h2>4.31.0 - 24 Oct 2025</h2>
<ul>
<li>Bump minimum CodeQL bundle version to 2.17.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3223">#3223</a></li>
<li>When SARIF files are uploaded by the <code>analyze</code> or
<code>upload-sarif</code> actions, the CodeQL Action automatically
performs post-processing steps to prepare the data for the upload.
Previously, these post-processing steps were only performed before an
upload took place. We are now changing this so that the post-processing
steps will always be performed, even when the SARIF files are not
uploaded. This does not change anything for the
<code>upload-sarif</code> action. For <code>analyze</code>, this may
affect Advanced Setup for CodeQL users who specify a value other than
<code>always</code> for the <code>upload</code> input. <a
href="https://redirect.github.com/github/codeql-action/pull/3222">#3222</a></li>
</ul>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<h2>3.30.3 - 10 Sep 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0499de31b9"><code>0499de3</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3261">#3261</a>
from github/henrymercer/setup-python</li>
<li><a
href="3b96745d2b"><code>3b96745</code></a>
Set up Python in mergeback workflow</li>
<li><a
href="8a06050a8c"><code>8a06050</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3259">#3259</a>
from github/update-v4.31.2-9576b5cbe</li>
<li><a
href="752a642cb2"><code>752a642</code></a>
Update changelog for v4.31.2</li>
<li><a
href="9576b5cbe8"><code>9576b5c</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3258">#3258</a>
from github/mbg/enablement-errors/case-insensitive</li>
<li><a
href="cc8843728c"><code>cc88437</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3257">#3257</a>
from github/henrymercer/ubuntu-slim</li>
<li><a
href="f0e9bf07f4"><code>f0e9bf0</code></a>
Make <code>isEnablementError</code> case-insensitive</li>
<li><a
href="2a3599c520"><code>2a3599c</code></a>
Run lightweight workflows on <code>ubuntu-slim</code></li>
<li><a
href="514ff4d116"><code>514ff4d</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3256">#3256</a>
from github/henrymercer/resolve-bad-merge</li>
<li><a
href="aab1c2f931"><code>aab1c2f</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3253">#3253</a>
from github/mergeback/v4.31.1-to-main-5fe9434c</li>
<li>Additional commits viewable in <a
href="4e94bd11f7...0499de31b9">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 07:32:15 +00:00
Jere Suikkila
5b34a3791f fix: keep headers visible when scrolling left panes (#1485)
Keeps headers visible when scrolling left panes as described in the
[issue 951
](https://github.com/maplibre/maputnik/issues/951)

The fix was manually confirmed to be working, see video below.

## Before (taken from the issue)
<img width="713" height="231" alt="image"
src="https://github.com/user-attachments/assets/c1eadb0d-6dbf-4199-8732-68b07d626003"
/>


## After

https://github.com/user-attachments/assets/ab5e4a6f-c5f9-44fd-850d-8eac58c35c68

---------

Co-authored-by: Harel M <harel.mazor@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-04 09:11:13 +02:00
dependabot[bot]
46f0d7620d chore(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#1476)
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4.6.2 to 5.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README.md by <a
href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v5.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li><a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li><a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v5.0.0">https://github.com/actions/upload-artifact/compare/v4...v5.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="330a01c490"><code>330a01c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/734">#734</a>
from actions/danwkennedy/prepare-5.0.0</li>
<li><a
href="03f2824452"><code>03f2824</code></a>
Update <code>github.dep.yml</code></li>
<li><a
href="905a1ecb59"><code>905a1ec</code></a>
Prepare <code>v5.0.0</code></li>
<li><a
href="2d9f9cdfa9"><code>2d9f9cd</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/725">#725</a>
from patrikpolyak/patch-1</li>
<li><a
href="9687587dec"><code>9687587</code></a>
Merge branch 'main' into patch-1</li>
<li><a
href="2848b2cda0"><code>2848b2c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/727">#727</a>
from danwkennedy/patch-1</li>
<li><a
href="9b511775fd"><code>9b51177</code></a>
Spell out the first use of GHES</li>
<li><a
href="cd231ca1ed"><code>cd231ca</code></a>
Update GHES guidance to include reference to Node 20 version</li>
<li><a
href="de65e23aa2"><code>de65e23</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/712">#712</a>
from actions/nebuk89-patch-1</li>
<li><a
href="8747d8cd76"><code>8747d8c</code></a>
Update README.md</li>
<li>Additional commits viewable in <a
href="ea165f8d65...330a01c490">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 15:55:08 +02:00
Harel M
696e43b474 chore(deps): update vitest and group them (#1486)
## Launch Checklist

Update vitest packages and group them in dependabot.
2025-11-02 13:37:48 +00:00
dependabot[bot]
50e9559631 chore(deps-dev): Bump vitest from 4.0.2 to 4.0.4 (#1482)
Bumps
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
from 4.0.2 to 4.0.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.4</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>:
<ul>
<li>Correct typo  -  by <a
href="https://github.com/benmccann"><code>@​benmccann</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8796">vitest-dev/vitest#8796</a>
<a href="https://github.com/vitest-dev/vitest/commit/ede1f39d6"><!-- raw
HTML omitted -->(ede1f)<!-- raw HTML omitted --></a></li>
<li>Publish a missing context file for webdriverio  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8824">vitest-dev/vitest#8824</a>
<a href="https://github.com/vitest-dev/vitest/commit/7c7b6f0b1"><!-- raw
HTML omitted -->(7c7b6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>mocker</strong>:
<ul>
<li>Support mocking builtins without <code>node:</code> prefix  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8829">vitest-dev/vitest#8829</a>
<a href="https://github.com/vitest-dev/vitest/commit/06208d30b"><!-- raw
HTML omitted -->(06208)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>pool</strong>:
<ul>
<li>Runner's error listener causing
<code>MaxListenersExceededWarning</code>  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8820">vitest-dev/vitest#8820</a>
<a href="https://github.com/vitest-dev/vitest/commit/d1bff3bb3"><!-- raw
HTML omitted -->(d1bff)<!-- raw HTML omitted --></a></li>
<li>Capture workers <code>stdio</code> to logger  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8809">vitest-dev/vitest#8809</a>
<a href="https://github.com/vitest-dev/vitest/commit/fb95fc736"><!-- raw
HTML omitted -->(fb95f)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>spy</strong>:
<ul>
<li>Allow classes in <code>vi.mocked</code> utility  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8839">vitest-dev/vitest#8839</a>
<a href="https://github.com/vitest-dev/vitest/commit/f87568d64"><!-- raw
HTML omitted -->(f8756)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>worker</strong>:
<ul>
<li>Rpc listener leak when <code>isolate: false</code>  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8821">vitest-dev/vitest#8821</a>
<a href="https://github.com/vitest-dev/vitest/commit/573dc06fe"><!-- raw
HTML omitted -->(573dc)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h3>   🏎 Performance</h3>
<ul>
<li><strong>utils</strong>: Optimized reducer to avoid creating new
objects  -  by <a
href="https://github.com/Connormiha"><code>@​Connormiha</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8818">vitest-dev/vitest#8818</a>
<a href="https://github.com/vitest-dev/vitest/commit/d19cece3a"><!-- raw
HTML omitted -->(d19ce)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4">View
changes on GitHub</a></h5>
<h2>v4.0.3</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Preserve reporter options from config when CLI reporters override
them  -  by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> and
<strong>sheremet-va</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8794">vitest-dev/vitest#8794</a>
<a href="https://github.com/vitest-dev/vitest/commit/155521a85"><!-- raw
HTML omitted -->(15552)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>: More stable in-source testing validation
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8793">vitest-dev/vitest#8793</a>
<a href="https://github.com/vitest-dev/vitest/commit/622977e61"><!-- raw
HTML omitted -->(62297)<!-- raw HTML omitted --></a></li>
<li><strong>happy-dom</strong>: Support fetch globals  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8791">vitest-dev/vitest#8791</a>
<a href="https://github.com/vitest-dev/vitest/commit/0fb74bd3b"><!-- raw
HTML omitted -->(0fb74)<!-- raw HTML omitted --></a></li>
<li><strong>init</strong>: Use correct jsx/tsx extension  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8792">vitest-dev/vitest#8792</a>
<a href="https://github.com/vitest-dev/vitest/commit/abc046f95"><!-- raw
HTML omitted -->(abc04)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9b75ec5f2f"><code>9b75ec5</code></a>
chore: release v4.0.4</li>
<li><a
href="fb95fc7360"><code>fb95fc7</code></a>
fix(pool): capture workers <code>stdio</code> to logger (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8809">#8809</a>)</li>
<li><a
href="06208d30bb"><code>06208d3</code></a>
fix(mocker): support mocking builtins without <code>node:</code> prefix
(<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8829">#8829</a>)</li>
<li><a
href="573dc06fec"><code>573dc06</code></a>
fix(worker): rpc listener leak when <code>isolate: false</code> (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8821">#8821</a>)</li>
<li><a
href="d1bff3bb3e"><code>d1bff3b</code></a>
fix(pool): runner's error listener causing
<code>MaxListenersExceededWarning</code> (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8820">#8820</a>)</li>
<li><a
href="d19cece3a5"><code>d19cece</code></a>
perf(utils): optimized reducer to avoid creating new objects (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8818">#8818</a>)</li>
<li><a
href="ede1f39d60"><code>ede1f39</code></a>
fix(browser): correct typo (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8796">#8796</a>)</li>
<li><a
href="ca1766f45c"><code>ca1766f</code></a>
chore: release v4.0.3</li>
<li><a
href="155521a857"><code>155521a</code></a>
fix: preserve reporter options from config when CLI reporters override
them (...</li>
<li><a
href="abc046f952"><code>abc046f</code></a>
fix(init): use correct jsx/tsx extension (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8792">#8792</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.4/packages/vitest">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vitest&package-manager=npm_and_yarn&previous-version=4.0.2&new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:57:02 +00:00
dependabot[bot]
72a81b30d3 chore(deps): Bump @maplibre/maplibre-gl-style-spec from 24.3.0 to 24.3.1 (#1484)
Bumps
[@maplibre/maplibre-gl-style-spec](https://github.com/maplibre/maplibre-gl-style-spec)
from 24.3.0 to 24.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases"><code>@​maplibre/maplibre-gl-style-spec</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v24.3.1</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-style-spec">https://github.com/maplibre/maplibre-gl-style-spec</a>
<a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.3.0...v24.3.1">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases/tag/v24.3.0">MapLibre
Style Spec v24.3.0</a>:</p>
<h3>🐞 Bug fixes</h3>
<ul>
<li>The validator no longer fails if the style lacks a
<code>glyphs</code> property (<a
href="https://redirect.github.com/maplibre/maplibre-style-spec/pull/1347">#1347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-style-spec/blob/main/CHANGELOG.md"><code>@​maplibre/maplibre-gl-style-spec</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>24.3.1</h2>
<h3>🐞 Bug fixes</h3>
<ul>
<li>The validator no longer fails if the style lacks a
<code>glyphs</code> property (<a
href="https://redirect.github.com/maplibre/maplibre-style-spec/pull/1347">#1347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="45ac05d100"><code>45ac05d</code></a>
Bump version to 24.3.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1349">#1349</a>)</li>
<li><a
href="abd1a97622"><code>abd1a97</code></a>
Validator: Relaxed requirement for <code>glyphs</code> when using
<code>text-field</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1347">#1347</a>)</li>
<li><a
href="d1044155d9"><code>d104415</code></a>
build(deps-dev): bump <code>@​types/node</code> from 24.8.1 to 24.9.1
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1342">#1342</a>)</li>
<li><a
href="9fb24e6614"><code>9fb24e6</code></a>
build(deps-dev): bump <code>@​rollup/plugin-commonjs</code> from 28.0.8
to 28.0.9 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1344">#1344</a>)</li>
<li><a
href="6e1eebf714"><code>6e1eebf</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1341">#1341</a>)</li>
<li><a
href="ac6bc2b1fd"><code>ac6bc2b</code></a>
build(deps-dev): bump vite from 7.1.5 to 7.1.11 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1337">#1337</a>)</li>
<li><a
href="8342bc0905"><code>8342bc0</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1330">#1330</a>)</li>
<li><a
href="3f77eef9ac"><code>3f77eef</code></a>
build(deps-dev): bump <code>@​types/node</code> from 24.7.2 to 24.8.1
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1334">#1334</a>)</li>
<li><a
href="eaee058840"><code>eaee058</code></a>
build(deps-dev): bump eslint from 9.37.0 to 9.38.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1332">#1332</a>)</li>
<li><a
href="354c0c84c9"><code>354c0c8</code></a>
build(deps-dev): bump <code>@​rollup/plugin-commonjs</code> from 28.0.6
to 28.0.8 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1333">#1333</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.3.0...v24.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-style-spec&package-manager=npm_and_yarn&previous-version=24.3.0&new-version=24.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:54:32 +00:00
dependabot[bot]
8b9d481233 chore(deps): Bump cypress-io/github-action from 6.10.2 to 6.10.3 (#1472)
Bumps
[cypress-io/github-action](https://github.com/cypress-io/github-action)
from 6.10.2 to 6.10.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/github-action/releases">cypress-io/github-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.10.3</h2>
<h2><a
href="https://github.com/cypress-io/github-action/compare/v6.10.2...v6.10.3">6.10.3</a>
(2025-10-23)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add type commonjs to package.json (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1544">#1544</a>)
(<a
href="e65cba2e73">e65cba2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e65cba2e73"><code>e65cba2</code></a>
fix: add type commonjs to package.json (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1544">#1544</a>)</li>
<li><a
href="8e36dc9c39"><code>8e36dc9</code></a>
chore(deps): update cypress to 15.5.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1550">#1550</a>)</li>
<li><a
href="aa00c21e56"><code>aa00c21</code></a>
chore: migrate to ESLint extends config structure (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1545">#1545</a>)</li>
<li><a
href="eb6ecdba5f"><code>eb6ecdb</code></a>
chore(deps): update markdown-link-check to 3.14.1 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1548">#1548</a>)</li>
<li><a
href="16752e2248"><code>16752e2</code></a>
test(deps): add Node.js 25 (current) support (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1549">#1549</a>)</li>
<li><a
href="e17a084cf5"><code>e17a084</code></a>
chore(deps): update cypress to 15.4.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1547">#1547</a>)</li>
<li><a
href="38f9a02ac2"><code>38f9a02</code></a>
chore(deps): update cypress to 15.3.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1543">#1543</a>)</li>
<li><a
href="6684394211"><code>6684394</code></a>
test(deps): update setup-chrome to v2 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1541">#1541</a>)</li>
<li><a
href="14fc5fa363"><code>14fc5fa</code></a>
docs: remove additional 'use: ./' syntax duplicated explanations (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1540">#1540</a>)</li>
<li><a
href="b986d12248"><code>b986d12</code></a>
chore(deps): update cypress to 15.2.0 (<a
href="https://redirect.github.com/cypress-io/github-action/issues/1539">#1539</a>)</li>
<li>Additional commits viewable in <a
href="b8ba51a856...e65cba2e73">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress-io/github-action&package-manager=github_actions&previous-version=6.10.2&new-version=6.10.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:49:12 +00:00
dependabot[bot]
e45cc33463 chore(deps-dev): Bump @vitejs/plugin-react from 5.0.4 to 5.1.0 (#1470)
Bumps
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
from 5.0.4 to 5.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@​vitejs/plugin-react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@5.1.0</h2>
<h3>Add <code>@vitejs/plugin-react/preamble</code> virtual module for
SSR HMR (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/890">#890</a>)</h3>
<p>SSR applications can now initialize HMR runtime by importing
<code>@vitejs/plugin-react/preamble</code> at the top of their client
entry instead of manually calling <code>transformIndexHtml</code>. This
simplifies SSR setup for applications that don't use the
<code>transformIndexHtml</code> API.</p>
<h3>Fix raw Rolldown support for Rolldown 1.0.0-beta.44+ (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/930">#930</a>)</h3>
<p>Rolldown 1.0.0-beta.44+ removed the top-level <code>jsx</code> option
in favor of <code>transform.jsx</code>. This plugin now uses the
<code>transform.jsx</code> option to support Rolldown
1.0.0-beta.44+.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@​vitejs/plugin-react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>5.1.0 (2025-10-24)</h2>
<h3>Add <code>@vitejs/plugin-react/preamble</code> virtual module for
SSR HMR (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/890">#890</a>)</h3>
<p>SSR applications can now initialize HMR runtime by importing
<code>@vitejs/plugin-react/preamble</code> at the top of their client
entry instead of manually calling <code>transformIndexHtml</code>. This
simplifies SSR setup for applications that don't use the
<code>transformIndexHtml</code> API.</p>
<h3>Fix raw Rolldown support for Rolldown 1.0.0-beta.44+ (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/930">#930</a>)</h3>
<p>Rolldown 1.0.0-beta.44+ removed the top-level <code>jsx</code> option
in favor of <code>transform.jsx</code>. This plugin now uses the
<code>transform.jsx</code> option to support Rolldown
1.0.0-beta.44+.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3e5a3742e9"><code>3e5a374</code></a>
release: plugin-react@5.1.0</li>
<li><a
href="44cbed4d00"><code>44cbed4</code></a>
fix(react): compat with newer rolldown (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/930">#930</a>)</li>
<li><a
href="c54d3c6998"><code>c54d3c6</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/926">#926</a>)</li>
<li><a
href="a2d76d9476"><code>a2d76d9</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/918">#918</a>)</li>
<li><a
href="fffb7eb7a4"><code>fffb7eb</code></a>
feat(react): expose virtual module to simplify hmr preamble setup on ssr
(<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/890">#890</a>)</li>
<li><a
href="b79592a72a"><code>b79592a</code></a>
fix(deps): update react-related dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/901">#901</a>)</li>
<li><a
href="2d239fc8de"><code>2d239fc</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/896">#896</a>)</li>
<li><a
href="73be2f0bbf"><code>73be2f0</code></a>
chore(deps): fix vitest &gt; rolldown-vite dependency (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/889">#889</a>)</li>
<li><a
href="407795dbd0"><code>407795d</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/887">#887</a>)</li>
<li><a
href="47db4734d5"><code>47db473</code></a>
chore(react): fix ecosystem-ci failure (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/888">#888</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.1.0/packages/plugin-react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@vitejs/plugin-react&package-manager=npm_and_yarn&previous-version=5.0.4&new-version=5.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:47:43 +00:00
dependabot[bot]
8b3e6c753e chore(deps-dev): Bump @types/codemirror from 5.60.16 to 5.60.17 (#1469)
Bumps
[@types/codemirror](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/codemirror)
from 5.60.16 to 5.60.17.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/codemirror">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/codemirror&package-manager=npm_and_yarn&previous-version=5.60.16&new-version=5.60.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:47:02 +00:00
dependabot[bot]
098881c5c9 chore(deps-dev): Bump @shellygo/cypress-test-utils from 6.0.1 to 6.0.4 (#1466)
Bumps
[@shellygo/cypress-test-utils](https://github.com/shellyDCMS/cypress-test-utils)
from 6.0.1 to 6.0.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/shellyDCMS/cypress-test-utils/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@shellygo/cypress-test-utils&package-manager=npm_and_yarn&previous-version=6.0.1&new-version=6.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:46:48 +00:00
dependabot[bot]
0008008266 chore(deps-dev): Bump @cypress/code-coverage from 3.14.6 to 3.14.7 (#1439)
Bumps
[@cypress/code-coverage](https://github.com/cypress-io/code-coverage)
from 3.14.6 to 3.14.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/code-coverage/releases"><code>@​cypress/code-coverage</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v3.14.7</h2>
<h2><a
href="https://github.com/cypress-io/code-coverage/compare/v3.14.6...v3.14.7">3.14.7</a>
(2025-10-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> switch to tinyglobby (<a
href="https://redirect.github.com/cypress-io/code-coverage/issues/960">#960</a>)
(<a
href="41d9b3db0e">41d9b3d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="41d9b3db0e"><code>41d9b3d</code></a>
fix(deps): switch to tinyglobby (<a
href="https://redirect.github.com/cypress-io/code-coverage/issues/960">#960</a>)</li>
<li>See full diff in <a
href="https://github.com/cypress-io/code-coverage/compare/v3.14.6...v3.14.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@cypress/code-coverage&package-manager=npm_and_yarn&previous-version=3.14.6&new-version=3.14.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:46:33 +00:00
dependabot[bot]
0c04dbb24c chore(deps): Bump maplibre-gl from 5.9.0 to 5.10.0 (#1480)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.9.0 to 5.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.10.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.9.0...v5.10.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.9.0">MapLibre
GL JS v5.9.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Add time control API (<code>setNow</code>, <code>restoreNow</code>,
<code>isTimeFrozen</code>) for deterministic rendering, enabling
frame-by-frame video export and deterministic testing (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6544">6544</a>)</li>
<li>Use styles <code>isHidden</code> logic in the worker by adding a new
optional <code>roundMinZoom</code> parameter (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6547">#6547</a>)</li>
<li>Add <code>transformConstrain</code> callback to the <code>Map</code>
options to override the transform's <code>constrain</code> with new type
<code>TransformConstrainFunction</code>; refactor transform constructor
options to a <code>TransformOptions</code> object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6484">#6484</a>)</li>
<li>Use timeControl.now() instead of browser.now() (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6573">6573</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Contextmenu events not blocked by scrolling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/5683">#5683</a></li>
<li>Mousemove events are not blocked by scrolling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6302">#6302</a>)</li>
<li>Dashed lines have blurry rounded caps (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6554">#6554</a>)</li>
<li>Preserve flyTo padding when prefers-reduced-motion is enabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6576">#6576</a>)</li>
<li>Fix setClusterOptions not triggering recluster when no data changes
are pending (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6603">#6603</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.10.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add time control API (<code>setNow</code>, <code>restoreNow</code>,
<code>isTimeFrozen</code>) for deterministic rendering, enabling
frame-by-frame video export and deterministic testing (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6544">6544</a>)</li>
<li>Use styles <code>isHidden</code> logic in the worker by adding a new
optional <code>roundMinZoom</code> parameter (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6547">#6547</a>)</li>
<li>Add <code>transformConstrain</code> callback to the <code>Map</code>
options to override the transform's <code>constrain</code> with new type
<code>TransformConstrainFunction</code>; refactor transform constructor
options to a <code>TransformOptions</code> object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6484">#6484</a>)</li>
<li>Use timeControl.now() instead of browser.now() (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6573">6573</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Contextmenu events not blocked by scrolling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/5683">#5683</a></li>
<li>Mousemove events are not blocked by scrolling (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6302">#6302</a>)</li>
<li>Dashed lines have blurry rounded caps (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6554">#6554</a>)</li>
<li>Preserve flyTo padding when prefers-reduced-motion is enabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6576">#6576</a>)</li>
<li>Fix setClusterOptions not triggering recluster when no data changes
are pending (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6603">#6603</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="93634b011a"><code>93634b0</code></a>
Bump version to 5.10.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6616">#6616</a>)</li>
<li><a
href="cdb26febdb"><code>cdb26fe</code></a>
On a flyTo call with prefers-reduced-motion set, apply the padding
option (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6">#6</a>...</li>
<li><a
href="32964f28a8"><code>32964f2</code></a>
Fix cluster options with no pending data changes (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6603">#6603</a>)</li>
<li><a
href="baa94d1c4d"><code>baa94d1</code></a>
chore(deps-dev): bump devtools-protocol from 0.0.1528500 to 0.0.1532728
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6613">#6613</a>)</li>
<li><a
href="5942dd1153"><code>5942dd1</code></a>
chore(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6614">#6614</a>)</li>
<li><a
href="cc1909dd25"><code>cc1909d</code></a>
chore(deps-dev): bump <code>@​types/node</code> from 24.8.1 to 24.9.1
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6612">#6612</a>)</li>
<li><a
href="1d411062ea"><code>1d41106</code></a>
Fix broken example link (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6604">#6604</a>)</li>
<li><a
href="4aa5084c12"><code>4aa5084</code></a>
Fix broken image link in README for example 'Animate a series of images'
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6602">#6602</a>)</li>
<li><a
href="0983bec4a4"><code>0983bec</code></a>
chore(deps): bump ggilder/codecoverage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6600">#6600</a>)</li>
<li><a
href="540a4c961d"><code>540a4c9</code></a>
chore(deps): bump github/codeql-action from 3.30.6 to 4.30.9 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6599">#6599</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.9.0...v5.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.9.0&new-version=5.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:45:04 +00:00
dependabot[bot]
3b4016af92 chore(deps-dev): Bump @stylistic/eslint-plugin from 5.4.0 to 5.5.0 (#1459)
Bumps
[@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin)
from 5.4.0 to 5.5.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.5.0</h2>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.4.0...v5.5.0">5.5.0</a>
(2025-10-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>comma-dangle:</strong> support <code>TSFunctionType</code>
and <code>TSDeclareFunction</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1015">#1015</a>)
(<a
href="cd3776f8a9">cd3776f</a>)</li>
<li><strong>comma-dangle:</strong> support
<code>TSTypeParameterInstantiation</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1016">#1016</a>)
(<a
href="ba930e7269">ba930e7</a>)</li>
<li><strong>indent:</strong> deprecate
<code>offsetTernaryExpressionsOffsetCallExpressions</code> via
<code>offsetTernaryExpressions.CallExpression</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/997">#997</a>)
(<a
href="f2837b1d9a">f2837b1</a>)</li>
<li><strong>indent:</strong> introduce <code>NewExpression</code> and
<code>AwaitExpression</code> in <code>offsetTernaryExpressions</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/996">#996</a>)
(<a
href="2b5a39fc98">2b5a39f</a>)</li>
<li>new rule list-style (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/895">#895</a>)
(<a
href="a9ec0de85d">a9ec0de</a>)</li>
<li><strong>object-curly-spacing:</strong> add <code>emptyObjects</code>
option to control spacing in empty objects (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1002">#1002</a>)
(<a
href="85ef5bcf05">85ef5bc</a>)</li>
<li><strong>padding-line-between-statements:</strong> narrow report
range to reduce noise (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1017">#1017</a>)
(<a
href="b3a3acffbf">b3a3acf</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1011">#1011</a>)
(<a
href="9d5085c030">9d5085c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>indent:</strong> correctly indent <code>NewExpression</code>
in <code>ConditionalExpression</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/994">#994</a>)
(<a
href="01cec33474">01cec33</a>)</li>
<li>replace <code>context.getSourceCode()</code> with
<code>context.sourceCode</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1004">#1004</a>)
(<a
href="f3faa54295">f3faa54</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>contribute:</strong> add guide to run the document site (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1001">#1001</a>)
(<a
href="37a64c5b9c">37a64c5</a>)</li>
<li><strong>object-curly-spacing:</strong> introduce
<code>overrides</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/998">#998</a>)
(<a
href="6452b523a4">6452b52</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>no-extra-parens:</strong> remove useless logic (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1013">#1013</a>)
(<a
href="8e34765bed">8e34765</a>)</li>
<li>remove <code>TestCaseError#type</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1005">#1005</a>)
(<a
href="83d00c5735">83d00c5</a>)</li>
<li>replace <code>Object.prototype.hasOwnProperty.call</code> with
<code>Object.hasOwn</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/992">#992</a>)
(<a
href="97193e14d6">97193e1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/blob/main/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.4.0...v5.5.0">5.5.0</a>
(2025-10-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>comma-dangle:</strong> support <code>TSFunctionType</code>
and <code>TSDeclareFunction</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1015">#1015</a>)
(<a
href="cd3776f8a9">cd3776f</a>)</li>
<li><strong>comma-dangle:</strong> support
<code>TSTypeParameterInstantiation</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1016">#1016</a>)
(<a
href="ba930e7269">ba930e7</a>)</li>
<li><strong>indent:</strong> deprecate
<code>offsetTernaryExpressionsOffsetCallExpressions</code> via
<code>offsetTernaryExpressions.CallExpression</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/997">#997</a>)
(<a
href="f2837b1d9a">f2837b1</a>)</li>
<li><strong>indent:</strong> introduce <code>NewExpression</code> and
<code>AwaitExpression</code> in <code>offsetTernaryExpressions</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/996">#996</a>)
(<a
href="2b5a39fc98">2b5a39f</a>)</li>
<li>new rule list-style (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/895">#895</a>)
(<a
href="a9ec0de85d">a9ec0de</a>)</li>
<li><strong>object-curly-spacing:</strong> add <code>emptyObjects</code>
option to control spacing in empty objects (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1002">#1002</a>)
(<a
href="85ef5bcf05">85ef5bc</a>)</li>
<li><strong>padding-line-between-statements:</strong> narrow report
range to reduce noise (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1017">#1017</a>)
(<a
href="b3a3acffbf">b3a3acf</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1011">#1011</a>)
(<a
href="9d5085c030">9d5085c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>indent:</strong> correctly indent <code>NewExpression</code>
in <code>ConditionalExpression</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/994">#994</a>)
(<a
href="01cec33474">01cec33</a>)</li>
<li>replace <code>context.getSourceCode()</code> with
<code>context.sourceCode</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1004">#1004</a>)
(<a
href="f3faa54295">f3faa54</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>contribute:</strong> add guide to run the document site (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1001">#1001</a>)
(<a
href="37a64c5b9c">37a64c5</a>)</li>
<li><strong>object-curly-spacing:</strong> introduce
<code>overrides</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/998">#998</a>)
(<a
href="6452b523a4">6452b52</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>no-extra-parens:</strong> remove useless logic (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1013">#1013</a>)
(<a
href="8e34765bed">8e34765</a>)</li>
<li>remove <code>TestCaseError#type</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1005">#1005</a>)
(<a
href="83d00c5735">83d00c5</a>)</li>
<li>replace <code>Object.prototype.hasOwnProperty.call</code> with
<code>Object.hasOwn</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/992">#992</a>)
(<a
href="97193e14d6">97193e1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ad0c6a9432"><code>ad0c6a9</code></a>
chore: release v5.5.0 (main) (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/995">#995</a>)</li>
<li><a
href="ba930e7269"><code>ba930e7</code></a>
feat(comma-dangle): support <code>TSTypeParameterInstantiation</code>
(<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1016">#1016</a>)</li>
<li><a
href="b3a3acffbf"><code>b3a3acf</code></a>
feat(padding-line-between-statements): narrow report range to reduce
noise (#...</li>
<li><a
href="cd3776f8a9"><code>cd3776f</code></a>
feat(comma-dangle): support <code>TSFunctionType</code> and
<code>TSDeclareFunction</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1015">#1015</a>)</li>
<li><a
href="8e34765bed"><code>8e34765</code></a>
refactor(no-extra-parens): remove useless logic (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1013">#1013</a>)</li>
<li><a
href="9d5085c030"><code>9d5085c</code></a>
feat: update deps (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1011">#1011</a>)</li>
<li><a
href="f2837b1d9a"><code>f2837b1</code></a>
feat(indent): deprecate
<code>offsetTernaryExpressionsOffsetCallExpressions</code> via `...</li>
<li><a
href="85ef5bcf05"><code>85ef5bc</code></a>
feat(object-curly-spacing): add <code>emptyObjects</code> option to
control spacing in e...</li>
<li><a
href="a9ec0de85d"><code>a9ec0de</code></a>
feat: new rule list-style (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/895">#895</a>)</li>
<li><a
href="2b5a39fc98"><code>2b5a39f</code></a>
feat(indent): introduce <code>NewExpression</code> and
<code>AwaitExpression</code> in `offsetTerna...</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.5.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stylistic/eslint-plugin&package-manager=npm_and_yarn&previous-version=5.4.0&new-version=5.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 13:28:07 +00:00
dependabot[bot]
fff7982e85 chore(deps-dev): Bump vitest from 3.2.4 to 4.0.2 (#1478)
Bumps
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
from 3.2.4 to 4.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.2</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>:
<ul>
<li>Don't print the deprecation notice in node_modules  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8779">vitest-dev/vitest#8779</a>
<a href="https://github.com/vitest-dev/vitest/commit/588f76858"><!-- raw
HTML omitted -->(588f7)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>pool</strong>:
<ul>
<li>Assign envs before running tests to keep in sync with process.env
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8769">vitest-dev/vitest#8769</a>
<a href="https://github.com/vitest-dev/vitest/commit/26ce88db6"><!-- raw
HTML omitted -->(26ce8)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>spy</strong>:
<ul>
<li>Properly inherit implementation's <code>length</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8778">vitest-dev/vitest#8778</a>
<a href="https://github.com/vitest-dev/vitest/commit/d4c2b280b"><!-- raw
HTML omitted -->(d4c2b)<!-- raw HTML omitted --></a></li>
<li>Reset spies if both <code>restoreMocks</code> and
<code>mockReset</code> are set in the config  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8781">vitest-dev/vitest#8781</a>
<a href="https://github.com/vitest-dev/vitest/commit/2eedbce76"><!-- raw
HTML omitted -->(2eedb)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2">View
changes on GitHub</a></h5>
<h2>v4.0.1</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li>Move the <code>getBuiltins</code> check  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8765">vitest-dev/vitest#8765</a>
<a href="https://github.com/vitest-dev/vitest/commit/81000631d"><!-- raw
HTML omitted -->(81000)<!-- raw HTML omitted --></a></li>
<li><strong>pool</strong>: Don't teardown the communication channel too
soon if something is running after the test  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8767">vitest-dev/vitest#8767</a>
<a href="https://github.com/vitest-dev/vitest/commit/3fae73e2e"><!-- raw
HTML omitted -->(3fae7)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1">View
changes on GitHub</a></h5>
<h2>v4.0.0</h2>
<p>Vitest 4.0 is out!</p>
<p>To stay updated, read our <a
href="https://vitest.dev/blog/vitest-4">blog post</a> and check the <a
href="https://vitest.dev/guide/migration">migration guide</a>.</p>
<h3>   🚨 Breaking Changes</h3>
<ul>
<li>Remove <code>'basic'</code> reporter  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/7884">vitest-dev/vitest#7884</a>
<a href="https://github.com/vitest-dev/vitest/commit/82fcf5d53"><!-- raw
HTML omitted -->(82fcf)<!-- raw HTML omitted --></a></li>
<li>Simplify default exclude pattern  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/6287">vitest-dev/vitest#6287</a>
<a href="https://github.com/vitest-dev/vitest/commit/14c507200"><!-- raw
HTML omitted -->(14c50)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated getSourceMap  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8194">vitest-dev/vitest#8194</a>
<a href="https://github.com/vitest-dev/vitest/commit/ff93444f8"><!-- raw
HTML omitted -->(ff934)<!-- raw HTML omitted --></a></li>
<li>Replace deprecated ErrorWithDiff with TestError  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8195">vitest-dev/vitest#8195</a>
<a href="https://github.com/vitest-dev/vitest/commit/da59eb887"><!-- raw
HTML omitted -->(da59e)<!-- raw HTML omitted --></a></li>
<li>Remove UserConfig type in favor of ViteUserConfig  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8196">vitest-dev/vitest#8196</a>
<a href="https://github.com/vitest-dev/vitest/commit/22f7f2db5"><!-- raw
HTML omitted -->(22f7f)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated coverage options in favor of
<code>vitest/node</code> exports  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8197">vitest-dev/vitest#8197</a>
<a href="https://github.com/vitest-dev/vitest/commit/dc8486d22"><!-- raw
HTML omitted -->(dc848)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated internal helpers and environment exports  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8198">vitest-dev/vitest#8198</a>
<a href="https://github.com/vitest-dev/vitest/commit/4703cf850"><!-- raw
HTML omitted -->(4703c)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated typecheck and runner types  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8199">vitest-dev/vitest#8199</a>
<a href="https://github.com/vitest-dev/vitest/commit/89a1cb626"><!-- raw
HTML omitted -->(89a1c)<!-- raw HTML omitted --></a></li>
<li>Remove Node types from the main entry point, use
<code>vitest/node</code> instead  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8200">vitest-dev/vitest#8200</a>
<a href="https://github.com/vitest-dev/vitest/commit/1e60c4f44"><!-- raw
HTML omitted -->(1e60c)<!-- raw HTML omitted --></a></li>
<li>Remove support for Vite 5  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8202">vitest-dev/vitest#8202</a>
<a href="https://github.com/vitest-dev/vitest/commit/cb8b03bac"><!-- raw
HTML omitted -->(cb8b0)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated types  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8203">vitest-dev/vitest#8203</a>
<a href="https://github.com/vitest-dev/vitest/commit/66bee836f"><!-- raw
HTML omitted -->(66bee)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated environmentMatchGlobs and poolMatchGlobs  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8205">vitest-dev/vitest#8205</a>
<a href="https://github.com/vitest-dev/vitest/commit/be11d374c"><!-- raw
HTML omitted -->(be11d)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated <code>workspace</code> option in favor of
<code>projects</code>  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8218">vitest-dev/vitest#8218</a>
<a href="https://github.com/vitest-dev/vitest/commit/76fb75d42"><!-- raw
HTML omitted -->(76fb7)<!-- raw HTML omitted --></a></li>
<li>Ignore <code>--standalone</code> when CLI filename filter is used
 -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8262">vitest-dev/vitest#8262</a>
<a href="https://github.com/vitest-dev/vitest/commit/013bf2cb2"><!-- raw
HTML omitted -->(013bf)<!-- raw HTML omitted --></a></li>
<li>Use module-runner instead of vite-node  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> and
<a href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8208">vitest-dev/vitest#8208</a>
<a href="https://github.com/vitest-dev/vitest/commit/9be01ba59"><!-- raw
HTML omitted -->(9be01)<!-- raw HTML omitted --></a></li>
<li>Rewrite spying implementation to make module mocking more intuitive
 -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8363">vitest-dev/vitest#8363</a>
<a href="https://github.com/vitest-dev/vitest/commit/9e412de35"><!-- raw
HTML omitted -->(9e412)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated APIs  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8428">vitest-dev/vitest#8428</a>
<a href="https://github.com/vitest-dev/vitest/commit/a1cb9719a"><!-- raw
HTML omitted -->(a1cb9)<!-- raw HTML omitted --></a></li>
<li>Remove <code>minWorkers</code> and set it automatically to 0 in non
watch mode  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8454">vitest-dev/vitest#8454</a>
<a href="https://github.com/vitest-dev/vitest/commit/2c2d1d4ce"><!-- raw
HTML omitted -->(2c2d1)<!-- raw HTML omitted --></a></li>
<li>Verbose reporter prints tests in a list, introduce <code>tree</code>
reporter  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> and
<a href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8500">vitest-dev/vitest#8500</a>
<a href="https://github.com/vitest-dev/vitest/commit/25fd32bf0"><!-- raw
HTML omitted -->(25fd3)<!-- raw HTML omitted --></a></li>
<li>Include shadow root contents in pretty-format output  -  by <a
href="https://github.com/wkillerud"><code>@​wkillerud</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8545">vitest-dev/vitest#8545</a>
<a href="https://github.com/vitest-dev/vitest/commit/9e722834a"><!-- raw
HTML omitted -->(9e722)<!-- raw HTML omitted --></a></li>
<li>Remove deprecated order from test() API  -  by <a
href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/8594">vitest-dev/vitest#8594</a>
<a href="https://github.com/vitest-dev/vitest/commit/4d41928c6"><!-- raw
HTML omitted -->(4d419)<!-- raw HTML omitted --></a></li>
<li>Rewrite pools without <code>tinypool</code>  -  by <a
href="https://github.com/AriPerkkio"><code>@​AriPerkkio</code></a> and
<a href="https://github.com/sheremet-va"><code>@​sheremet-va</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/8705">vitest-dev/vitest#8705</a>
<a href="https://github.com/vitest-dev/vitest/commit/4822d047a"><!-- raw
HTML omitted -->(4822d)<!-- raw HTML omitted --></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="07bc56a7a8"><code>07bc56a</code></a>
chore: release v4.0.2</li>
<li><a
href="2eedbce768"><code>2eedbce</code></a>
fix(spy): reset spies if both <code>restoreMocks</code> and
<code>mockReset</code> is set in the co...</li>
<li><a
href="26ce88db68"><code>26ce88d</code></a>
fix(pool): assign envs before running tests to keep in sync with
process.env ...</li>
<li><a
href="4a28faa677"><code>4a28faa</code></a>
chore: release v4.0.1</li>
<li><a
href="3fae73e2e1"><code>3fae73e</code></a>
fix(pool): don't teardown the communication channel too soon if
something is ...</li>
<li><a
href="81000631df"><code>8100063</code></a>
fix: move the <code>getBuiltins</code> check (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8765">#8765</a>)</li>
<li><a
href="da7ce1712f"><code>da7ce17</code></a>
chore: release v4.0.0</li>
<li><a
href="8e15bc8f97"><code>8e15bc8</code></a>
perf: create only one fetcher per project (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8762">#8762</a>)</li>
<li><a
href="9f0ecccb8b"><code>9f0eccc</code></a>
fix: <code>base</code> option doesn't crash vitest (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8760">#8760</a>)</li>
<li><a
href="d3ef4f29c1"><code>d3ef4f2</code></a>
perf(pool): resolve all environments first (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8759">#8759</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitest-dev/vitest/commits/v4.0.2/packages/vitest">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 vitest since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vitest&package-manager=npm_and_yarn&previous-version=3.2.4&new-version=4.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 13:19:07 +00:00
dependabot[bot]
45d0f06e60 chore(deps): Bump github/codeql-action from 4.30.9 to 4.31.0 (#1477)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.30.9 to 4.31.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.31.0</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.31.0 - 24 Oct 2025</h2>
<ul>
<li>Bump minimum CodeQL bundle version to 2.17.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3223">#3223</a></li>
<li>When SARIF files are uploaded by the <code>analyze</code> or
<code>upload-sarif</code> actions, the CodeQL Action automatically
performs post-processing steps to prepare the data for the upload.
Previously, these post-processing steps were only performed before an
upload took place. We are now changing this so that the post-processing
steps will always be performed, even when the SARIF files are not
uploaded. This does not change anything for the
<code>upload-sarif</code> action. For <code>analyze</code>, this may
affect Advanced Setup for CodeQL users who specify a value other than
<code>always</code> for the <code>upload</code> input. <a
href="https://redirect.github.com/github/codeql-action/pull/3222">#3222</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.31.0/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.31.0 - 24 Oct 2025</h2>
<ul>
<li>Bump minimum CodeQL bundle version to 2.17.6. <a
href="https://redirect.github.com/github/codeql-action/pull/3223">#3223</a></li>
<li>When SARIF files are uploaded by the <code>analyze</code> or
<code>upload-sarif</code> actions, the CodeQL Action automatically
performs post-processing steps to prepare the data for the upload.
Previously, these post-processing steps were only performed before an
upload took place. We are now changing this so that the post-processing
steps will always be performed, even when the SARIF files are not
uploaded. This does not change anything for the
<code>upload-sarif</code> action. For <code>analyze</code>, this may
affect Advanced Setup for CodeQL users who specify a value other than
<code>always</code> for the <code>upload</code> input. <a
href="https://redirect.github.com/github/codeql-action/pull/3222">#3222</a></li>
</ul>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<h2>3.30.3 - 10 Sep 2025</h2>
<p>No user facing changes.</p>
<h2>3.30.2 - 09 Sep 2025</h2>
<ul>
<li>Fixed a bug which could cause language autodetection to fail. <a
href="https://redirect.github.com/github/codeql-action/pull/3084">#3084</a></li>
<li>Experimental: The <code>quality-queries</code> input that was added
in <code>3.29.2</code> as part of an internal experiment is now
deprecated and will be removed in an upcoming version of the CodeQL
Action. It has been superseded by a new <code>analysis-kinds</code>
input, which is part of the same internal experiment. Do not use this in
production as it is subject to change at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3064">#3064</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4e94bd11f7"><code>4e94bd1</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3235">#3235</a>
from github/update-v4.31.0-1d36546c1</li>
<li><a
href="8f11182164"><code>8f11182</code></a>
Update changelog for v4.31.0</li>
<li><a
href="1d36546c14"><code>1d36546</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3234">#3234</a>
from github/mbg/changelog/post-processing</li>
<li><a
href="08ada26e6a"><code>08ada26</code></a>
Add changelog entry for post-processing change</li>
<li><a
href="b843cbeed0"><code>b843cbe</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3233">#3233</a>
from github/mbg/getOptionalEnvVar</li>
<li><a
href="1ecd563919"><code>1ecd563</code></a>
Use <code>getOptionalEnvVar</code> in
<code>writePostProcessedFiles</code></li>
<li><a
href="e576807920"><code>e576807</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3223">#3223</a>
from github/henrymercer/bump-minimum</li>
<li><a
href="ad35676669"><code>ad35676</code></a>
Add <code>getOptionalEnvVar</code> function</li>
<li><a
href="d75645b13f"><code>d75645b</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3222">#3222</a>
from github/mbg/upload-lib/post-process</li>
<li><a
href="710606cc35"><code>710606c</code></a>
Check that <code>outputPath</code> is non-empty</li>
<li>Additional commits viewable in <a
href="16140ae1a1...4e94bd11f7">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 13:27:58 +00:00
dependabot[bot]
1636fa11e5 chore(deps-dev): Bump eslint-plugin-react-hooks from 7.0.0 to 7.0.1 (#1475)
Bumps
[eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)
from 7.0.0 to 7.0.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's
changelog</a>.</em></p>
<blockquote>
<h2>7.0.1</h2>
<ul>
<li>Disallowed passing inline <code>useEffectEvent</code> values as JSX
props to guard against accidental propagation. (<a
href="https://redirect.github.com/facebook/react/pull/34820">#34820</a>
by <a
href="https://github.com/jf-eirinha"><code>@​jf-eirinha</code></a>)</li>
<li>Switch to <code>export =</code> so eslint-plugin-react-hooks emits
correct types for consumers in Node16 ESM projects. (<a
href="https://redirect.github.com/facebook/react/pull/34949">#34949</a>
by <a
href="https://github.com/karlhorky"><code>@​karlhorky</code></a>)</li>
<li>Tightened the typing of <code>configs.flat</code> so the
<code>configs</code> export is always defined. (<a
href="https://redirect.github.com/facebook/react/pull/34950">#34950</a>
by <a href="https://github.com/poteto"><code>@​poteto</code></a>)</li>
<li>Fix named import runtime errors. (<a
href="https://redirect.github.com/facebook/react/pull/34951">#34951</a>,
<a
href="https://redirect.github.com/facebook/react/pull/34953">#34953</a>
by <a
href="https://github.com/karlhorky"><code>@​karlhorky</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-hooks&package-manager=npm_and_yarn&previous-version=7.0.0&new-version=7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 13:20:23 +00:00
dependabot[bot]
c59bf4cc7d chore(deps): Bump @codemirror/lint from 6.9.0 to 6.9.1 (#1471)
Bumps [@codemirror/lint](https://github.com/codemirror/lint) from 6.9.0
to 6.9.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/lint/blob/main/CHANGELOG.md"><code>@​codemirror/lint</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.9.1 (2025-10-23)</h2>
<h3>Bug fixes</h3>
<p>Properly display diagnostics that just cover multiple newlines as
widgets.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="818aedfef7"><code>818aedf</code></a>
Mark version 6.9.1</li>
<li><a
href="66732d258c"><code>66732d2</code></a>
Improve logic for when to show a decoration as a widget</li>
<li>See full diff in <a
href="https://github.com/codemirror/lint/compare/6.9.0...6.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/lint&package-manager=npm_and_yarn&previous-version=6.9.0&new-version=6.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 14:43:22 +00:00
dependabot[bot]
5de71d0bec chore(deps-dev): Bump vite from 7.1.10 to 7.1.12 (#1468)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.10 to 7.1.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.12</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.11</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.11/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.11...v7.1.12">7.1.12</a>
(2025-10-23)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> downgrade commonjs plugin to 28.0.6 to avoid
rollup/plugins<a
href="https://redirect.github.com/vitejs/vite/issues/1909">#1909</a> (<a
href="https://redirect.github.com/vitejs/vite/issues/20990">#20990</a>)
(<a
href="56fd7224aa">56fd722</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.10...v7.1.11">7.1.11</a>
(2025-10-20)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>dev:</strong> trim trailing slash before
<code>server.fs.deny</code> check (<a
href="https://redirect.github.com/vitejs/vite/issues/20968">#20968</a>)
(<a
href="f479cc57c4">f479cc5</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20966">#20966</a>)
(<a
href="6fb41a260b">6fb41a2</a>)</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li>use subpath imports for types module reference (<a
href="https://redirect.github.com/vitejs/vite/issues/20921">#20921</a>)
(<a
href="d0094af639">d0094af</a>)</li>
</ul>
<h3>Build System</h3>
<ul>
<li>remove cjs reference in files field (<a
href="https://redirect.github.com/vitejs/vite/issues/20945">#20945</a>)
(<a
href="ef411cee26">ef411ce</a>)</li>
<li>remove hash from built filenames (<a
href="https://redirect.github.com/vitejs/vite/issues/20946">#20946</a>)
(<a
href="a81730754d">a817307</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2436afef04"><code>2436afe</code></a>
release: v7.1.12</li>
<li><a
href="56fd7224aa"><code>56fd722</code></a>
fix(deps): downgrade commonjs plugin to 28.0.6 to avoid <a
href="https://redirect.github.com/rollup/plugins/issues/1909">rollup/plugins#1909</a>
(...</li>
<li><a
href="8b69c9e32c"><code>8b69c9e</code></a>
release: v7.1.11</li>
<li><a
href="f479cc57c4"><code>f479cc5</code></a>
fix(dev): trim trailing slash before <code>server.fs.deny</code> check
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968">#20968</a>)</li>
<li><a
href="6fb41a260b"><code>6fb41a2</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20966">#20966</a>)</li>
<li><a
href="a81730754d"><code>a817307</code></a>
build: remove hash from built filenames (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20946">#20946</a>)</li>
<li><a
href="ef411cee26"><code>ef411ce</code></a>
build: remove cjs reference in files field (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20945">#20945</a>)</li>
<li><a
href="d0094af639"><code>d0094af</code></a>
refactor: use subpath imports for types module reference (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20921">#20921</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v7.1.12/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.10&new-version=7.1.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 14:15:38 +00:00
dependabot[bot]
0804773551 chore(deps): Bump react-i18next from 16.0.0 to 16.2.0 (#1467)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from
16.0.0 to 16.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md">react-i18next's
changelog</a>.</em></p>
<blockquote>
<h3>16.2.0</h3>
<ul>
<li>try to address: useTranslation hook violates React's rules of hooks
by conditionally calling inner hooks <a
href="https://redirect.github.com/i18next/react-i18next/issues/1863">1863</a></li>
</ul>
<h3>16.1.6</h3>
<ul>
<li>fix: fix: handle spread props for inner components in Trans (icu) <a
href="https://redirect.github.com/i18next/react-i18next/pull/1877">1877</a></li>
</ul>
<h3>16.1.5</h3>
<ul>
<li>fix: Incosistent behaviour of Trans and t. Trans set defaultValue
when t call doesn't set the field. <a
href="https://redirect.github.com/i18next/react-i18next/issues/1876">1876</a></li>
<li>Trans: use also defaultValue via tOptions as fallback</li>
</ul>
<h3>16.1.4</h3>
<ul>
<li>fix: detect pre-transformation use of interpolation like
number/date/etc. <a
href="https://redirect.github.com/i18next/react-i18next/pull/1875">1875</a></li>
</ul>
<h3>16.1.3</h3>
<ul>
<li>fix: ensure invalid identifiers are quoted in the props object <a
href="https://redirect.github.com/i18next/react-i18next/pull/1874">1874</a></li>
</ul>
<h3>16.1.2</h3>
<ul>
<li>missing.js extensions for Icu imports</li>
</ul>
<h3>16.1.1</h3>
<ul>
<li>exports for <code>IcuTrans</code> component <a
href="https://redirect.github.com/i18next/react-i18next/pull/1873">1873</a></li>
</ul>
<h3>16.1.0</h3>
<ul>
<li>Introduce <code>IcuTrans</code> component <a
href="https://redirect.github.com/i18next/react-i18next/issues/1869">1869</a></li>
</ul>
<h3>16.0.1</h3>
<ul>
<li>fix: Using <!-- raw HTML omitted --> component with named tags
throws error when Selector API is enabled <a
href="https://redirect.github.com/i18next/react-i18next/issues/1867">1867</a>
with <a
href="https://redirect.github.com/i18next/react-i18next/pull/1868">1868</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aa66a897a3"><code>aa66a89</code></a>
16.2.0</li>
<li><a
href="a080c76bb5"><code>a080c76</code></a>
address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1863">#1863</a>
with Option 2</li>
<li><a
href="0c33e69f98"><code>0c33e69</code></a>
Merge branch 'try-fix-react-violation-2'</li>
<li><a
href="3bf5c853a4"><code>3bf5c85</code></a>
use use-sync-external-store shim for useSyncExternalStore</li>
<li><a
href="4dab58cfb8"><code>4dab58c</code></a>
16.1.6</li>
<li><a
href="d692624d2b"><code>d692624</code></a>
release</li>
<li><a
href="94278a712b"><code>94278a7</code></a>
fix: handle spread props for inner components in Trans (<a
href="https://redirect.github.com/i18next/react-i18next/issues/1869">#1869</a>)
(<a
href="https://redirect.github.com/i18next/react-i18next/issues/1877">#1877</a>)</li>
<li><a
href="a5287b5be6"><code>a5287b5</code></a>
16.1.5</li>
<li><a
href="f22d478718"><code>f22d478</code></a>
try to address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1876">#1876</a>
and use also defaultValue via tOptions as fallback</li>
<li><a
href="619fa599d6"><code>619fa59</code></a>
16.1.4</li>
<li>Additional commits viewable in <a
href="https://github.com/i18next/react-i18next/compare/v16.0.0...v16.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=16.0.0&new-version=16.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 14:10:57 +00:00
dependabot[bot]
2766235948 chore(deps-dev): Bump cypress from 15.3.0 to 15.5.0 (#1461)
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.3.0 to
15.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/cypress/releases">cypress's
releases</a>.</em></p>
<blockquote>
<h2>v15.5.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-5-0">https://docs.cypress.io/app/references/changelog#15-5-0</a></p>
<h2>v15.4.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-4-0">https://docs.cypress.io/app/references/changelog#15-4-0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6cb686e9b0"><code>6cb686e</code></a>
chore: revert try blobless checkout method (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32738">#32738</a>)
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/32765">#32765</a>)</li>
<li><a
href="fdb3701426"><code>fdb3701</code></a>
chore: bump cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32759">#32759</a>)</li>
<li><a
href="5f756c4c1c"><code>5f756c4</code></a>
chore: release 15.5.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32756">#32756</a>)</li>
<li><a
href="c9e8d59d8a"><code>c9e8d59</code></a>
misc: update code button style for prompt (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32745">#32745</a>)</li>
<li><a
href="3f4516793d"><code>3f45167</code></a>
chore(deps): update dependency <code>@​antfu/utils</code> to ^0.7.10 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32744">#32744</a>)</li>
<li><a
href="f7b8a0e1b5"><code>f7b8a0e</code></a>
chore: Update Chrome (stable) to 141.0.7390.107 and Chrome (beta) to
142.0.74...</li>
<li><a
href="20296023b2"><code>2029602</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32751">#32751</a>)</li>
<li><a
href="95209576e5"><code>9520957</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32750">#32750</a>)</li>
<li><a
href="b4eff93f01"><code>b4eff93</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32749">#32749</a>)</li>
<li><a
href="dc607c5cb9"><code>dc607c5</code></a>
chore: test against Node.js 25 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32737">#32737</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.3.0...v15.5.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress&package-manager=npm_and_yarn&previous-version=15.3.0&new-version=15.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 13:36:25 +00:00
dependabot[bot]
0a2eb99fd1 chore(deps-dev): Bump eslint from 9.37.0 to 9.38.0 (#1460)
Bumps [eslint](https://github.com/eslint/eslint) from 9.37.0 to 9.38.0.
<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.38.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="ce40f74efd"><code>ce40f74</code></a>
feat: update <code>complexity</code> rule to only highlight function
header (<a
href="https://redirect.github.com/eslint/eslint/issues/20048">#20048</a>)
(Atul Nair)</li>
<li><a
href="e37e590aae"><code>e37e590</code></a>
feat: correct <code>no-loss-of-precision</code> false positives with
<code>e</code> notation (<a
href="https://redirect.github.com/eslint/eslint/issues/20187">#20187</a>)
(Francesco Trotta)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="50c3dfd980"><code>50c3dfd</code></a>
fix: improve type support for isolated dependencies in pnpm (<a
href="https://redirect.github.com/eslint/eslint/issues/20201">#20201</a>)
(Francesco Trotta)</li>
<li><a
href="a1f06a350c"><code>a1f06a3</code></a>
fix: correct SourceCode typings (<a
href="https://redirect.github.com/eslint/eslint/issues/20114">#20114</a>)
(Pixel998)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="462675af8a"><code>462675a</code></a>
docs: improve web accessibility by hiding non-semantic character (<a
href="https://redirect.github.com/eslint/eslint/issues/20205">#20205</a>)
(루밀LuMir)</li>
<li><a
href="c070e65f6b"><code>c070e65</code></a>
docs: correct formatting in <code>no-irregular-whitespace</code> rule
documentation (<a
href="https://redirect.github.com/eslint/eslint/issues/20203">#20203</a>)
(루밀LuMir)</li>
<li><a
href="b39e71a213"><code>b39e71a</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="cd39983148"><code>cd39983</code></a>
docs: move <code>custom-formatters</code> type descriptions to
<code>nodejs-api</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20190">#20190</a>)
(Percy Ma)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="d17c795bf1"><code>d17c795</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.38.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20221">#20221</a>)
(Milos Djermanovic)</li>
<li><a
href="25d0e33270"><code>25d0e33</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="c82b5efa1f"><code>c82b5ef</code></a>
refactor: Use types from <code>@​eslint/core</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20168">#20168</a>)
(Nicholas C. Zakas)</li>
<li><a
href="ff31609f19"><code>ff31609</code></a>
ci: add Node.js 25 to <code>ci.yml</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20220">#20220</a>)
(루밀LuMir)</li>
<li><a
href="004577eda2"><code>004577e</code></a>
ci: bump github/codeql-action from 3 to 4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20211">#20211</a>)
(dependabot[bot])</li>
<li><a
href="eac71fb771"><code>eac71fb</code></a>
test: remove use of <code>nodejsScope</code> option of eslint-scope from
tests (<a
href="https://redirect.github.com/eslint/eslint/issues/20206">#20206</a>)
(Milos Djermanovic)</li>
<li><a
href="4168a18b7e"><code>4168a18</code></a>
chore: fix typo in legacy-eslint.js (<a
href="https://redirect.github.com/eslint/eslint/issues/20202">#20202</a>)
(Sweta Tanwar)</li>
<li><a
href="205dbd2d92"><code>205dbd2</code></a>
chore: fix typos (<a
href="https://redirect.github.com/eslint/eslint/issues/20200">#20200</a>)
(ntnyq)</li>
<li><a
href="dbb200e360"><code>dbb200e</code></a>
chore: use team member's username when name is not available in data (<a
href="https://redirect.github.com/eslint/eslint/issues/20194">#20194</a>)
(Milos Djermanovic)</li>
<li><a
href="8962089edb"><code>8962089</code></a>
chore: mark deprecated rules as available until v11.0.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20184">#20184</a>)
(Pixel998)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8fe511b4c0"><code>8fe511b</code></a>
9.38.0</li>
<li><a
href="f961736693"><code>f961736</code></a>
Build: changelog update for 9.38.0</li>
<li><a
href="d17c795bf1"><code>d17c795</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.38.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20221">#20221</a>)</li>
<li><a
href="25d0e33270"><code>25d0e33</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="50c3dfd980"><code>50c3dfd</code></a>
fix: improve type support for isolated dependencies in pnpm (<a
href="https://redirect.github.com/eslint/eslint/issues/20201">#20201</a>)</li>
<li><a
href="c82b5efa1f"><code>c82b5ef</code></a>
refactor: Use types from <code>@​eslint/core</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20168">#20168</a>)</li>
<li><a
href="ff31609f19"><code>ff31609</code></a>
ci: add Node.js 25 to <code>ci.yml</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20220">#20220</a>)</li>
<li><a
href="ce40f74efd"><code>ce40f74</code></a>
feat: update <code>complexity</code> rule to only highlight function
header (<a
href="https://redirect.github.com/eslint/eslint/issues/20048">#20048</a>)</li>
<li><a
href="e37e590aae"><code>e37e590</code></a>
feat: correct <code>no-loss-of-precision</code> false positives with
<code>e</code> notation (<a
href="https://redirect.github.com/eslint/eslint/issues/20187">#20187</a>)</li>
<li><a
href="004577eda2"><code>004577e</code></a>
ci: bump github/codeql-action from 3 to 4 (<a
href="https://redirect.github.com/eslint/eslint/issues/20211">#20211</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v9.37.0...v9.38.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=9.37.0&new-version=9.38.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 13:27:42 +00:00
dependabot[bot]
1f015629e6 chore(deps-dev): Bump typescript-eslint from 8.46.1 to 8.46.2 (#1465)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.46.1 to 8.46.2.
<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.46.2</h2>
<h2>8.46.2 (2025-10-20)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] skip
optional chaining when it could change the result (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11702">#11702</a>)</li>
<li><strong>typescript-estree:</strong> forbid invalid modifiers in
object methods (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11689">#11689</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@​fisker</code></a></li>
<li>mdm317</li>
</ul>
<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.46.2 (2025-10-20)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="55ca033ee8"><code>55ca033</code></a>
chore(release): publish 8.46.2</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.2/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.46.1&new-version=8.46.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 13:18:29 +00:00
dependabot[bot]
ee03f71318 chore(deps): Bump github/codeql-action from 4.30.8 to 4.30.9 (#1462)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.30.8 to 4.30.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.30.9</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.30.9/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.30.9 - 17 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3205">#3205</a></li>
<li>Experimental: A new <code>setup-codeql</code> action has been added
which is similar to <code>init</code>, except it only installs the
CodeQL CLI and does not initialize a database. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3204">#3204</a></li>
</ul>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<h2>3.30.3 - 10 Sep 2025</h2>
<p>No user facing changes.</p>
<h2>3.30.2 - 09 Sep 2025</h2>
<ul>
<li>Fixed a bug which could cause language autodetection to fail. <a
href="https://redirect.github.com/github/codeql-action/pull/3084">#3084</a></li>
<li>Experimental: The <code>quality-queries</code> input that was added
in <code>3.29.2</code> as part of an internal experiment is now
deprecated and will be removed in an upcoming version of the CodeQL
Action. It has been superseded by a new <code>analysis-kinds</code>
input, which is part of the same internal experiment. Do not use this in
production as it is subject to change at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3064">#3064</a></li>
</ul>
<h2>3.30.1 - 05 Sep 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3077">#3077</a></li>
</ul>
<h2>3.30.0 - 01 Sep 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="16140ae1a1"><code>16140ae</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3213">#3213</a>
from github/update-v4.30.9-70205d3d1</li>
<li><a
href="30db5fee08"><code>30db5fe</code></a>
Update changelog for v4.30.9</li>
<li><a
href="70205d3d12"><code>70205d3</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3211">#3211</a>
from github/mbg/init/starting-partial-config</li>
<li><a
href="697c209bfc"><code>697c209</code></a>
Merge remote-tracking branch 'origin/main' into
mbg/init/starting-partial-config</li>
<li><a
href="1bd53ba38c"><code>1bd53ba</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3205">#3205</a>
from github/update-bundle/codeql-bundle-v2.23.3</li>
<li><a
href="cac4df0c79"><code>cac4df0</code></a>
Rebuild</li>
<li><a
href="77e5c0d0a2"><code>77e5c0d</code></a>
Merge branch 'main' into update-bundle/codeql-bundle-v2.23.3</li>
<li><a
href="97a4f751be"><code>97a4f75</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3204">#3204</a>
from github/mbg/setup-codeql</li>
<li><a
href="2d5512b361"><code>2d5512b</code></a>
Merge remote-tracking branch 'origin/main' into
mbg/init/starting-partial-config</li>
<li><a
href="fa7bdf0559"><code>fa7bdf0</code></a>
Call <code>getAnalysisKinds</code> a second time, and ignore exceptions
thrown during th...</li>
<li>Additional commits viewable in <a
href="f443b600d9...16140ae1a1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 13:26:54 +00:00
dependabot[bot]
4d2707b6d3 chore(deps-dev): Bump eslint-plugin-react-hooks from 6.1.1 to 7.0.0 (#1440)
Bumps
[eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)
from 6.1.1 to 7.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's
changelog</a>.</em></p>
<blockquote>
<h2>7.0.0</h2>
<p>This release slims down presets to just 2 configurations
(<code>recommended</code> and <code>recommended-latest</code>), and all
compiler rules are enabled by default.</p>
<ul>
<li><strong>Breaking:</strong> Removed
<code>recommended-latest-legacy</code> and <code>flat/recommended</code>
configs. The plugin now provides <code>recommended</code> (legacy and
flat configs with all recommended rules), and
<code>recommended-latest</code> (legacy and flat configs with all
recommended rules plus new bleeding edge experimental compiler rules).
(<a href="https://github.com/poteto"><code>@​poteto</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34757">#34757</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-hooks&package-manager=npm_and_yarn&previous-version=6.1.1&new-version=7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17 23:47:38 +00:00
dependabot[bot]
52b87a32cc chore(deps-dev): Bump @types/react-dom from 19.2.0 to 19.2.2 (#1448)
Bumps
[@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)
from 19.2.0 to 19.2.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react-dom&package-manager=npm_and_yarn&previous-version=19.2.0&new-version=19.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17 23:47:27 +00:00
dependabot[bot]
4b9dee5994 chore(deps): Bump @codemirror/view from 6.38.4 to 6.38.6 (#1446)
Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.38.4
to 6.38.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/view/blob/main/CHANGELOG.md"><code>@​codemirror/view</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.38.6 (2025-10-13)</h2>
<h3>Bug fixes</h3>
<p>Work around a regression in Safari 26 that causes fragments of old
selections to remain visible.</p>
<h2>6.38.5 (2025-10-07)</h2>
<h3>Bug fixes</h3>
<p>Avoid firing text changes that cover unchanged text on Android.</p>
<p>Fix an issue where the editor could, in some circumstances, insert a
stray newline when typing over a document that ended in a block
widget.</p>
<p>Work around an issue in Safari 26 that causes inappropriate scrolling
on focus in some circumstances.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="05e9b6633b"><code>05e9b66</code></a>
Mark version 6.38.6</li>
<li><a
href="10020cdac9"><code>10020cd</code></a>
Also enable selection drawing glitch workaround on desktop Safari</li>
<li><a
href="3c11a40a66"><code>3c11a40</code></a>
Mark version 6.38.5</li>
<li><a
href="b4a5a0261f"><code>b4a5a02</code></a>
Work around broken focus/preventScroll support in Safari 26</li>
<li><a
href="45268f0eb6"><code>45268f0</code></a>
Fix an edge case in DOMReader when there's a widget at the end of the
content</li>
<li><a
href="90d7ec68fd"><code>90d7ec6</code></a>
Shrink EditContext changes down to the minimum text change</li>
<li><a
href="b7bf9d592b"><code>b7bf9d5</code></a>
Handle synthetic events even during composition</li>
<li><a
href="eb004313af"><code>eb00431</code></a>
Fix indentation in applyDOMChangeInner</li>
<li>See full diff in <a
href="https://github.com/codemirror/view/compare/6.38.4...6.38.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.38.4&new-version=6.38.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17 23:47:11 +00:00
dependabot[bot]
9a1c88a6a8 chore(deps-dev): Bump vite from 7.1.9 to 7.1.10 (#1452)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.9 to 7.1.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.10</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.10/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.9...v7.1.10">7.1.10</a>
(2025-10-14)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> avoid duplicate style for server rendered
stylesheet link and client inline style during dev (<a
href="https://redirect.github.com/vitejs/vite/issues/20767">#20767</a>)
(<a
href="3a92bc79b3">3a92bc7</a>)</li>
<li><strong>css:</strong> respect emitAssets when cssCodeSplit=false (<a
href="https://redirect.github.com/vitejs/vite/issues/20883">#20883</a>)
(<a
href="d3e7eeefa9">d3e7eee</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="879de86935">879de86</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20894">#20894</a>)
(<a
href="3213f90ff0">3213f90</a>)</li>
<li><strong>dev:</strong> allow aliases starting with <code>//</code>
(<a
href="https://redirect.github.com/vitejs/vite/issues/20760">#20760</a>)
(<a
href="b95fa2aa75">b95fa2a</a>)</li>
<li><strong>dev:</strong> remove timestamp query consistently (<a
href="https://redirect.github.com/vitejs/vite/issues/20887">#20887</a>)
(<a
href="6537d15591">6537d15</a>)</li>
<li><strong>esbuild:</strong> inject esbuild helpers correctly for
esbuild 0.25.9+ (<a
href="https://redirect.github.com/vitejs/vite/issues/20906">#20906</a>)
(<a
href="446eb38632">446eb38</a>)</li>
<li>normalize path before calling <code>fileToBuiltUrl</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20898">#20898</a>)
(<a
href="73b6d243e0">73b6d24</a>)</li>
<li>preserve original sourcemap file field when combining sourcemaps (<a
href="https://redirect.github.com/vitejs/vite/issues/20926">#20926</a>)
(<a
href="c714776aa1">c714776</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>correct <code>WebSocket</code> spelling (<a
href="https://redirect.github.com/vitejs/vite/issues/20890">#20890</a>)
(<a
href="29e98dc3ef">29e98dc</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20923">#20923</a>)
(<a
href="a5e3b064fa">a5e3b06</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed4a0dc913"><code>ed4a0dc</code></a>
release: v7.1.10</li>
<li><a
href="c714776aa1"><code>c714776</code></a>
fix: preserve original sourcemap file field when combining sourcemaps
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20926">#20926</a>)</li>
<li><a
href="446eb38632"><code>446eb38</code></a>
fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20906">#20906</a>)</li>
<li><a
href="879de86935"><code>879de86</code></a>
fix(deps): update all non-major dependencies</li>
<li><a
href="a5e3b064fa"><code>a5e3b06</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20923">#20923</a>)</li>
<li><a
href="3a92bc79b3"><code>3a92bc7</code></a>
fix(css): avoid duplicate style for server rendered stylesheet link and
clien...</li>
<li><a
href="73b6d243e0"><code>73b6d24</code></a>
fix: normalize path before calling <code>fileToBuiltUrl</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20898">#20898</a>)</li>
<li><a
href="b95fa2aa75"><code>b95fa2a</code></a>
fix(dev): allow aliases starting with <code>//</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20760">#20760</a>)</li>
<li><a
href="3213f90ff0"><code>3213f90</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20894">#20894</a>)</li>
<li><a
href="29e98dc3ef"><code>29e98dc</code></a>
docs: correct <code>WebSocket</code> spelling (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20890">#20890</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v7.1.10/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.9&new-version=7.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17 23:46:16 +00:00
Frank Elsinga
fe2571addb fix: remove broken max width from Expression properties (#1455)
Before vs after should be self-explanatory what motivated me to remove
the max-width.

<img width="1353" height="762" alt="image"
src="https://github.com/user-attachments/assets/eda0ce6c-5187-4496-bc92-6f91d1aaa5ee"
/>

Resolves https://github.com/maplibre/maputnik/issues/1445

---------

Co-authored-by: Harel M <harel.mazor@gmail.com>
2025-10-17 23:42:41 +00:00
Frank Elsinga
7e784f80f6 chore(ci): apply dependency cooldowns (#1431)
add a cooldown to dependency updates to give the securiy communtiy a
better chance of fixing supply chain attacks
2025-10-17 20:16:39 +00:00
dependabot[bot]
adc7e9d7d2 chore(deps): Bump maplibre-gl from 5.8.0 to 5.9.0 (#1441)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.8.0 to 5.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.9.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.8.0...v5.9.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.8.0">MapLibre
GL JS v5.8.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Improve fading - dynamic bi-directional raster cross-fading and self
fading (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6469">#6469</a>)</li>
<li>Support for usage of line-gradient together with line-dasharray (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6487">#6487</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Added <code>button</code> role to marker div to fix accessibility
issues with the <code>aria-label</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6435">#6435</a>)</li>
<li>Fix a crash on iOS when there are too many symbols to render (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6526">#6526</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.9.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Improve fading - dynamic bi-directional raster cross-fading and self
fading (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6469">#6469</a>)</li>
<li>Support for usage of line-gradient together with line-dasharray (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6487">#6487</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Added <code>button</code> role to marker div to fix accessibility
issues with the <code>aria-label</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6435">#6435</a>)</li>
<li>Fix a crash on iOS when there are too many symbols to render (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6526">#6526</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="14f56b00e0"><code>14f56b0</code></a>
Bump version to 5.9.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6528">#6528</a>)</li>
<li><a
href="005384141e"><code>0053841</code></a>
Fixes the crash by limiting the overscale number to 128 on safari (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6526">#6526</a>)</li>
<li><a
href="f4ccb8cfe1"><code>f4ccb8c</code></a>
Small fixes in comments and types (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6520">#6520</a>)</li>
<li><a
href="f45b2fb6d0"><code>f45b2fb</code></a>
chore(deps-dev): bump <code>@​types/node</code> from 24.6.2 to 24.7.0
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6523">#6523</a>)</li>
<li><a
href="5840cdf3ac"><code>5840cdf</code></a>
chore(deps-dev): bump <code>@​vitest/eslint-plugin</code> in the vitest
group (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6522">#6522</a>)</li>
<li><a
href="2cc5d78d39"><code>2cc5d78</code></a>
chore(deps-dev): bump stylelint from 16.24.0 to 16.25.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6513">#6513</a>)</li>
<li><a
href="9b61f0058d"><code>9b61f00</code></a>
Support for usage of line-gradient together with line-dasharray (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6487">#6487</a>)</li>
<li><a
href="64933f19e4"><code>64933f1</code></a>
Adding role to marker to satisfy aria-label accessibility issue (fix: <a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6435">#6435</a>)
...</li>
<li><a
href="d4fd93cb9a"><code>d4fd93c</code></a>
chore(deps-dev): bump <code>@​rollup/plugin-node-resolve</code> from
16.0.1 to 16.0.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6516">#6516</a>)</li>
<li><a
href="d08fc5a102"><code>d08fc5a</code></a>
Refactor source data handler (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6510">#6510</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.8.0...v5.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.8.0&new-version=5.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 13:27:14 +00:00
dependabot[bot]
05c55e3bd0 chore(deps): Bump @maplibre/maplibre-gl-style-spec from 24.2.0 to 24.3.0 (#1454)
Bumps
[@maplibre/maplibre-gl-style-spec](https://github.com/maplibre/maplibre-gl-style-spec)
from 24.2.0 to 24.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases"><code>@​maplibre/maplibre-gl-style-spec</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v24.3.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-style-spec">https://github.com/maplibre/maplibre-gl-style-spec</a>
<a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.2.0...v24.3.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases/tag/v24.2.0">MapLibre
Style Spec v24.2.0</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Add optional <code>encoding</code> property to vector
<code>source</code> to allow for MapLibre Tile vector sources</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-style-spec/blob/main/CHANGELOG.md"><code>@​maplibre/maplibre-gl-style-spec</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>24.3.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add optional <code>encoding</code> property to vector
<code>source</code> to allow for MapLibre Tile vector sources</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="81c1efe29d"><code>81c1efe</code></a>
Bump version to 24.3.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1324">#1324</a>)</li>
<li><a
href="9756faa53b"><code>9756faa</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1321">#1321</a>)</li>
<li><a
href="d74e80953b"><code>d74e809</code></a>
build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.45.0 to 8.46.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1323">#1323</a>)</li>
<li><a
href="0b6ad255ec"><code>0b6ad25</code></a>
build(deps-dev): bump <code>@​rollup/plugin-node-resolve</code> from
16.0.2 to 16.0.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1322">#1322</a>)</li>
<li><a
href="fdc0121b48"><code>fdc0121</code></a>
build(deps-dev): bump eslint-plugin-jsdoc from 60.8.2 to 61.1.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1320">#1320</a>)</li>
<li><a
href="a84cbe7964"><code>a84cbe7</code></a>
build(deps-dev): bump <code>@​types/node</code> from 24.6.2 to 24.7.2
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1318">#1318</a>)</li>
<li><a
href="5f58f916f9"><code>5f58f91</code></a>
build(deps-dev): bump semver from 7.7.2 to 7.7.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1319">#1319</a>)</li>
<li><a
href="dbf4b4eef6"><code>dbf4b4e</code></a>
build(deps-dev): bump <code>@​vitest/eslint-plugin</code> in the vitest
group (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1317">#1317</a>)</li>
<li><a
href="a45b1b58d8"><code>a45b1b5</code></a>
pin github deps to shas (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1315">#1315</a>)</li>
<li><a
href="126e41e57f"><code>126e41e</code></a>
apply a few easy hardenings suggested by zizmore (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1316">#1316</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.2.0...v24.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-style-spec&package-manager=npm_and_yarn&previous-version=24.2.0&new-version=24.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 13:18:39 +00:00
dependabot[bot]
3eecd0eaec chore(deps): Bump actions/setup-node from 5.0.0 to 6.0.0 (#1451)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
5.0.0 to 6.0.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.0.0</h2>
<h2>What's Changed</h2>
<p><strong>Breaking Changes</strong></p>
<ul>
<li>Limit automatic caching to npm, update workflows and documentation
by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1374">actions/setup-node#1374</a></li>
</ul>
<p><strong>Dependency Upgrades</strong></p>
<ul>
<li>Upgrade ts-jest from 29.1.2 to 29.4.1 and document breaking changes
in v5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1336">#1336</a></li>
<li>Upgrade prettier from 2.8.8 to 3.6.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1334">#1334</a></li>
<li>Upgrade actions/publish-action from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1362">#1362</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v5...v6.0.0">https://github.com/actions/setup-node/compare/v5...v6.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2028fbc5c2"><code>2028fbc</code></a>
Limit automatic caching to npm, update workflows and documentation (<a
href="https://redirect.github.com/actions/setup-node/issues/1374">#1374</a>)</li>
<li><a
href="13427813f7"><code>1342781</code></a>
Bump actions/publish-action from 0.3.0 to 0.4.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1362">#1362</a>)</li>
<li><a
href="89d709d423"><code>89d709d</code></a>
Bump prettier from 2.8.8 to 3.6.2 (<a
href="https://redirect.github.com/actions/setup-node/issues/1334">#1334</a>)</li>
<li><a
href="cd2651c462"><code>cd2651c</code></a>
Bump ts-jest from 29.1.2 to 29.4.1 (<a
href="https://redirect.github.com/actions/setup-node/issues/1336">#1336</a>)</li>
<li>See full diff in <a
href="a0853c2454...2028fbc5c2">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 13:24:06 +00:00
dependabot[bot]
c1514ef270 chore(deps-dev): Bump typescript-eslint from 8.45.0 to 8.46.1 (#1449)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.45.0 to 8.46.1.
<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.46.1</h2>
<h2>8.46.1 (2025-10-13)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>ast-spec:</strong> cleanup <code>TSLiteralType</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11624">#11624</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] include
mixed &quot;nullish comparison style&quot; chains in checks (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11533">#11533</a>)</li>
<li><strong>eslint-plugin:</strong> [no-misused-promises] special-case
<code>.finally</code> not to report when a promise returning function is
provided as an argument (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11667">#11667</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Abraham Guo</li>
<li>mdm317</li>
<li>Ronen Amiel</li>
</ul>
<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>
<h2>v8.46.0</h2>
<h2>8.46.0 (2025-10-06)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unsafe-member-access] add
allowOptionalChaining option (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11659">#11659</a>)</li>
<li><strong>eslint-plugin-internal:</strong> [no-dynamic-tests] new
internal Lint rule to ban dynamic syntax in generating tests (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11323">#11323</a>)</li>
<li><strong>rule-schema-to-typescript-types:</strong> clean up and make
public (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11633">#11633</a>)</li>
<li><strong>typescript-eslint:</strong> export util types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10848">#10848</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10849">#10849</a>)</li>
<li><strong>typescript-estree:</strong> mention file specifics in
project service allowDefaultProject error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11635">#11635</a>)</li>
<li><strong>typescript-estree:</strong> private identifiers can only
appear on LHS of in expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9232">#9232</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-floating-promises] remove excess
parentheses in suggestions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11487">#11487</a>)</li>
<li><strong>eslint-plugin:</strong> [unbound-method] improve wording
around <code>this: void</code> and binding (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11634">#11634</a>)</li>
<li><strong>eslint-plugin:</strong> [no-deprecated] ignore deprecated
<code>export import</code>s (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11603">#11603</a>)</li>
<li><strong>eslint-plugin:</strong> removed error type previously
deprecated (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11674">#11674</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types]
ignore tagged primitives (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11660">#11660</a>)</li>
<li><strong>rule-tester:</strong> deprecate TestCaseError#type and
LintMessage#nodeType (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11628">#11628</a>)</li>
<li><strong>typescript-estree:</strong> forbid <code>abstract</code>
modifier in object methods (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11656">#11656</a>)</li>
<li><strong>typescript-estree:</strong> forbid abstract method and
accessor to have implementation (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11657">#11657</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@​fisker</code></a></li>
<li>Josh Goldberg </li>
<li>Joshua Chen</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>Mark de Dios <a
href="https://github.com/peanutenthusiast"><code>@​peanutenthusiast</code></a></li>
<li>Mister-Hope <a
href="https://github.com/Mister-Hope"><code>@​Mister-Hope</code></a></li>
<li>Richard Torres <a
href="https://github.com/richardtorres314"><code>@​richardtorres314</code></a></li>
<li>Victor Genaev <a
href="https://github.com/mainframev"><code>@​mainframev</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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.46.1 (2025-10-13)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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>
<h2>8.46.0 (2025-10-06)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>typescript-eslint:</strong> export util types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10848">#10848</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10849">#10849</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Mister-Hope <a
href="https://github.com/Mister-Hope"><code>@​Mister-Hope</code></a></li>
</ul>
<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="3f5fbf698e"><code>3f5fbf6</code></a>
chore(release): publish 8.46.1</li>
<li><a
href="aec785e33d"><code>aec785e</code></a>
chore(release): publish 8.46.0</li>
<li><a
href="5c1a1592cc"><code>5c1a159</code></a>
feat(typescript-eslint): export util types (close <a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/10848">#10848</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/10849">#10849</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.1/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.45.0&new-version=8.46.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 13:18:29 +00:00
dependabot[bot]
1340e0d78f chore(deps): Bump github/codeql-action from 4.30.7 to 4.30.8 (#1447)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.30.7 to 4.30.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.30.8</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v4.30.8/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.30.8 - 10 Oct 2025</h2>
<p>No user facing changes.</p>
<h2>4.30.7 - 06 Oct 2025</h2>
<ul>
<li>[v4+ only] The CodeQL Action now runs on Node.js v24. <a
href="https://redirect.github.com/github/codeql-action/pull/3169">#3169</a></li>
</ul>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<h2>3.30.3 - 10 Sep 2025</h2>
<p>No user facing changes.</p>
<h2>3.30.2 - 09 Sep 2025</h2>
<ul>
<li>Fixed a bug which could cause language autodetection to fail. <a
href="https://redirect.github.com/github/codeql-action/pull/3084">#3084</a></li>
<li>Experimental: The <code>quality-queries</code> input that was added
in <code>3.29.2</code> as part of an internal experiment is now
deprecated and will be removed in an upcoming version of the CodeQL
Action. It has been superseded by a new <code>analysis-kinds</code>
input, which is part of the same internal experiment. Do not use this in
production as it is subject to change at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3064">#3064</a></li>
</ul>
<h2>3.30.1 - 05 Sep 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3077">#3077</a></li>
</ul>
<h2>3.30.0 - 01 Sep 2025</h2>
<ul>
<li>Reduce the size of the CodeQL Action, speeding up workflows by
approximately 4 seconds. <a
href="https://redirect.github.com/github/codeql-action/pull/3054">#3054</a></li>
</ul>
<h2>3.29.11 - 21 Aug 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f443b600d9"><code>f443b60</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3198">#3198</a>
from github/update-v4.30.8-527f0f324</li>
<li><a
href="7a2cb623ed"><code>7a2cb62</code></a>
Update changelog for v4.30.8</li>
<li><a
href="527f0f324a"><code>527f0f3</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3195">#3195</a>
from github/dependabot/npm_and_yarn/npm-minor-37415c...</li>
<li><a
href="f402506f0f"><code>f402506</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3196">#3196</a>
from github/dependabot/github_actions/dot-github/wor...</li>
<li><a
href="f5e53f9476"><code>f5e53f9</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3197">#3197</a>
from github/dependabot/github_actions/dot-github/wor...</li>
<li><a
href="4e90a42a3e"><code>4e90a42</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3193">#3193</a>
from github/mbg/ff/tools-toolcache</li>
<li><a
href="413a4a4df1"><code>413a4a4</code></a>
Rebuild</li>
<li><a
href="452186448a"><code>4521864</code></a>
Bump github/codeql-action from 3 to 4 in /.github/workflows</li>
<li><a
href="eadf14bf6e"><code>eadf14b</code></a>
Bump ruby/setup-ruby</li>
<li><a
href="e1257b6fda"><code>e1257b6</code></a>
Rebuild</li>
<li>Additional commits viewable in <a
href="e296a93559...f443b600d9">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 13:52:38 +00:00
Frank Elsinga
006eb89fae chore(sec): pin github deps to shas (#1444)
## Launch Checklist

Our CI uses a few actions.
For these actions, we currently just use the mutable GitHub tag.

Since we use Dependabot to update the versions, we should use SHAs.
This makes sure that we are not affected by a certain class of supply
chain vulnerability where attackers re-publish bad tags.

Using SHAs matches GitHub recommendations and is a part of the OpenSSFs
Scorecard.


- [x] Confirm **your changes do not include backports from Mapbox
projects** (unless with compliant license) - if you are not sure about
this, please ask!
 - [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
^--- not sure if you want this. Other maintenance actions don't show up
as well.
2025-10-10 13:55:05 +00:00
Frank Elsinga
8cd5e28f3a chore(sec): remove not needed permissions (#1442)
this PR removes a few permissions in CI where I don't think they are
needed
2025-10-10 16:40:03 +03:00
dependabot[bot]
13ce1039ee chore(deps): Bump i18next from 25.5.3 to 25.6.0 (#1443)
Bumps [i18next](https://github.com/i18next/i18next) from 25.5.3 to
25.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v25.6.0</h2>
<ul>
<li>
<p><strong>feat</strong>: <code>exists()</code> method now respects
<code>returnObjects</code> option - returns <code>false</code> when
accessing an object key with <code>returnObjects: false</code>, enabling
detection of object vs string keys <a
href="https://redirect.github.com/i18next/i18next/issues/2359">2359</a></p>
<p><strong>Note</strong>: This is a potential behavior change. If you
were previously calling <code>exists()</code> with <code>returnObjects:
false</code> on object keys, those calls will now return
<code>false</code> instead of <code>true</code>. This enables developers
to detect whether a key points to an object or string value.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>25.6.0</h2>
<ul>
<li>
<p><strong>feat</strong>: <code>exists()</code> method now respects
<code>returnObjects</code> option - returns <code>false</code> when
accessing an object key with <code>returnObjects: false</code>, enabling
detection of object vs string keys <a
href="https://redirect.github.com/i18next/i18next/issues/2359">2359</a></p>
<p><strong>Note</strong>: This is a potential behavior change. If you
were previously calling <code>exists()</code> with <code>returnObjects:
false</code> on object keys, those calls will now return
<code>false</code> instead of <code>true</code>. This enables developers
to detect whether a key points to an object or string value.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7484e96b0e"><code>7484e96</code></a>
25.6.0</li>
<li><a
href="bb7d062004"><code>bb7d062</code></a>
exists with returnObjects false, should address <a
href="https://redirect.github.com/i18next/i18next/issues/2359">#2359</a></li>
<li>See full diff in <a
href="https://github.com/i18next/i18next/compare/v25.5.3...v25.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=25.5.3&new-version=25.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-10 13:16:48 +00:00
dependabot[bot]
bfbf6076b0 chore(deps): Bump github/codeql-action from 3 to 4 (#1438)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.30.7</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.7 - 06 Oct 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.7/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.6</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.6 - 02 Oct 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.2. <a
href="https://redirect.github.com/github/codeql-action/pull/3168">#3168</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.6/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.5</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.5/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.4</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.4/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.3</h2>
<h1>CodeQL Action Changelog</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h2>3.29.4 - 23 Jul 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.3 - 21 Jul 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.2 - 30 Jun 2025</h2>
<ul>
<li>Experimental: When the <code>quality-queries</code> input for the
<code>init</code> action is provided with an argument, separate
<code>.quality.sarif</code> files are produced and uploaded for each
language with the results of the specified queries. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/2935">#2935</a></li>
</ul>
<h2>3.29.1 - 27 Jun 2025</h2>
<ul>
<li>Fix bug in PR analysis where user-provided <code>include</code>
query filter fails to exclude non-included queries. <a
href="https://redirect.github.com/github/codeql-action/pull/2938">#2938</a></li>
<li>Update default CodeQL bundle version to 2.22.1. <a
href="https://redirect.github.com/github/codeql-action/pull/2950">#2950</a></li>
</ul>
<h2>3.29.0 - 11 Jun 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.22.0. <a
href="https://redirect.github.com/github/codeql-action/pull/2925">#2925</a></li>
<li>Bump minimum CodeQL bundle version to 2.16.6. <a
href="https://redirect.github.com/github/codeql-action/pull/2912">#2912</a></li>
</ul>
<h2>3.28.21 - 28 July 2025</h2>
<p>No user facing changes.</p>
<h2>3.28.20 - 21 July 2025</h2>
<ul>
<li>Remove support for combining SARIF files from a single upload for
GHES 3.18, see <a
href="https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload/">the
changelog post</a>. <a
href="https://redirect.github.com/github/codeql-action/pull/2959">#2959</a></li>
</ul>
<h2>3.28.19 - 03 Jun 2025</h2>
<ul>
<li>The CodeQL Action no longer includes its own copy of the extractor
for the <code>actions</code> language, which is currently in public
preview.
The <code>actions</code> extractor has been included in the CodeQL CLI
since v2.20.6. If your workflow has enabled the <code>actions</code>
language <em>and</em> you have pinned
your <code>tools:</code> property to a specific version of the CodeQL
CLI earlier than v2.20.6, you will need to update to at least CodeQL
v2.20.6 or disable
<code>actions</code> analysis.</li>
<li>Update default CodeQL bundle version to 2.21.4. <a
href="https://redirect.github.com/github/codeql-action/pull/2910">#2910</a></li>
</ul>
<h2>3.28.18 - 16 May 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.21.3. <a
href="https://redirect.github.com/github/codeql-action/pull/2893">#2893</a></li>
<li>Skip validating SARIF produced by CodeQL for improved performance.
<a
href="https://redirect.github.com/github/codeql-action/pull/2894">#2894</a></li>
<li>The number of threads and amount of RAM used by CodeQL can now be
set via the <code>CODEQL_THREADS</code> and <code>CODEQL_RAM</code>
runner environment variables. If set, these environment variables
override the <code>threads</code> and <code>ram</code> inputs
respectively. <a
href="https://redirect.github.com/github/codeql-action/pull/2891">#2891</a></li>
</ul>
<h2>3.28.17 - 02 May 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.21.2. <a
href="https://redirect.github.com/github/codeql-action/pull/2872">#2872</a></li>
</ul>
<h2>3.28.16 - 23 Apr 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aac66ec793"><code>aac66ec</code></a>
Remove <code>update-proxy-release</code> workflow</li>
<li><a
href="91a63dc72c"><code>91a63dc</code></a>
Remove <code>undefined</code> values from results of
<code>unsafeEntriesInvariant</code></li>
<li><a
href="d25fa60a90"><code>d25fa60</code></a>
ESLint: Disable <code>no-unused-vars</code> for parameters starting with
<code>_</code></li>
<li><a
href="3adb1ff7b8"><code>3adb1ff</code></a>
Reorder supported tags in descending order</li>
<li>See full diff in <a
href="https://github.com/github/codeql-action/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-08 13:22:48 +00:00
dependabot[bot]
185441d6f6 chore(deps-dev): Bump @types/react from 19.2.0 to 19.2.2 (#1435)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.2.0 to 19.2.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.0&new-version=19.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 13:18:55 +00:00
dependabot[bot]
9de163aa91 chore(deps-dev): Bump eslint-plugin-react-hooks from 6.1.0 to 6.1.1 (#1429)
Bumps
[eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)
from 6.1.0 to 6.1.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's
changelog</a>.</em></p>
<blockquote>
<h2>6.1.1</h2>
<p><strong>Note:</strong> 6.1.0 accidentally allowed use of
<code>recommended</code> without flat config, causing errors when used
with ESLint v9's <code>defineConfig()</code> helper. This has been fixed
in 6.1.1.</p>
<ul>
<li>Fix <code>recommended</code> config for flat config compatibility.
The <code>recommended</code> config has been converted to flat config
format. Non-flat config users should use <code>recommended-legacy</code>
instead. (<a href="https://github.com/poteto"><code>@​poteto</code></a>
in <a
href="https://redirect.github.com/facebook/react/pull/34700">#34700</a>)</li>
<li>Add <code>recommended-latest</code> and
<code>recommended-latest-legacy</code> configs that include React
Compiler rules. (<a
href="https://github.com/poteto"><code>@​poteto</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34675">#34675</a>)</li>
<li>Remove unused <code>NoUnusedOptOutDirectives</code> rule. (<a
href="https://github.com/poteto"><code>@​poteto</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34703">#34703</a>)</li>
<li>Remove <code>hermes-parser</code> and dependency. (<a
href="https://github.com/poteto"><code>@​poteto</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34719">#34719</a>)</li>
<li>Remove <code>@babel/plugin-proposal-private-methods</code>
dependency. (<a
href="https://github.com/ArnaudBarre"><code>@​ArnaudBarre</code></a> and
<a
href="https://github.com/josephsavona"><code>@​josephsavona</code></a>
in <a
href="https://redirect.github.com/facebook/react/pull/34715">#34715</a>)</li>
<li>Update for Zod v3/v4 compatibility. (<a
href="https://github.com/kolvian"><code>@​kolian</code></a> and <a
href="https://github.com/josephsavona"><code>@​josephsavona</code></a>
in <a
href="https://redirect.github.com/facebook/react/pull/34717">#34717</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-hooks&package-manager=npm_and_yarn&previous-version=6.1.0&new-version=6.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 11:57:29 +00:00
dependabot[bot]
c49e2b5bde chore(deps-dev): Bump eslint from 9.36.0 to 9.37.0 (#1428)
Bumps [eslint](https://github.com/eslint/eslint) from 9.36.0 to 9.37.0.
<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.37.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="39f7fb493a"><code>39f7fb4</code></a>
feat: <code>preserve-caught-error</code> should recognize all static
&quot;cause&quot; keys (<a
href="https://redirect.github.com/eslint/eslint/issues/20163">#20163</a>)
(Pixel998)</li>
<li><a
href="f81eabc584"><code>f81eabc</code></a>
feat: support TS syntax in <code>no-restricted-imports</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19562">#19562</a>)
(Nitin Kumar)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="a129cced7a"><code>a129cce</code></a>
fix: correct <code>no-loss-of-precision</code> false positives for
leading zeros (<a
href="https://redirect.github.com/eslint/eslint/issues/20164">#20164</a>)
(Francesco Trotta)</li>
<li><a
href="09e04fcc3f"><code>09e04fc</code></a>
fix: add missing AST token types (<a
href="https://redirect.github.com/eslint/eslint/issues/20172">#20172</a>)
(Pixel998)</li>
<li><a
href="861c6da2bd"><code>861c6da</code></a>
fix: correct <code>ESLint</code> typings (<a
href="https://redirect.github.com/eslint/eslint/issues/20122">#20122</a>)
(Pixel998)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="b950359c5f"><code>b950359</code></a>
docs: fix typos across the docs (<a
href="https://redirect.github.com/eslint/eslint/issues/20182">#20182</a>)
(루밀LuMir)</li>
<li><a
href="42498a2798"><code>42498a2</code></a>
docs: improve ToC accessibility by hiding non-semantic character (<a
href="https://redirect.github.com/eslint/eslint/issues/20181">#20181</a>)
(Percy Ma)</li>
<li><a
href="29ea092b93"><code>29ea092</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="5c97a04578"><code>5c97a04</code></a>
docs: show <code>availableUntil</code> in deprecated rule banner (<a
href="https://redirect.github.com/eslint/eslint/issues/20170">#20170</a>)
(Pixel998)</li>
<li><a
href="90a71bf502"><code>90a71bf</code></a>
docs: update <code>README</code> files to add badge and instructions (<a
href="https://redirect.github.com/eslint/eslint/issues/20115">#20115</a>)
(루밀LuMir)</li>
<li><a
href="1603ae1526"><code>1603ae1</code></a>
docs: update references from <code>master</code> to <code>main</code>
(<a
href="https://redirect.github.com/eslint/eslint/issues/20153">#20153</a>)
(루밀LuMir)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="afe8a13469"><code>afe8a13</code></a>
chore: update <code>@eslint/js</code> dependency to version 9.37.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20183">#20183</a>)
(Francesco Trotta)</li>
<li><a
href="abee4ca1fa"><code>abee4ca</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="fc9381f6ca"><code>fc9381f</code></a>
chore: fix typos in comments (<a
href="https://redirect.github.com/eslint/eslint/issues/20175">#20175</a>)
(overlookmotel)</li>
<li><a
href="e1574a22d3"><code>e1574a2</code></a>
chore: unpin jiti (<a
href="https://redirect.github.com/eslint/eslint/issues/20173">#20173</a>)
(renovate[bot])</li>
<li><a
href="e1ac05e2fa"><code>e1ac05e</code></a>
refactor: mark <code>ESLint.findConfigFile()</code> as
<code>async</code>, add missing docs (<a
href="https://redirect.github.com/eslint/eslint/issues/20157">#20157</a>)
(Pixel998)</li>
<li><a
href="347906d627"><code>347906d</code></a>
chore: update eslint (<a
href="https://redirect.github.com/eslint/eslint/issues/20149">#20149</a>)
(renovate[bot])</li>
<li><a
href="0cb5897e24"><code>0cb5897</code></a>
test: remove tmp dir created for circular fixes in multithread mode test
(<a
href="https://redirect.github.com/eslint/eslint/issues/20146">#20146</a>)
(Milos Djermanovic)</li>
<li><a
href="bb995665e3"><code>bb99566</code></a>
ci: pin <code>jiti</code> to version 2.5.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/20151">#20151</a>)
(Pixel998)</li>
<li><a
href="177f669adc"><code>177f669</code></a>
perf: improve worker count calculation for <code>&quot;auto&quot;</code>
concurrency (<a
href="https://redirect.github.com/eslint/eslint/issues/20067">#20067</a>)
(Francesco Trotta)</li>
<li><a
href="448b57bca3"><code>448b57b</code></a>
chore: Mark deprecated formatting rules as available until v11.0.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20144">#20144</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d5d1bdf5fd"><code>d5d1bdf</code></a>
9.37.0</li>
<li><a
href="94865ff41c"><code>94865ff</code></a>
Build: changelog update for 9.37.0</li>
<li><a
href="afe8a13469"><code>afe8a13</code></a>
chore: update <code>@eslint/js</code> dependency to version 9.37.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20183">#20183</a>)</li>
<li><a
href="abee4ca1fa"><code>abee4ca</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="b950359c5f"><code>b950359</code></a>
docs: fix typos across the docs (<a
href="https://redirect.github.com/eslint/eslint/issues/20182">#20182</a>)</li>
<li><a
href="42498a2798"><code>42498a2</code></a>
docs: improve ToC accessibility by hiding non-semantic character (<a
href="https://redirect.github.com/eslint/eslint/issues/20181">#20181</a>)</li>
<li><a
href="fc9381f6ca"><code>fc9381f</code></a>
chore: fix typos in comments (<a
href="https://redirect.github.com/eslint/eslint/issues/20175">#20175</a>)</li>
<li><a
href="e1574a22d3"><code>e1574a2</code></a>
chore: unpin jiti (<a
href="https://redirect.github.com/eslint/eslint/issues/20173">#20173</a>)</li>
<li><a
href="29ea092b93"><code>29ea092</code></a>
docs: Update README</li>
<li><a
href="a129cced7a"><code>a129cce</code></a>
fix: correct <code>no-loss-of-precision</code> false positives for
leading zeros (<a
href="https://redirect.github.com/eslint/eslint/issues/20164">#20164</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v9.36.0...v9.37.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=9.36.0&new-version=9.37.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 11:49:18 +00:00
dependabot[bot]
79ff3e838a chore(deps-dev): Bump @types/wicg-file-system-access from 2023.10.6 to 2023.10.7 (#1427)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/wicg-file-system-access&package-manager=npm_and_yarn&previous-version=2023.10.6&new-version=2023.10.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 13:44:36 +00:00
Harel M
39d63ec7b1 Add code editor for maputnik (#1426)
## Launch Checklist

This PR adds the ability to look at the entire style and edit it in a
code editor that supports syntax highlight, errors, search and more.

- Resolves #820

CC: @Kanahiro as I know you did something similar, probably has better
performance...

After:
<img width="1920" height="937" alt="image"
src="https://github.com/user-attachments/assets/f925cf92-2623-4390-8f75-14d7f6a79171"
/>


 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-10-05 16:38:03 +03:00
dependabot[bot]
454d8d8b10 chore(deps): Bump react and @types/react (#1419)
Bumps
[react](https://github.com/facebook/react/tree/HEAD/packages/react) and
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).
These dependencies needed to be updated together.
Updates `react` from 19.1.1 to 19.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/releases">react's
releases</a>.</em></p>
<blockquote>
<h2>19.2.0 (Oct 1, 2025)</h2>
<p>Below is a list of all new features, APIs, and bug fixes.</p>
<p>Read the <a href="https://react.dev/blog/2025/10/01/react-19-2">React
19.2 release post</a> for more information.</p>
<h2>New React Features</h2>
<ul>
<li><a
href="https://react.dev/reference/react/Activity"><code>&lt;Activity&gt;</code></a>:
A new API to hide and restore the UI and internal state of its
children.</li>
<li><a
href="https://react.dev/reference/react/useEffectEvent"><code>useEffectEvent</code></a>
is a React Hook that lets you extract non-reactive logic into an <a
href="https://react.dev/learn/separating-events-from-effects#declaring-an-effect-event">Effect
Event</a>.</li>
<li><a
href="https://react.dev/reference/react/cacheSignal"><code>cacheSignal</code></a>
(for RSCs) lets your know when the <code>cache()</code> lifetime is
over.</li>
<li><a
href="https://react.dev/reference/developer-tooling/react-performance-tracks">React
Performance tracks</a> appear on the Performance panel’s timeline in
your browser developer tools</li>
</ul>
<h2>New React DOM Features</h2>
<ul>
<li>Added resume APIs for partial pre-rendering with Web Streams:
<ul>
<li><a
href="https://react.dev/reference/react-dom/server/resume"><code>resume</code></a>:
to resume a prerender to a stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerender"><code>resumeAndPrerender</code></a>:
to resume a prerender to HTML.</li>
</ul>
</li>
<li>Added resume APIs for partial pre-rendering with Node Streams:
<ul>
<li><a
href="https://react.dev/reference/react-dom/server/resumeToPipeableStream"><code>resumeToPipeableStream</code></a>:
to resume a prerender to a stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerenderToNodeStream"><code>resumeAndPrerenderToNodeStream</code></a>:
to resume a prerender to HTML.</li>
</ul>
</li>
<li>Updated <a
href="https://react.dev/reference/react-dom/static/prerender"><code>prerender</code></a>
APIs to return a <code>postponed</code> state that can be passed to the
<code>resume</code> APIs.</li>
</ul>
<h2>Notable changes</h2>
<ul>
<li>React DOM now batches suspense boundary reveals, matching the
behavior of client side rendering. This change is especially noticeable
when animating the reveal of Suspense boundaries e.g. with the upcoming
<code>&lt;ViewTransition&gt;</code> Component. React will batch as much
reveals as possible before the first paint while trying to hit popular
first-contentful paint metrics.</li>
<li>Add Node Web Streams (<code>prerender</code>,
<code>renderToReadableStream</code>) to server-side-rendering APIs for
Node.js</li>
<li>Use underscore instead of <code>:</code> IDs generated by useId</li>
</ul>
<h2>All Changes</h2>
<h3>React</h3>
<ul>
<li><code>&lt;Activity /&gt;</code> was developed over many years,
starting before <code>ClassComponent.setState</code> (<a
href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> and
many others)</li>
<li>Stringify context as &quot;SomeContext&quot; instead of
&quot;SomeContext.Provider&quot; (<a
href="https://github.com/kassens"><code>@​kassens</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33507">#33507</a>)</li>
<li>Include stack of cause of React instrumentation errors with
<code>%o</code> placeholder (<a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34198">#34198</a>)</li>
<li>Fix infinite <code>useDeferredValue</code> loop in popstate event
(<a href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32821">#32821</a>)</li>
<li>Fix a bug when an initial value was passed to
<code>useDeferredValue</code> (<a
href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34376">#34376</a>)</li>
<li>Fix a crash when submitting forms with Client Actions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33055">#33055</a>)</li>
<li>Hide/unhide the content of dehydrated suspense boundaries if they
resuspend (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32900">#32900</a>)</li>
<li>Avoid stack overflow on wide trees during Hot Reload (<a
href="https://github.com/sophiebits"><code>@​sophiebits</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34145">#34145</a>)</li>
<li>Improve Owner and Component stacks in various places (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a>, <a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a>: <a
href="https://redirect.github.com/facebook/react/pull/33629">#33629</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33724">#33724</a>,
<a
href="https://redirect.github.com/facebook/react/pull/32735">#32735</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33723">#33723</a>)</li>
<li>Add <code>cacheSignal</code> (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33557">#33557</a>)</li>
</ul>
<h3>React DOM</h3>
<ul>
<li>Block on Suspensey Fonts during reveal of server-side-rendered
content (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33342">#33342</a>)</li>
<li>Use underscore instead of <code>:</code> for IDs generated by
<code>useId</code> (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a>, <a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a>: <a
href="https://redirect.github.com/facebook/react/pull/32001">#32001</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33342">facebook/react#33342</a><a
href="https://redirect.github.com/facebook/react/pull/33099">#33099</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33422">#33422</a>)</li>
<li>Stop warning when ARIA 1.3 attributes are used (<a
href="https://github.com/Abdul-Omira"><code>@​Abdul-Omira</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34264">#34264</a>)</li>
<li>Allow <code>nonce</code> to be used on hoistable styles (<a
href="https://github.com/Andarist"><code>@​Andarist</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32461">#32461</a>)</li>
<li>Warn for using a React owned node as a Container if it also has text
content (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32774">#32774</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/CHANGELOG.md">react's
changelog</a>.</em></p>
<blockquote>
<h2>19.2.0 (October 1st, 2025)</h2>
<p>Below is a list of all new features, APIs, and bug fixes.</p>
<p>Read the <a href="https://react.dev/blog/2025/10/01/react-19-2">React
19.2 release post</a> for more information.</p>
<h3>New React Features</h3>
<ul>
<li><a
href="https://react.dev/reference/react/Activity"><code>&lt;Activity&gt;</code></a>:
A new API to hide and restore the UI and internal state of its
children.</li>
<li><a
href="https://react.dev/reference/react/useEffectEvent"><code>useEffectEvent</code></a>
is a React Hook that lets you extract non-reactive logic into an <a
href="https://react.dev/learn/separating-events-from-effects#declaring-an-effect-event">Effect
Event</a>.</li>
<li><a
href="https://react.dev/reference/react/cacheSignal"><code>cacheSignal</code></a>
(for RSCs) lets your know when the <code>cache()</code> lifetime is
over.</li>
<li><a
href="https://react.dev/reference/developer-tooling/react-performance-tracks">React
Performance tracks</a> appear on the Performance panel’s timeline in
your browser developer tools</li>
</ul>
<h3>New React DOM Features</h3>
<ul>
<li>Added resume APIs for partial pre-rendering with Web Streams:
<ul>
<li><a
href="https://react.dev/reference/react-dom/server/resume"><code>resume</code></a>:
to resume a prerender to a stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerender"><code>resumeAndPrerender</code></a>:
to resume a prerender to HTML.</li>
</ul>
</li>
<li>Added resume APIs for partial pre-rendering with Node Streams:
<ul>
<li><a
href="https://react.dev/reference/react-dom/server/resumeToPipeableStream"><code>resumeToPipeableStream</code></a>:
to resume a prerender to a stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerenderToNodeStream"><code>resumeAndPrerenderToNodeStream</code></a>:
to resume a prerender to HTML.</li>
</ul>
</li>
<li>Updated <a
href="https://react.dev/reference/react-dom/static/prerender"><code>prerender</code></a>
APIs to return a <code>postponed</code> state that can be passed to the
<code>resume</code> APIs.</li>
</ul>
<h3>Notable changes</h3>
<ul>
<li>React DOM now batches suspense boundary reveals, matching the
behavior of client side rendering. This change is especially noticeable
when animating the reveal of Suspense boundaries e.g. with the upcoming
<code>&lt;ViewTransition&gt;</code> Component. React will batch as much
reveals as possible before the first paint while trying to hit popular
first-contentful paint metrics.</li>
<li>Add Node Web Streams (<code>prerender</code>,
<code>renderToReadableStream</code>) to server-side-rendering APIs for
Node.js</li>
<li>Use underscore instead of <code>:</code> IDs generated by useId</li>
</ul>
<h3>All Changes</h3>
<h4>React</h4>
<ul>
<li><code>&lt;Activity /&gt;</code> was developed over many years,
starting before <code>ClassComponent.setState</code> (<a
href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> and
many others)</li>
<li>Stringify context as &quot;SomeContext&quot; instead of
&quot;SomeContext.Provider&quot; (<a
href="https://github.com/kassens"><code>@​kassens</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33507">#33507</a>)</li>
<li>Include stack of cause of React instrumentation errors with
<code>%o</code> placeholder (<a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34198">#34198</a>)</li>
<li>Fix infinite <code>useDeferredValue</code> loop in popstate event
(<a href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32821">#32821</a>)</li>
<li>Fix a bug when an initial value was passed to
<code>useDeferredValue</code> (<a
href="https://github.com/acdlite"><code>@​acdlite</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34376">#34376</a>)</li>
<li>Fix a crash when submitting forms with Client Actions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33055">#33055</a>)</li>
<li>Hide/unhide the content of dehydrated suspense boundaries if they
resuspend (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32900">#32900</a>)</li>
<li>Avoid stack overflow on wide trees during Hot Reload (<a
href="https://github.com/sophiebits"><code>@​sophiebits</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34145">#34145</a>)</li>
<li>Improve Owner and Component stacks in various places (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a>, <a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a>: <a
href="https://redirect.github.com/facebook/react/pull/33629">#33629</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33724">#33724</a>,
<a
href="https://redirect.github.com/facebook/react/pull/32735">#32735</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33723">#33723</a>)</li>
<li>Add <code>cacheSignal</code> (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33557">#33557</a>)</li>
</ul>
<h4>React DOM</h4>
<ul>
<li>Block on Suspensey Fonts during reveal of server-side-rendered
content (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/33342">#33342</a>)</li>
<li>Use underscore instead of <code>:</code> for IDs generated by
<code>useId</code> (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a>, <a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a>: <a
href="https://redirect.github.com/facebook/react/pull/32001">#32001</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33342">facebook/react#33342</a><a
href="https://redirect.github.com/facebook/react/pull/33099">#33099</a>,
<a
href="https://redirect.github.com/facebook/react/pull/33422">#33422</a>)</li>
<li>Stop warning when ARIA 1.3 attributes are used (<a
href="https://github.com/Abdul-Omira"><code>@​Abdul-Omira</code></a> <a
href="https://redirect.github.com/facebook/react/pull/34264">#34264</a>)</li>
<li>Allow <code>nonce</code> to be used on hoistable styles (<a
href="https://github.com/Andarist"><code>@​Andarist</code></a> <a
href="https://redirect.github.com/facebook/react/pull/32461">#32461</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5667a41fe4"><code>5667a41</code></a>
Bump next prerelease version numbers (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34639">#34639</a>)</li>
<li><a
href="8bb7241f4c"><code>8bb7241</code></a>
Bump useEffectEvent to Canary (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34610">#34610</a>)</li>
<li><a
href="e3c9656d20"><code>e3c9656</code></a>
Ensure Performance Track are Clamped and Don't overlap (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34509">#34509</a>)</li>
<li><a
href="68f00c901c"><code>68f00c9</code></a>
Release Activity in Canary (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34374">#34374</a>)</li>
<li><a
href="0e10ee906e"><code>0e10ee9</code></a>
[Reconciler] Set ProfileMode for Host Root Fiber by default in dev (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34432">#34432</a>)</li>
<li><a
href="3bf8ab430e"><code>3bf8ab4</code></a>
Add missing Activity export to development mode (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34439">#34439</a>)</li>
<li><a
href="1549bda33f"><code>1549bda</code></a>
[Flight] Only assign <code>_store</code> in dev mode when creating lazy
types (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34354">#34354</a>)</li>
<li><a
href="bb6f0c8d2f"><code>bb6f0c8</code></a>
[Flight] Fix wrong missing key warning when static child is blocked (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34350">#34350</a>)</li>
<li><a
href="05addfc663"><code>05addfc</code></a>
Update Flow to 0.266 (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34271">#34271</a>)</li>
<li><a
href="ec5dd0ab3a"><code>ec5dd0a</code></a>
Update Flow to 0.257 (<a
href="https://github.com/facebook/react/tree/HEAD/packages/react/issues/34253">#34253</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/react/commits/v19.2.0/packages/react">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/react` from 19.1.16 to 19.2.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarelM <harel.mazor@gmail.com>
2025-10-05 10:11:35 +00:00
dependabot[bot]
822a2b7701 chore(deps): Bump @codemirror/lint from 6.8.5 to 6.9.0 (#1421)
Bumps [@codemirror/lint](https://github.com/codemirror/lint) from 6.8.5
to 6.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/lint/blob/main/CHANGELOG.md"><code>@​codemirror/lint</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.9.0 (2025-10-02)</h2>
<h3>Bug fixes</h3>
<p>Multiple configurations to <code>linter</code> will now be merged
without raising an error.</p>
<h3>New features</h3>
<p>The new <code>markClass</code> option to actions makes it possible to
style action buttons.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="73a454b87a"><code>73a454b</code></a>
Mark version 6.9.0</li>
<li><a
href="9bc40cb6f1"><code>9bc40cb</code></a>
Add merge logic for all config options</li>
<li><a
href="4f3adcfd4e"><code>4f3adcf</code></a>
Touch up doc comment</li>
<li><a
href="50bd1188fe"><code>50bd118</code></a>
Make it possible to include a button CSS class in lint actions.</li>
<li>See full diff in <a
href="https://github.com/codemirror/lint/compare/6.8.5...6.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/lint&package-manager=npm_and_yarn&previous-version=6.8.5&new-version=6.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-05 09:57:56 +00:00
dependabot[bot]
48cb4e6f37 chore(deps-dev): Bump eslint-plugin-react-hooks from 5.2.0 to 6.1.0 (#1418)
Bumps
[eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)
from 5.2.0 to 6.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's
changelog</a>.</em></p>
<blockquote>
<h2>6.1.0</h2>
<p><strong>Note:</strong> Version 6.0.0 was mistakenly released and
immediately deprecated and untagged on npm. This is the first official
6.x major release and includes breaking changes.</p>
<ul>
<li><strong>Breaking:</strong> Require Node.js 18 or newer. (<a
href="https://github.com/michaelfaith"><code>@​michaelfaith</code></a>
in <a
href="https://redirect.github.com/facebook/react/pull/32458">#32458</a>)</li>
<li><strong>Breaking:</strong> Flat config is now the default
<code>recommended</code> preset. Legacy config moved to
<code>recommended-legacy</code>. (<a
href="https://github.com/michaelfaith"><code>@​michaelfaith</code></a>
in <a
href="https://redirect.github.com/facebook/react/pull/32457">#32457</a>)</li>
<li><strong>New Violations:</strong> Disallow calling <code>use</code>
within try/catch blocks. (<a
href="https://github.com/poteto"><code>@​poteto</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34040">#34040</a>)</li>
<li><strong>New Violations:</strong> Disallow calling
<code>useEffectEvent</code> functions in arbitrary closures. (<a
href="https://github.com/jbrown215"><code>@​jbrown215</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/33544">#33544</a>)</li>
<li>Handle <code>React.useEffect</code> in addition to
<code>useEffect</code> in rules-of-hooks. (<a
href="https://github.com/Ayc0"><code>@​Ayc0</code></a> in <a
href="https://redirect.github.com/facebook/react/pull/34076">#34076</a>)</li>
<li>Added <code>react-hooks</code> settings config option that to accept
<code>additionalEffectHooks</code> that are used across exhaustive-deps
and rules-of-hooks rules. (<a
href="https://github.com/jbrown215"><code>@​jbrown215</code></a>) in <a
href="https://redirect.github.com/facebook/react/pull/34497">#34497</a></li>
</ul>
<h2>6.0.0</h2>
<p>Accidentally released. See 6.1.0 for the actual changes.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-hooks&package-manager=npm_and_yarn&previous-version=5.2.0&new-version=6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-05 09:57:30 +00:00
dependabot[bot]
5d75e0b131 chore(deps-dev): Bump typescript from 5.9.2 to 5.9.3 (#1416)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.2
to 5.9.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/TypeScript/releases">typescript's
releases</a>.</em></p>
<blockquote>
<h2>TypeScript 5.9.3</h2>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="31a0ead46d"><code>31a0ead</code></a>
Don't compare &quot;missing&quot; to <code>undefined</code> in
<code>compareProperties</code> under `exactOpt...</li>
<li><a
href="d4b15eb56d"><code>d4b15eb</code></a>
Enhance type argument completions (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62170">#62170</a>)</li>
<li><a
href="83ff20281e"><code>83ff202</code></a>
Bump the github-actions group across 1 directory with 2 updates (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62507">#62507</a>)</li>
<li><a
href="e350126ab9"><code>e350126</code></a>
Port <a
href="https://redirect.github.com/microsoft/typescript-go/issues/1764">microsoft/typescript-go#1764</a>
(<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62510">#62510</a>)</li>
<li><a
href="97610a8a63"><code>97610a8</code></a>
Port <a
href="https://redirect.github.com/microsoft/typescript-go/issues/1757">microsoft/typescript-go#1757</a>
(<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62501">#62501</a>)</li>
<li><a
href="1cd5309f7d"><code>1cd5309</code></a>
Port <a
href="https://redirect.github.com/microsoft/typescript-go/pull/1759">microsoft/typescript-go#1759</a>
(<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62502">#62502</a>)</li>
<li><a
href="5f183ad73d"><code>5f183ad</code></a>
Revert PR 61928 (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62423">#62423</a>)</li>
<li><a
href="6f6efb419a"><code>6f6efb4</code></a>
Disable conditional exports fallbacks on <code>null</code> values (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62483">#62483</a>)</li>
<li><a
href="96acaa5290"><code>96acaa5</code></a>
Remove no-default-lib (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62435">#62435</a>)</li>
<li><a
href="904e7dd97d"><code>904e7dd</code></a>
Enable <code>noUncheckedSideEffectImports</code> by default (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62443">#62443</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript&package-manager=npm_and_yarn&previous-version=5.9.2&new-version=5.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-05 09:55:47 +00:00
dependabot[bot]
7515ba38df chore(deps-dev): Bump stylelint from 16.24.0 to 16.25.0 (#1425)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.24.0
to 16.25.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/releases">stylelint's
releases</a>.</em></p>
<blockquote>
<h2>16.25.0</h2>
<p>It adds 3 new features, including experimental support for bulk
suppressions. It's also our first <a
href="https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview/">immutable
release</a>, with the package published to npm using <a
href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">trusted
publishing</a> and our dependencies updated on a <a
href="https://github.blog/changelog/2025-07-01-dependabot-supports-configuration-of-a-minimum-package-age/">cool
down</a> for improved supply chain security.</p>
<ul>
<li>Added: support for bulk suppressions (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8564">#8564</a>)
(<a
href="https://github.com/ryo-manba"><code>@​ryo-manba</code></a>).</li>
<li>Added: <code>ignoreAtRules: []</code> to
<code>no-invalid-position-declaration</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8781">#8781</a>)
(<a href="https://github.com/jrmlt"><code>@​jrmlt</code></a>).</li>
<li>Added: rule name to custom messages (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8774">#8774</a>)
(<a href="https://github.com/jhae-de"><code>@​jhae-de</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md">stylelint's
changelog</a>.</em></p>
<blockquote>
<h2>16.25.0 - 2025-10-03</h2>
<p>It adds 3 new features, including experimental support for bulk
suppressions. It's also our first <a
href="https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview/">immutable
release</a>, with the package published to npm using <a
href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">trusted
publishing</a> and our dependencies updated on a <a
href="https://github.blog/changelog/2025-07-01-dependabot-supports-configuration-of-a-minimum-package-age/">cool
down</a> for improved supply chain security.</p>
<ul>
<li>Added: support for bulk suppressions (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8564">#8564</a>)
(<a
href="https://github.com/ryo-manba"><code>@​ryo-manba</code></a>).</li>
<li>Added: <code>ignoreAtRules: []</code> to
<code>no-invalid-position-declaration</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8781">#8781</a>)
(<a href="https://github.com/jrmlt"><code>@​jrmlt</code></a>).</li>
<li>Added: rule name to custom messages (<a
href="https://redirect.github.com/stylelint/stylelint/pull/8774">#8774</a>)
(<a href="https://github.com/jhae-de"><code>@​jhae-de</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a6efacbd24"><code>a6efacb</code></a>
Release 16.25.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8796">#8796</a>)</li>
<li><a
href="9c623fb71b"><code>9c623fb</code></a>
Document new release workflow (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8793">#8793</a>)</li>
<li><a
href="f34b6b4d1e"><code>f34b6b4</code></a>
Fix <code>release-pr</code> workflow failure (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8794">#8794</a>)</li>
<li><a
href="acc163e289"><code>acc163e</code></a>
Use consistent workflow names (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8792">#8792</a>)</li>
<li><a
href="55de5ed49f"><code>55de5ed</code></a>
Use new release workflow (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8791">#8791</a>)</li>
<li><a
href="242f757a36"><code>242f757</code></a>
Add rule name to custom messages (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8774">#8774</a>)</li>
<li><a
href="9045b3e133"><code>9045b3e</code></a>
Bump rollup from 4.50.1 to 4.52.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8789">#8789</a>)</li>
<li><a
href="30abc78e86"><code>30abc78</code></a>
Bump eslint from 9.35.0 to 9.36.0 in the eslint group (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8786">#8786</a>)</li>
<li><a
href="808cff35c8"><code>808cff3</code></a>
Bump stylelint/changelog-to-github-release-action from 0.3.1 to 0.5.1
(<a
href="https://redirect.github.com/stylelint/stylelint/issues/8785">#8785</a>)</li>
<li><a
href="b478202a2f"><code>b478202</code></a>
Add <code>ignoreAtRules: []</code> to
<code>no-invalid-position-declaration</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/8781">#8781</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/stylelint/stylelint/compare/16.24.0...16.25.0">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 stylelint since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stylelint&package-manager=npm_and_yarn&previous-version=16.24.0&new-version=16.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03 13:17:36 +00:00
dependabot[bot]
f1a48a0821 chore(deps-dev): Bump vite from 7.1.8 to 7.1.9 (#1424)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.8 to 7.1.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.9</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.9/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.8...v7.1.9">7.1.9</a>
(2025-10-03)<!-- raw HTML omitted --></h2>
<h3>Reverts</h3>
<ul>
<li><strong>server:</strong> drain stdin when not interactive (<a
href="https://redirect.github.com/vitejs/vite/issues/20885">#20885</a>)
(<a
href="12d72b0538">12d72b0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="17e2517028"><code>17e2517</code></a>
release: v7.1.9</li>
<li><a
href="12d72b0538"><code>12d72b0</code></a>
revert(server): drain stdin when not interactive (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20885">#20885</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v7.1.9/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.8&new-version=7.1.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03 13:16:41 +00:00
dependabot[bot]
a2d124c36a chore(deps-dev): Bump eslint-plugin-react-refresh from 0.4.22 to 0.4.23 (#1423)
Bumps
[eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
from 0.4.22 to 0.4.23.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases">eslint-plugin-react-refresh's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.23</h2>
<ul>
<li>Add <code>&quot;metadata&quot;</code>,
<code>&quot;generateMetadata&quot;</code> &amp;
<code>&quot;generateViewport&quot;</code> to
<code>allowExportNames</code> in Next config</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md">eslint-plugin-react-refresh's
changelog</a>.</em></p>
<blockquote>
<h2>0.4.23</h2>
<ul>
<li>Add <code>&quot;metadata&quot;</code>,
<code>&quot;generateMetadata&quot;</code> &amp;
<code>&quot;generateViewport&quot;</code> to
<code>allowExportNames</code> in Next config</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1d436ffd5e"><code>1d436ff</code></a>
More allowExportNames in Next config (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/90">#90</a>)
[publish]</li>
<li>See full diff in <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.22...v0.4.23">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-refresh&package-manager=npm_and_yarn&previous-version=0.4.22&new-version=0.4.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-02 13:18:42 +00:00
dependabot[bot]
add967f98f chore(deps-dev): Bump vite from 7.1.7 to 7.1.8 (#1420)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.7 to 7.1.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.8</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.8/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.7...v7.1.8">7.1.8</a>
(2025-10-02)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> improve url escape characters handling (<a
href="https://redirect.github.com/vitejs/vite/issues/20847">#20847</a>)
(<a
href="24a61a3f54">24a61a3</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20855">#20855</a>)
(<a
href="788a183afc">788a183</a>)</li>
<li><strong>deps:</strong> update artichokie to 0.4.2 (<a
href="https://redirect.github.com/vitejs/vite/issues/20864">#20864</a>)
(<a
href="e670799e12">e670799</a>)</li>
<li><strong>dev:</strong> skip JS responses for document requests (<a
href="https://redirect.github.com/vitejs/vite/issues/20866">#20866</a>)
(<a
href="6bc6c4dbc2">6bc6c4d</a>)</li>
<li><strong>glob:</strong> fix HMR for array patterns with exclusions
(<a
href="https://redirect.github.com/vitejs/vite/issues/20872">#20872</a>)
(<a
href="63e040f1ca">63e040f</a>)</li>
<li>keep ids for virtual modules as-is (<a
href="https://redirect.github.com/vitejs/vite/issues/20808">#20808</a>)
(<a
href="d4eca986d6">d4eca98</a>)</li>
<li><strong>server:</strong> drain stdin when not interactive (<a
href="https://redirect.github.com/vitejs/vite/issues/20837">#20837</a>)
(<a
href="bb950e92b3">bb950e9</a>)</li>
<li><strong>server:</strong> improve malformed URL handling in
middlewares (<a
href="https://redirect.github.com/vitejs/vite/issues/20830">#20830</a>)
(<a
href="d65a9831c9">d65a983</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>create-vite:</strong> provide deno example (<a
href="https://redirect.github.com/vitejs/vite/issues/20747">#20747</a>)
(<a
href="fdb758a517">fdb758a</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20810">#20810</a>)
(<a
href="ea68a8868c">ea68a88</a>)</li>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20854">#20854</a>)
(<a
href="4dd06fdc8d">4dd06fd</a>)</li>
<li>update url of <code>create-react-app</code> license (<a
href="https://redirect.github.com/vitejs/vite/issues/20865">#20865</a>)
(<a
href="166a178f45">166a178</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8d12c8bb14"><code>8d12c8b</code></a>
release: v7.1.8</li>
<li><a
href="63e040f1ca"><code>63e040f</code></a>
fix(glob): fix HMR for array patterns with exclusions (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20872">#20872</a>)</li>
<li><a
href="24a61a3f54"><code>24a61a3</code></a>
fix(css): improve url escape characters handling (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20847">#20847</a>)</li>
<li><a
href="6bc6c4dbc2"><code>6bc6c4d</code></a>
fix(dev): skip JS responses for document requests (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20866">#20866</a>)</li>
<li><a
href="166a178f45"><code>166a178</code></a>
chore: update url of <code>create-react-app</code> license (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20865">#20865</a>)</li>
<li><a
href="d4eca986d6"><code>d4eca98</code></a>
fix: keep ids for virtual modules as-is (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20808">#20808</a>)</li>
<li><a
href="e670799e12"><code>e670799</code></a>
fix(deps): update artichokie to 0.4.2 (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20864">#20864</a>)</li>
<li><a
href="bb950e92b3"><code>bb950e9</code></a>
fix(server): drain stdin when not interactive (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20837">#20837</a>)</li>
<li><a
href="788a183afc"><code>788a183</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20855">#20855</a>)</li>
<li><a
href="4dd06fdc8d"><code>4dd06fd</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20854">#20854</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v7.1.8/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.7&new-version=7.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-02 13:18:11 +00:00
dependabot[bot]
6f5802129c chore(deps): Bump i18next from 25.5.2 to 25.5.3 (#1417)
Bumps [i18next](https://github.com/i18next/i18next) from 25.5.2 to
25.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v25.5.3</h2>
<ul>
<li>export esm type declaration for keyFromSelector <a
href="https://redirect.github.com/i18next/i18next/pull/2356">2356</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>25.5.3</h2>
<ul>
<li>export esm type declaration for keyFromSelector <a
href="https://redirect.github.com/i18next/i18next/pull/2356">2356</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="863dc0c8d8"><code>863dc0c</code></a>
25.5.3</li>
<li><a
href="c8cc71797f"><code>c8cc717</code></a>
changelog</li>
<li><a
href="349b70cf96"><code>349b70c</code></a>
fix: export esm type declaration for <code>keyFromSelector</code> (<a
href="https://redirect.github.com/i18next/i18next/issues/2356">#2356</a>)</li>
<li>See full diff in <a
href="https://github.com/i18next/i18next/compare/v25.5.2...v25.5.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=25.5.2&new-version=25.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-01 13:23:50 +00:00
dependabot[bot]
b5ff6304bf chore(deps-dev): Bump typescript-eslint from 8.44.1 to 8.45.0 (#1415)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.44.1 to 8.45.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.45.0</h2>
<h2>8.45.0 (2025-09-29)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> expose rule name via RuleModule
interface (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11616">#11616</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>disable generating declaration maps (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11627">#11627</a>)</li>
<li><strong>ast-spec:</strong> narrow ArrowFunctionExpression.generator
to false (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11636">#11636</a>)</li>
<li><strong>eslint-plugin:</strong> [no-base-to-string] check if
superclass is ignored (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11617">#11617</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-nullish-coalescing]
ignoreBooleanCoercion should not apply to top-level ternary expressions
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11614">#11614</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Bjorn Lu</li>
<li>Josh Goldberg </li>
<li>mdm317</li>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@​thebolarin</code></a></li>
<li>Yukihiro Hasegawa <a
href="https://github.com/y-hsgw"><code>@​y-hsgw</code></a></li>
</ul>
<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.45.0 (2025-09-29)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="255e9e274b"><code>255e9e2</code></a>
chore(release): publish 8.45.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.45.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.44.1&new-version=8.45.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 13:19:38 +00:00
dependabot[bot]
2eec8d2fc3 chore(deps): Bump maplibre-gl from 5.7.3 to 5.8.0 (#1414)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.7.3 to 5.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.8.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.7.3...v5.8.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.3">MapLibre
GL JS v5.7.3</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Enable documentation admonitions in Material for MkDocs. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6455">#6455</a>)</li>
<li>Switch MapEventType from type to interface to allow declaration
merging (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6436">#6436</a>)</li>
<li>Implement data-driven styling support for
<code>line-dasharray</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/5812">#5812</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix raster flickering when using terrain 3D and optimize terrain
logic.</li>
<li>Fix issue where parent tiles are retained when deeper descendant
tiles already cover the missing ideal tile. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6442">#6442</a>)</li>
<li>Fix an issue when GeolocateControl fires outofmaxbounds event with
trackUserLocation disabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6464">#6464</a>)</li>
<li>Fix an issue with globe+terrain &quot;zooming&quot; in when dragging
towards the poles (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6470">#6470</a>)</li>
<li>Fix integer overflow in symbol placement (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6476">#6476</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.8.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Enable documentation admonitions in Material for MkDocs. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6455">#6455</a>)</li>
<li>Switch MapEventType from type to interface to allow declaration
merging (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6436">#6436</a>)</li>
<li>Implement data-driven styling support for
<code>line-dasharray</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/5812">#5812</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix raster flickering when using terrain 3D and optimize terrain
logic.</li>
<li>Fix issue where parent tiles are retained when deeper descendant
tiles already cover the missing ideal tile. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6442">#6442</a>)</li>
<li>Fix an issue when GeolocateControl fires outofmaxbounds event with
trackUserLocation disabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6464">#6464</a>)</li>
<li>Fix an issue with globe+terrain &quot;zooming&quot; in when dragging
towards the poles (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6470">#6470</a>)</li>
<li>Fix integer overflow in symbol placement (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6476">#6476</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f71040d141"><code>f71040d</code></a>
Bump version to 5.8.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6480">#6480</a>)</li>
<li><a
href="30caaeda35"><code>30caaed</code></a>
Switch <code>MapEventType</code> from type to interface to allow
declaration merging (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6">#6</a>...</li>
<li><a
href="2bf105abff"><code>2bf105a</code></a>
chore(deps-dev): bump eslint from 9.35.0 to 9.36.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6452">#6452</a>)</li>
<li><a
href="18aee5b615"><code>18aee5b</code></a>
Fix negative index due to integer overflow in symbol placement (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6476">#6476</a>)</li>
<li><a
href="99a1a6f7f9"><code>99a1a6f</code></a>
chore(deps-dev): bump <code>@​types/react</code> from 19.1.13 to 19.1.14
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6477">#6477</a>)</li>
<li><a
href="48182a52bc"><code>48182a5</code></a>
chore(deps): bump github/codeql-action from 3.30.3 to 3.30.5 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6479">#6479</a>)</li>
<li><a
href="11ffeb6092"><code>11ffeb6</code></a>
chore(deps-dev): bump rollup from 4.52.2 to 4.52.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6478">#6478</a>)</li>
<li><a
href="3f804b8abe"><code>3f804b8</code></a>
chore(deps-dev): bump pretty-bytes from 7.0.1 to 7.1.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6456">#6456</a>)</li>
<li><a
href="52c14c26af"><code>52c14c2</code></a>
chore(deps-dev): bump <code>@​vitest/eslint-plugin</code> in the vitest
group (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6475">#6475</a>)</li>
<li><a
href="1af195e1d7"><code>1af195e</code></a>
chore(deps-dev): bump puppeteer from 24.22.0 to 24.22.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6474">#6474</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.7.3...v5.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.7.3&new-version=5.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 13:19:01 +00:00
dependabot[bot]
dd6a11b8c6 chore(deps-dev): Bump @types/react from 19.1.13 to 19.1.16 (#1413)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.1.13 to 19.1.16.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.1.13&new-version=19.1.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 13:18:57 +00:00
dependabot[bot]
4f5d9ad007 chore(deps): Bump @codemirror/view from 6.38.3 to 6.38.4 (#1411)
Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.38.3
to 6.38.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/view/blob/main/CHANGELOG.md"><code>@​codemirror/view</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.38.4 (2025-09-28)</h2>
<h3>Bug fixes</h3>
<p>Work around a Chrome Android issue where the browser doesn't properly
fire composition end events, leaving CodeMirror to believe the user was
still composing.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3ff511db56"><code>3ff511d</code></a>
Mark version 6.38.4</li>
<li><a
href="32b21c2c35"><code>32b21c2</code></a>
Handle future change in EditContext text format string values</li>
<li><a
href="5559e0052d"><code>5559e00</code></a>
Work around lack of compositionend events in EditContext on Android</li>
<li>See full diff in <a
href="https://github.com/codemirror/view/compare/6.38.3...6.38.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.38.3&new-version=6.38.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 18:22:28 +00:00
dependabot[bot]
ec46eab98c chore(deps): Bump @maplibre/maplibre-gl-geocoder from 1.9.0 to 1.9.1 (#1410)
Bumps
[@maplibre/maplibre-gl-geocoder](https://github.com/maplibre/maplibre-gl-geocoder)
from 1.9.0 to 1.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-geocoder/releases"><code>@​maplibre/maplibre-gl-geocoder</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.9.1</h2>
<h3><a
href="https://github.com/maplibre/maplibre-gl-geocoder/compare/v1.9.0...v1.9.1">1.9.1</a>
(2025-09-27)</h3>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-geocoder/blob/main/CHANGELOG.md"><code>@​maplibre/maplibre-gl-geocoder</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>1.9.1</h2>
<h3>Features / Improvements 🚀</h3>
<ul>
<li>Add localization for French <a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/pull/412">maplibre/maplibre-gl-geocoder#412</a></li>
<li>Fix mobile Chrome search by changing input type <a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/pull/447">maplibre/maplibre-gl-geocoder#447</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5d8239dbb4"><code>5d8239d</code></a>
Bump version to 1.9.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/448">#448</a>)</li>
<li><a
href="b1c6862c78"><code>b1c6862</code></a>
chore(deps-dev): bump rollup from 4.50.1 to 4.52.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/441">#441</a>)</li>
<li><a
href="4ceabb1efd"><code>4ceabb1</code></a>
chore(deps-dev): bump typescript-eslint from 8.43.0 to 8.44.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/440">#440</a>)</li>
<li><a
href="e5dfad2576"><code>e5dfad2</code></a>
chore(deps-dev): bump typedoc from 0.28.12 to 0.28.13 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/436">#436</a>)</li>
<li><a
href="11896f7fa4"><code>11896f7</code></a>
chore(deps-dev): bump maplibre-gl from 5.7.1 to 5.7.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/443">#443</a>)</li>
<li><a
href="bd4cc5004d"><code>bd4cc50</code></a>
chore(deps-dev): bump puppeteer from 24.19.0 to 24.22.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/444">#444</a>)</li>
<li><a
href="8ef0c72351"><code>8ef0c72</code></a>
Change input element type from text to search (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/447">#447</a>)</li>
<li><a
href="66fa849671"><code>66fa849</code></a>
chore(deps-dev): bump tar-fs from 3.1.0 to 3.1.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/445">#445</a>)</li>
<li><a
href="aa87bcb098"><code>aa87bcb</code></a>
chore(deps-dev): bump eslint from 9.35.0 to 9.36.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/439">#439</a>)</li>
<li><a
href="de8ebd536e"><code>de8ebd5</code></a>
chore(deps-dev): bump typescript-eslint from 8.42.0 to 8.43.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-geocoder/issues/435">#435</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-geocoder/compare/v1.9.0...v1.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-geocoder&package-manager=npm_and_yarn&previous-version=1.9.0&new-version=1.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 18:16:40 +00:00
dependabot[bot]
cff5f3ac0d chore(deps-dev): Bump stylelint-config-recommended-scss from 16.0.1 to 16.0.2 (#1409)
Bumps
[stylelint-config-recommended-scss](https://github.com/stylelint-scss/stylelint-config-recommended-scss)
from 16.0.1 to 16.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/releases">stylelint-config-recommended-scss's
releases</a>.</em></p>
<blockquote>
<h2>16.0.2</h2>
<ul>
<li>Removed: <code>stylelint</code> less than <code>16.24.0</code> from
peer dependencies. Fixes incorrect minimum peer dependency version.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/blob/master/CHANGELOG.md">stylelint-config-recommended-scss's
changelog</a>.</em></p>
<blockquote>
<h1>16.0.2</h1>
<ul>
<li>Removed: <code>stylelint</code> less than <code>16.24.0</code> from
peer dependencies. Fixes incorrect minimum peer dependency version.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7f3fe7130f"><code>7f3fe71</code></a>
16.0.2</li>
<li><a
href="2b8ff0c3b4"><code>2b8ff0c</code></a>
Prepare 16.0.2</li>
<li><a
href="2e8b4b64b7"><code>2e8b4b6</code></a>
Bump eslint from 9.35.0 to 9.36.0 (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/371">#371</a>)</li>
<li><a
href="94d6fd331b"><code>94d6fd3</code></a>
Bump stylelint peer dep to 16.24.0 (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/370">#370</a>)</li>
<li>See full diff in <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/compare/v16.0.1...v16.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stylelint-config-recommended-scss&package-manager=npm_and_yarn&previous-version=16.0.1&new-version=16.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 18:16:09 +00:00
dependabot[bot]
5942fff42f chore(deps): Bump @maplibre/maplibre-gl-style-spec from 24.1.1 to 24.2.0 (#1408)
Bumps
[@maplibre/maplibre-gl-style-spec](https://github.com/maplibre/maplibre-gl-style-spec)
from 24.1.1 to 24.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases"><code>@​maplibre/maplibre-gl-style-spec</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v24.2.0</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-style-spec">https://github.com/maplibre/maplibre-gl-style-spec</a>
<a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.1.1...v24.2.0">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-style-spec/releases/tag/v24.1.1">MapLibre
Style Spec v24.1.1</a>:</p>
<h3> Features and improvements</h3>
<ul>
<li>Add note regarding visual artifacts that can appear with large
width/size/offset values on vector tile layers, highlight remediation
options (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/4160">#4160</a>)</li>
<li>Implement data-driven styling support for
<code>line-dasharray</code> (<a
href="https://redirect.github.com/mapbox/mapbox-gl-js/pull/5812">#5812</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Replace additional spread operator (<code>...</code>) due to esbuild
limitations (<a
href="https://redirect.github.com/maplibre/maplibre-style-spec/pull/1297">#1297</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-style-spec/blob/main/CHANGELOG.md"><code>@​maplibre/maplibre-gl-style-spec</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>24.2.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add note regarding visual artifacts that can appear with large
width/size/offset values on vector tile layers, highlight remediation
options (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/4160">#4160</a>)</li>
<li>Implement data-driven styling support for
<code>line-dasharray</code> (<a
href="https://redirect.github.com/mapbox/mapbox-gl-js/pull/5812">#5812</a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Replace additional spread operator (<code>...</code>) due to esbuild
limitations (<a
href="https://redirect.github.com/maplibre/maplibre-style-spec/pull/1297">#1297</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1768c7b069"><code>1768c7b</code></a>
Bump version to 24.2.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1298">#1298</a>)</li>
<li><a
href="c3db60c35e"><code>c3db60c</code></a>
Allow data-driven styling for line-dasharray (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1100">#1100</a>)</li>
<li><a
href="5f3539929f"><code>5f35399</code></a>
build(deps-dev): bump <code>@​types/node</code> from 24.4.0 to 24.5.2
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1294">#1294</a>)</li>
<li><a
href="6f79c57f37"><code>6f79c57</code></a>
build(deps-dev): bump eslint from 9.35.0 to 9.36.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1292">#1292</a>)</li>
<li><a
href="67b116ca09"><code>67b116c</code></a>
Replace additional spread operator usage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1297">#1297</a>)</li>
<li><a
href="8dc8c060f2"><code>8dc8c06</code></a>
Document vector tile visual artifacts and remediations (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1296">#1296</a>)</li>
<li><a
href="e6e5f6efd2"><code>e6e5f6e</code></a>
build(deps-dev): bump <code>@​stylistic/eslint-plugin</code> from 5.3.1
to 5.4.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1289">#1289</a>)</li>
<li><a
href="ee757fba36"><code>ee757fb</code></a>
build(deps-dev): bump eslint-plugin-jsdoc from 57.0.8 to 60.1.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1293">#1293</a>)</li>
<li><a
href="66d21dbcf8"><code>66d21db</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1291">#1291</a>)</li>
<li><a
href="5b3b95c676"><code>5b3b95c</code></a>
build(deps-dev): bump rollup from 4.50.1 to 4.52.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-style-spec/issues/1290">#1290</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-style-spec/compare/v24.1.1...v24.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@maplibre/maplibre-gl-style-spec&package-manager=npm_and_yarn&previous-version=24.1.1&new-version=24.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 17:57:16 +00:00
dependabot[bot]
d48d4ed0e9 chore(deps-dev): Bump @vitejs/plugin-react from 5.0.3 to 5.0.4 (#1407)
Bumps
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
from 5.0.3 to 5.0.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@​vitejs/plugin-react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@5.0.4</h2>
<h3>Perf: use native refresh wrapper plugin in rolldown-vite (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/881">#881</a>)</h3>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@​vitejs/plugin-react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>5.0.4 (2025-09-27)</h2>
<h3>Perf: use native refresh wrapper plugin in rolldown-vite (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/881">#881</a>)</h3>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="450d7df80a"><code>450d7df</code></a>
release: plugin-react@5.0.4</li>
<li><a
href="86388455a0"><code>8638845</code></a>
feat(react): full bundle mode compat (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/882">#882</a>)</li>
<li><a
href="bd1487d9a1"><code>bd1487d</code></a>
perf(react): use native refresh wrapper plugin in rolldown-vite (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/881">#881</a>)</li>
<li><a
href="80df894c78"><code>80df894</code></a>
docs: remove <code>disableOxcRecommendation</code> from plugin-react
readme (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/880">#880</a>)</li>
<li><a
href="608f266c8d"><code>608f266</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/879">#879</a>)</li>
<li><a
href="3c2ebf89de"><code>3c2ebf8</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/851">#851</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.0.4/packages/plugin-react">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>@​vitejs/plugin-react</code> since
your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@vitejs/plugin-react&package-manager=npm_and_yarn&previous-version=5.0.3&new-version=5.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 17:21:28 +00:00
dependabot[bot]
a5d8f151f6 chore(deps-dev): Bump sass from 1.93.1 to 1.93.2 (#1403)
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.1 to 1.93.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/releases">sass's
releases</a>.</em></p>
<blockquote>
<h2>Dart Sass 1.93.2</h2>
<p>To install Sass 1.93.2, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<ul>
<li>No user-visible changes.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Fix another error in the release process for
<code>@sass/types</code>.</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1932">full
changelog</a> for changes in earlier releases.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/blob/main/CHANGELOG.md">sass's
changelog</a>.</em></p>
<blockquote>
<h2>1.93.2</h2>
<ul>
<li>No user-visible changes.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Fix another error in the release process for
<code>@sass/types</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b8b35e8157"><code>b8b35e8</code></a>
Mark <code>@​sass/types</code> as public (<a
href="https://redirect.github.com/sass/dart-sass/issues/2653">#2653</a>)</li>
<li>See full diff in <a
href="https://github.com/sass/dart-sass/compare/1.93.1...1.93.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sass&package-manager=npm_and_yarn&previous-version=1.93.1&new-version=1.93.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:40:25 +00:00
dependabot[bot]
b832ad5eb6 chore(deps): Bump react-i18next from 15.7.3 to 16.0.0 (#1405)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from
15.7.3 to 16.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md">react-i18next's
changelog</a>.</em></p>
<blockquote>
<h3>16.0.0</h3>
<ul>
<li>major upgrade i18next dep to address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1865">1865</a></li>
</ul>
<h3>15.7.4</h3>
<ul>
<li>downgrade i18next dep to address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1865">1865</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7ae85b07ce"><code>7ae85b0</code></a>
16.0.0</li>
<li><a
href="76753482ab"><code>7675348</code></a>
major upgrade i18next dep to address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1865">#1865</a></li>
<li><a
href="97b0791e96"><code>97b0791</code></a>
15.7.4</li>
<li><a
href="c069c02bb3"><code>c069c02</code></a>
downgrade i18next dep to address <a
href="https://redirect.github.com/i18next/react-i18next/issues/1865">#1865</a></li>
<li>See full diff in <a
href="https://github.com/i18next/react-i18next/compare/v15.7.3...v16.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=15.7.3&new-version=16.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:21:37 +00:00
dependabot[bot]
b6217743c6 chore(deps-dev): Bump eslint-plugin-react-refresh from 0.4.21 to 0.4.22 (#1406)
Bumps
[eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
from 0.4.21 to 0.4.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases">eslint-plugin-react-refresh's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.22</h2>
<ul>
<li>Add <code>&quot;viewport&quot;</code> to
<code>allowExportNames</code> in Next config (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/pull/89">#89</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md">eslint-plugin-react-refresh's
changelog</a>.</em></p>
<blockquote>
<h2>0.4.22</h2>
<ul>
<li>Add <code>&quot;viewport&quot;</code> to
<code>allowExportNames</code> in Next config (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/pull/89">#89</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3395dda35d"><code>3395dda</code></a>
v0.4.22 [publish]</li>
<li><a
href="2dadd5eb2f"><code>2dadd5e</code></a>
Bump deps</li>
<li><a
href="91f7ebc418"><code>91f7ebc</code></a>
Add viewport to Next.js config allowExportNames (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/89">#89</a>)</li>
<li><a
href="5bf46bf811"><code>5bf46bf</code></a>
Fix publish permissions</li>
<li>See full diff in <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.21...v0.4.22">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-refresh&package-manager=npm_and_yarn&previous-version=0.4.21&new-version=0.4.22)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:21:09 +00:00
dependabot[bot]
63f8e92aa1 chore(deps-dev): Bump @stylistic/eslint-plugin from 5.3.1 to 5.4.0 (#1396)
Bumps
[@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin)
from 5.3.1 to 5.4.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.4.0</h2>
<h2><a
href="https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.3.1...v5.4.0">5.4.0</a>
(2025-09-19)</h2>
<h3>Features</h3>
<ul>
<li><strong>generator-star-spacing:</strong> introduce
<code>shorthand</code> to override property function shorthands (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/980">#980</a>)
(<a
href="62d7a17262">62d7a17</a>)</li>
<li>introduce experimental mechanism (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/894">#894</a>)
(<a
href="87f09ee6fa">87f09ee</a>)</li>
<li><strong>object-curly-spacing:</strong> introduce
<code>overrides</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/898">#898</a>)
(<a
href="2a422b7955">2a422b7</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>correctly display the deprecation warning (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/967">#967</a>)
(<a
href="094aa48526">094aa48</a>)</li>
<li><strong>multiline-comment-style:</strong> correctly handle ignored
comments (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/969">#969</a>)
(<a
href="cad56b2ad7">cad56b2</a>)</li>
<li><strong>quote-props:</strong> only check ES3 reserved words for
<code>keywords</code> option (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/964">#964</a>)
(<a
href="bc4810fb34">bc4810f</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/983">#983</a>)
(<a
href="86596f93fe">86596f9</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>indent:</strong> introduce <code>assignmentOperator</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/974">#974</a>)
(<a
href="8a096a8061">8a096a8</a>)</li>
<li><strong>max-len:</strong> clarify that ignorePattern needs to be a
string (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/981">#981</a>)
(<a
href="d38b7035a3">d38b703</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/976">#976</a>)
(<a
href="2983f0097b">2983f00</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-stylistic/eslint-stylistic/blob/main/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.3.1...v5.4.0">5.4.0</a>
(2025-09-19)</h2>
<h3>Features</h3>
<ul>
<li><strong>generator-star-spacing:</strong> introduce
<code>shorthand</code> to override property function shorthands (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/980">#980</a>)
(<a
href="62d7a17262">62d7a17</a>)</li>
<li>introduce experimental mechanism (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/894">#894</a>)
(<a
href="87f09ee6fa">87f09ee</a>)</li>
<li><strong>object-curly-spacing:</strong> introduce
<code>overrides</code> (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/898">#898</a>)
(<a
href="2a422b7955">2a422b7</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>correctly display the deprecation warning (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/967">#967</a>)
(<a
href="094aa48526">094aa48</a>)</li>
<li><strong>multiline-comment-style:</strong> correctly handle ignored
comments (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/969">#969</a>)
(<a
href="cad56b2ad7">cad56b2</a>)</li>
<li><strong>quote-props:</strong> only check ES3 reserved words for
<code>keywords</code> option (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/964">#964</a>)
(<a
href="bc4810fb34">bc4810f</a>)</li>
<li>update deps (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/983">#983</a>)
(<a
href="86596f93fe">86596f9</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>indent:</strong> introduce <code>assignmentOperator</code>
(<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/974">#974</a>)
(<a
href="8a096a8061">8a096a8</a>)</li>
<li><strong>max-len:</strong> clarify that ignorePattern needs to be a
string (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/981">#981</a>)
(<a
href="d38b7035a3">d38b703</a>)</li>
</ul>
<h3>Build Related</h3>
<ul>
<li><strong>deps:</strong> bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/976">#976</a>)
(<a
href="2983f0097b">2983f00</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="04da3bbb73"><code>04da3bb</code></a>
chore: release v5.4.0 (main) (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/973">#973</a>)</li>
<li><a
href="86596f93fe"><code>86596f9</code></a>
fix: update deps (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/983">#983</a>)</li>
<li><a
href="d38b7035a3"><code>d38b703</code></a>
docs(max-len): clarify that ignorePattern needs to be a string (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/981">#981</a>)</li>
<li><a
href="62d7a17262"><code>62d7a17</code></a>
feat(generator-star-spacing): introduce <code>shorthand</code> to
override property func...</li>
<li><a
href="2a422b7955"><code>2a422b7</code></a>
feat(object-curly-spacing): introduce <code>overrides</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/898">#898</a>)</li>
<li><a
href="87f09ee6fa"><code>87f09ee</code></a>
feat: introduce experimental mechanism (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/894">#894</a>)</li>
<li><a
href="8a096a8061"><code>8a096a8</code></a>
docs(indent): introduce <code>assignmentOperator</code> (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/974">#974</a>)</li>
<li><a
href="094aa48526"><code>094aa48</code></a>
fix: correctly display the deprecation warning (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/967">#967</a>)</li>
<li><a
href="cad56b2ad7"><code>cad56b2</code></a>
fix(multiline-comment-style): correctly handle ignored comments (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/969">#969</a>)</li>
<li><a
href="bc4810fb34"><code>bc4810f</code></a>
fix(quote-props): only check ES3 reserved words for
<code>keywords</code> option (<a
href="https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/964">#964</a>)</li>
<li>See full diff in <a
href="https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.4.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stylistic/eslint-plugin&package-manager=npm_and_yarn&previous-version=5.3.1&new-version=5.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:20:53 +00:00
dependabot[bot]
d946c7dbf8 chore(deps-dev): Bump typescript-eslint from 8.44.0 to 8.44.1 (#1402)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.44.0 to 8.44.1.
<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.44.1</h2>
<h2>8.44.1 (2025-09-22)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-base-to-string] make
ignoredTypeNames match type names without generics (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11597">#11597</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-enum-comparison] support
unions of literals (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11599">#11599</a>)</li>
<li><strong>eslint-plugin:</strong> [await-thenable] should not report
passing values to promise aggregators which may be a promise in an array
literal (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11611">#11611</a>)</li>
<li><strong>typescript-estree:</strong> forbid class property with name
<code>constructor</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11590">#11590</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>fisker Cheung <a
href="https://github.com/fisker"><code>@​fisker</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>mdm317</li>
<li>Ronen Amiel</li>
</ul>
<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.44.1 (2025-09-22)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="c1980522cd"><code>c198052</code></a>
chore(release): publish 8.44.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.1/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.44.0&new-version=8.44.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:20:46 +00:00
dependabot[bot]
e1de8b6ae4 chore(deps): Bump @codemirror/view from 6.38.2 to 6.38.3 (#1399)
Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.38.2
to 6.38.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codemirror/view/blob/main/CHANGELOG.md"><code>@​codemirror/view</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>6.38.3 (2025-09-22)</h2>
<h3>Bug fixes</h3>
<p>Work around a rendering bug in Mobile Safari by completely hiding
empty layers.</p>
<p>Fix vertical cursor motion in Chrome around decorations with bottom
borders or margins.</p>
<p>Fix an issue that caused mark decorations longer than 512 characters
to needlessly be split.</p>
<p>Move the cursor out of atomic ranges when text input happens.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="31ffdc5919"><code>31ffdc5</code></a>
Mark version 6.38.3</li>
<li><a
href="d5df1517fb"><code>d5df151</code></a>
Improve handling of text input in atomic ranges</li>
<li><a
href="ac872ced9e"><code>ac872ce</code></a>
Fix a bug that caused decorations to be split on text node chunk
boundaries</li>
<li><a
href="9ad612ac32"><code>9ad612a</code></a>
Ignore Chrome's caretPositionFromPoint results when the move to the end
of th...</li>
<li><a
href="8f1a6d7e66"><code>8f1a6d7</code></a>
Completely hide empty layers on iOS to work around a rendering bug</li>
<li>See full diff in <a
href="https://github.com/codemirror/view/compare/6.38.2...6.38.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.38.2&new-version=6.38.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 11:19:15 +00:00
dependabot[bot]
358df80b65 chore(deps-dev): Bump cypress from 15.2.0 to 15.3.0 (#1404)
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.2.0 to
15.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/cypress/releases">cypress's
releases</a>.</em></p>
<blockquote>
<h2>v15.3.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15.3.0">https://docs.cypress.io/app/references/changelog#15.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="556243acd7"><code>556243a</code></a>
chore: release 15.3.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32553">#32553</a>)</li>
<li><a
href="0c2bd49320"><code>0c2bd49</code></a>
chore: fix changelog (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32552">#32552</a>)</li>
<li><a
href="8755160a68"><code>8755160</code></a>
feat: escape key for cy.press (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32545">#32545</a>)</li>
<li><a
href="17c1ede5f6"><code>17c1ede</code></a>
chore: run battery of tests against <code>@​cypress/grep</code> in CI to
make sure we do no...</li>
<li><a
href="6eb1997df3"><code>6eb1997</code></a>
chore: put together phases of ESM conversion as well as each package
into the...</li>
<li><a
href="daca9a316e"><code>daca9a3</code></a>
docs: update URLs for cache purging in documentation (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32548">#32548</a>)</li>
<li><a
href="7d5fd90721"><code>7d5fd90</code></a>
fix: incorrect loading of ESM based configurations (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32515">#32515</a>)</li>
<li><a
href="a4b03b424c"><code>a4b03b4</code></a>
misc: make runnable headers semi-bold font weight (600) (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32491">#32491</a>)</li>
<li><a
href="113425c6cf"><code>113425c</code></a>
chore: release <code>@​cypress/grep-v5</code>.0.0</li>
<li><a
href="c83df82db0"><code>c83df82</code></a>
breaking: convert <code>@​cypress/grep</code> to TypeScript and change
what is exported</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.2.0...v15.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress&package-manager=npm_and_yarn&previous-version=15.2.0&new-version=15.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-24 13:19:38 +00:00
dependabot[bot]
bec44a9ce8 chore(deps-dev): Bump eslint-plugin-react-refresh from 0.4.20 to 0.4.21 (#1401)
Bumps
[eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
from 0.4.20 to 0.4.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases">eslint-plugin-react-refresh's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.21</h2>
<ul>
<li>Add Next config (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/85">#85</a>)</li>
</ul>
<p>This allows exports like <code>fetchCache</code> and
<code>revalidate</code> which are used in Page or Layout components and
don't trigger a full page reload.</p>
<pre lang="js"><code>import reactRefresh from
&quot;eslint-plugin-react-refresh&quot;;
<p>export default [
/* Main config */
reactRefresh.configs.next,
];
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md">eslint-plugin-react-refresh's
changelog</a>.</em></p>
<blockquote>
<h2>0.4.21</h2>
<ul>
<li>Add Next config (fixes <a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/85">#85</a>)</li>
</ul>
<p>This allows exports like <code>fetchCache</code> and
<code>revalidate</code> which are used in Page or Layout components and
don't trigger a full page reload.</p>
<pre lang="js"><code>import reactRefresh from
&quot;eslint-plugin-react-refresh&quot;;
<p>export default [
/* Main config */
reactRefresh.configs.next,
];
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f50af23593"><code>f50af23</code></a>
Use OIDC [publish]</li>
<li><a
href="1b2005b8c8"><code>1b2005b</code></a>
Add Next config [publish] (<a
href="https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/87">#87</a>)</li>
<li>See full diff in <a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.20...v0.4.21">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 eslint-plugin-react-refresh since your
current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-react-refresh&package-manager=npm_and_yarn&previous-version=0.4.20&new-version=0.4.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 13:16:44 +00:00
dependabot[bot]
cfd915a6f6 chore(deps-dev): Bump sass from 1.93.0 to 1.93.1 (#1400)
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.0 to 1.93.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/releases">sass's
releases</a>.</em></p>
<blockquote>
<h2>Dart Sass 1.93.1</h2>
<p>To install Sass 1.93.1, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<ul>
<li>No user-visible changes.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Fix an error in the release process for
<code>@sass/types</code>.</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1931">full
changelog</a> for changes in earlier releases.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/blob/main/CHANGELOG.md">sass's
changelog</a>.</em></p>
<blockquote>
<h2>1.93.1</h2>
<ul>
<li>No user-visible changes.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Fix an error in the release process for
<code>@sass/types</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0b7d6d942e"><code>0b7d6d9</code></a>
Empty commit</li>
<li><a
href="4e94339f6e"><code>4e94339</code></a>
Fix the release script for <code>@sass/types</code> (<a
href="https://redirect.github.com/sass/dart-sass/issues/2651">#2651</a>)</li>
<li><a
href="710ef8021a"><code>710ef80</code></a>
Switch to macos-15-intel runner (<a
href="https://redirect.github.com/sass/dart-sass/issues/2650">#2650</a>)</li>
<li>See full diff in <a
href="https://github.com/sass/dart-sass/compare/1.93.0...1.93.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sass&package-manager=npm_and_yarn&previous-version=1.93.0&new-version=1.93.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 13:16:08 +00:00
dependabot[bot]
bddc6ccb7b chore(deps-dev): Bump vite from 7.1.5 to 7.1.7 (#1397)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 7.1.5 to 7.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.7</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.6</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.6/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.6...v7.1.7">7.1.7</a>
(2025-09-22)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>build:</strong> fix ssr environment <code>emitAssets:
true</code> when <code>sharedConfigBuild: true</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20787">#20787</a>)
(<a
href="4c4583ce7a">4c4583c</a>)</li>
<li><strong>client:</strong> use CSP nonce when rendering error overlay
(<a
href="https://redirect.github.com/vitejs/vite/issues/20791">#20791</a>)
(<a
href="9bc9d1258f">9bc9d12</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20811">#20811</a>)
(<a
href="9f2247c066">9f2247c</a>)</li>
<li><strong>glob:</strong> handle glob imports from folders starting
with dot (<a
href="https://redirect.github.com/vitejs/vite/issues/20800">#20800</a>)
(<a
href="105abe87c4">105abe8</a>)</li>
<li><strong>hmr:</strong> trigger prune event when import is removed
from non hmr module (<a
href="https://redirect.github.com/vitejs/vite/issues/20768">#20768</a>)
(<a
href="9f32b1dc71">9f32b1d</a>)</li>
<li><strong>hmr:</strong> wait for <code>import.meta.hot.prune</code>
callbacks to complete before running other HMRs (<a
href="https://redirect.github.com/vitejs/vite/issues/20698">#20698</a>)
(<a
href="98a3484733">98a3484</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.5...v7.1.6">7.1.6</a>
(2025-09-18)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20773">#20773</a>)
(<a
href="88af2ae7df">88af2ae</a>)</li>
<li><strong>esbuild:</strong> inject esbuild helper functions with
minified <code>$</code> variables correctly (<a
href="https://redirect.github.com/vitejs/vite/issues/20761">#20761</a>)
(<a
href="7e8e0043d6">7e8e004</a>)</li>
<li>fallback terser to main thread when nameCache is provided (<a
href="https://redirect.github.com/vitejs/vite/issues/20750">#20750</a>)
(<a
href="a679a64340">a679a64</a>)</li>
<li><strong>types:</strong> strict env typings fail when
<code>skipLibCheck</code> is <code>false</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20755">#20755</a>)
(<a
href="cc54e29474">cc54e29</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20675">#20675</a>)
(<a
href="a67bb5fbec">a67bb5f</a>)</li>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20772">#20772</a>)
(<a
href="d785e72f2e">d785e72</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="693d25510a"><code>693d255</code></a>
release: v7.1.7</li>
<li><a
href="98a3484733"><code>98a3484</code></a>
fix(hmr): wait for <code>import.meta.hot.prune</code> callbacks to
complete before runni...</li>
<li><a
href="9f32b1dc71"><code>9f32b1d</code></a>
fix(hmr): trigger prune event when import is removed from non hmr module
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20">#20</a>...</li>
<li><a
href="9f2247c066"><code>9f2247c</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20811">#20811</a>)</li>
<li><a
href="105abe87c4"><code>105abe8</code></a>
fix(glob): handle glob imports from folders starting with dot (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20800">#20800</a>)</li>
<li><a
href="4c4583ce7a"><code>4c4583c</code></a>
fix(build): fix ssr environment <code>emitAssets: true</code> when
`sharedConfigBuild: t...</li>
<li><a
href="9bc9d1258f"><code>9bc9d12</code></a>
fix(client): use CSP nonce when rendering error overlay (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20791">#20791</a>)</li>
<li><a
href="54377f70ad"><code>54377f7</code></a>
release: v7.1.6</li>
<li><a
href="88af2ae7df"><code>88af2ae</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20773">#20773</a>)</li>
<li><a
href="d785e72f2e"><code>d785e72</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20772">#20772</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v7.1.7/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.1.5&new-version=7.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 13:20:25 +00:00
dependabot[bot]
360becc305 chore(deps-dev): Bump sass from 1.92.1 to 1.93.0 (#1395)
Bumps [sass](https://github.com/sass/dart-sass) from 1.92.1 to 1.93.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/releases">sass's
releases</a>.</em></p>
<blockquote>
<h2>Dart Sass 1.93.0</h2>
<p>To install Sass 1.93.0, download one of the packages below and <a
href="https://katiek2.github.io/path-doc/">add it to your PATH</a>, or
see <a href="https://sass-lang.com/install">the Sass website</a> for
full installation instructions.</p>
<h1>Changes</h1>
<ul>
<li>Fix a crash when a style rule contains a nested
<code>@import</code>, and the loaded file <code>@use</code>s a
user-defined module as well as <code>@include</code>s a top-level mixin
which emits top-level declarations.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Release a <code>@sass/types</code> package which contains the type
annotations used by both the <code>sass</code> and
<code>sass-embedded</code> package without any additional code or
dependencies.</li>
</ul>
<p>See the <a
href="https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#1930">full
changelog</a> for changes in earlier releases.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sass/dart-sass/blob/main/CHANGELOG.md">sass's
changelog</a>.</em></p>
<blockquote>
<h2>1.93.0</h2>
<ul>
<li>Fix a crash when a style rule contains a nested
<code>@import</code>, and the loaded file
<code>@use</code>s a user-defined module as well as
<code>@include</code>s a top-level mixin which
emits top-level declarations.</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Release a <code>@sass/types</code> package which contains the type
annotations used by
both the <code>sass</code> and <code>sass-embedded</code> package
without any additional code or
dependencies.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="307226a602"><code>307226a</code></a>
Publish a <code>@sass/types</code> package with the types of the shared
JS API (<a
href="https://redirect.github.com/sass/dart-sass/issues/2639">#2639</a>)</li>
<li><a
href="edfe90d27f"><code>edfe90d</code></a>
Fix crash when <a
href="https://github.com/importing"><code>@​importing</code></a> a Sass
file that <a href="https://github.com/uses"><code>@​uses</code></a>
another file (<a
href="https://redirect.github.com/sass/dart-sass/issues/2599">#2599</a>)</li>
<li><a
href="9360866f33"><code>9360866</code></a>
Bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/sass/dart-sass/issues/2643">#2643</a>)</li>
<li><a
href="7737af5a06"><code>7737af5</code></a>
Bump actions/setup-node from 4 to 5 in /.github/util/initialize (<a
href="https://redirect.github.com/sass/dart-sass/issues/2644">#2644</a>)</li>
<li>See full diff in <a
href="https://github.com/sass/dart-sass/compare/1.92.1...1.93.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sass&package-manager=npm_and_yarn&previous-version=1.92.1&new-version=1.93.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 13:19:51 +00:00
dependabot[bot]
cd606ee6b0 chore(deps-dev): Bump eslint from 9.35.0 to 9.36.0 (#1394)
Bumps [eslint](https://github.com/eslint/eslint) from 9.35.0 to 9.36.0.
<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.36.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="47afcf668d"><code>47afcf6</code></a>
feat: correct <code>preserve-caught-error</code> edge cases (<a
href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>)
(Francesco Trotta)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="75b74d865d"><code>75b74d8</code></a>
fix: add missing rule option types (<a
href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>)
(ntnyq)</li>
<li><a
href="1c0d85049e"><code>1c0d850</code></a>
fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code>
for <code>rules</code> object (<a
href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>)
(루밀LuMir)</li>
<li><a
href="7d61b7fadc"><code>7d61b7f</code></a>
fix: add missing scope types to <code>Scope.type</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20110">#20110</a>)
(Pixel998)</li>
<li><a
href="7a670c301b"><code>7a670c3</code></a>
fix: correct rule option typings in <code>rules.d.ts</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20084">#20084</a>)
(Pixel998)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="b73ab12acd"><code>b73ab12</code></a>
docs: update examples to use <code>defineConfig</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>)
(sethamus)</li>
<li><a
href="31d9392699"><code>31d9392</code></a>
docs: fix typos (<a
href="https://redirect.github.com/eslint/eslint/issues/20118">#20118</a>)
(Pixel998)</li>
<li><a
href="c7f861b3f8"><code>c7f861b</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="6b0c08b106"><code>6b0c08b</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="91f97c5046"><code>91f97c5</code></a>
docs: Update README (GitHub Actions Bot)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="12411e8d45"><code>12411e8</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.36.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>)
(Milos Djermanovic)</li>
<li><a
href="488cba6b39"><code>488cba6</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="bac82a2a9c"><code>bac82a2</code></a>
ci: simplify renovate configuration (<a
href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>)
(唯然)</li>
<li><a
href="c00bb37d62"><code>c00bb37</code></a>
ci: bump actions/labeler from 5 to 6 (<a
href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>)
(dependabot[bot])</li>
<li><a
href="fee751dc8a"><code>fee751d</code></a>
refactor: use <code>defaultOptions</code> in rules (<a
href="https://redirect.github.com/eslint/eslint/issues/20121">#20121</a>)
(Pixel998)</li>
<li><a
href="1ace67d9f7"><code>1ace67d</code></a>
chore: update example to use <code>defineConfig</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20111">#20111</a>)
(루밀LuMir)</li>
<li><a
href="4821963bf7"><code>4821963</code></a>
test: add missing loc information to error objects in rule tests (<a
href="https://redirect.github.com/eslint/eslint/issues/20112">#20112</a>)
(루밀LuMir)</li>
<li><a
href="b42c42e7cd"><code>b42c42e</code></a>
chore: disallow use of deprecated <code>type</code> property in core
rule tests (<a
href="https://redirect.github.com/eslint/eslint/issues/20094">#20094</a>)
(Milos Djermanovic)</li>
<li><a
href="7bb498d720"><code>7bb498d</code></a>
test: remove deprecated <code>type</code> property from core rule tests
(<a
href="https://redirect.github.com/eslint/eslint/issues/20093">#20093</a>)
(Pixel998)</li>
<li><a
href="e10cf2ab42"><code>e10cf2a</code></a>
ci: bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/eslint/eslint/issues/20089">#20089</a>)
(dependabot[bot])</li>
<li><a
href="5cb0ce48ef"><code>5cb0ce4</code></a>
refactor: use <code>meta.defaultOptions</code> in
<code>preserve-caught-error</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20080">#20080</a>)
(Pixel998)</li>
<li><a
href="f9f7cb578d"><code>f9f7cb5</code></a>
chore: package.json update for eslint-config-eslint release
(Jenkins)</li>
<li><a
href="81764b2980"><code>81764b2</code></a>
chore: update <code>eslint</code> peer dependency in
<code>eslint-config-eslint</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20079">#20079</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's
changelog</a>.</em></p>
<blockquote>
<p>v9.36.0 - September 19, 2025</p>
<ul>
<li><a
href="12411e8d45"><code>12411e8</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.36.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>)
(Milos Djermanovic)</li>
<li><a
href="488cba6b39"><code>488cba6</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="b73ab12acd"><code>b73ab12</code></a>
docs: update examples to use <code>defineConfig</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>)
(sethamus)</li>
<li><a
href="47afcf668d"><code>47afcf6</code></a>
feat: correct <code>preserve-caught-error</code> edge cases (<a
href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>)
(Francesco Trotta)</li>
<li><a
href="75b74d865d"><code>75b74d8</code></a>
fix: add missing rule option types (<a
href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>)
(ntnyq)</li>
<li><a
href="bac82a2a9c"><code>bac82a2</code></a>
ci: simplify renovate configuration (<a
href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>)
(唯然)</li>
<li><a
href="1c0d85049e"><code>1c0d850</code></a>
fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code>
for <code>rules</code> object (<a
href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>)
(루밀LuMir)</li>
<li><a
href="c00bb37d62"><code>c00bb37</code></a>
ci: bump actions/labeler from 5 to 6 (<a
href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>)
(dependabot[bot])</li>
<li><a
href="fee751dc8a"><code>fee751d</code></a>
refactor: use <code>defaultOptions</code> in rules (<a
href="https://redirect.github.com/eslint/eslint/issues/20121">#20121</a>)
(Pixel998)</li>
<li><a
href="31d9392699"><code>31d9392</code></a>
docs: fix typos (<a
href="https://redirect.github.com/eslint/eslint/issues/20118">#20118</a>)
(Pixel998)</li>
<li><a
href="7d61b7fadc"><code>7d61b7f</code></a>
fix: add missing scope types to <code>Scope.type</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20110">#20110</a>)
(Pixel998)</li>
<li><a
href="1ace67d9f7"><code>1ace67d</code></a>
chore: update example to use <code>defineConfig</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20111">#20111</a>)
(루밀LuMir)</li>
<li><a
href="4821963bf7"><code>4821963</code></a>
test: add missing loc information to error objects in rule tests (<a
href="https://redirect.github.com/eslint/eslint/issues/20112">#20112</a>)
(루밀LuMir)</li>
<li><a
href="c7f861b3f8"><code>c7f861b</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="6b0c08b106"><code>6b0c08b</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="7a670c301b"><code>7a670c3</code></a>
fix: correct rule option typings in <code>rules.d.ts</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20084">#20084</a>)
(Pixel998)</li>
<li><a
href="b42c42e7cd"><code>b42c42e</code></a>
chore: disallow use of deprecated <code>type</code> property in core
rule tests (<a
href="https://redirect.github.com/eslint/eslint/issues/20094">#20094</a>)
(Milos Djermanovic)</li>
<li><a
href="7bb498d720"><code>7bb498d</code></a>
test: remove deprecated <code>type</code> property from core rule tests
(<a
href="https://redirect.github.com/eslint/eslint/issues/20093">#20093</a>)
(Pixel998)</li>
<li><a
href="91f97c5046"><code>91f97c5</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="e10cf2ab42"><code>e10cf2a</code></a>
ci: bump actions/setup-node from 4 to 5 (<a
href="https://redirect.github.com/eslint/eslint/issues/20089">#20089</a>)
(dependabot[bot])</li>
<li><a
href="5cb0ce48ef"><code>5cb0ce4</code></a>
refactor: use <code>meta.defaultOptions</code> in
<code>preserve-caught-error</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20080">#20080</a>)
(Pixel998)</li>
<li><a
href="f9f7cb578d"><code>f9f7cb5</code></a>
chore: package.json update for eslint-config-eslint release
(Jenkins)</li>
<li><a
href="81764b2980"><code>81764b2</code></a>
chore: update <code>eslint</code> peer dependency in
<code>eslint-config-eslint</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20079">#20079</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b4857e54e5"><code>b4857e5</code></a>
9.36.0</li>
<li><a
href="5878a4243f"><code>5878a42</code></a>
Build: changelog update for 9.36.0</li>
<li><a
href="12411e8d45"><code>12411e8</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.36.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>)</li>
<li><a
href="488cba6b39"><code>488cba6</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="b73ab12acd"><code>b73ab12</code></a>
docs: update examples to use <code>defineConfig</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>)</li>
<li><a
href="47afcf668d"><code>47afcf6</code></a>
feat: correct <code>preserve-caught-error</code> edge cases (<a
href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>)</li>
<li><a
href="75b74d865d"><code>75b74d8</code></a>
fix: add missing rule option types (<a
href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>)</li>
<li><a
href="bac82a2a9c"><code>bac82a2</code></a>
ci: simplify renovate configuration (<a
href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>)</li>
<li><a
href="1c0d85049e"><code>1c0d850</code></a>
fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code>
for <code>rules</code> object (<a
href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>)</li>
<li><a
href="c00bb37d62"><code>c00bb37</code></a>
ci: bump actions/labeler from 5 to 6 (<a
href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v9.35.0...v9.36.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=9.35.0&new-version=9.36.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 13:19:41 +00:00
dependabot[bot]
7c498642cd chore(deps): Bump maplibre-gl from 5.7.2 to 5.7.3 (#1392)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
5.7.2 to 5.7.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v5.7.3</h2>
<p><a
href="https://github.com/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.7.2...v5.7.3">Changes</a>
since <a
href="https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.2">MapLibre
GL JS v5.7.2</a>:</p>
<h3> Features and improvements</h3>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix case where retain loaded children does not retain uppermost
loaded children (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6399">#6399</a>)</li>
<li>Fix an issue with spread operator that caused issues in Angular and
esbuild (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6438">#6438</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>5.7.3</h2>
<h3> Features and improvements</h3>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix case where retain loaded children does not retain uppermost
loaded children (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6399">#6399</a>)</li>
<li>Fix an issue with spread operator that caused issues in Angular and
esbuild (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/6438">#6438</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8895e41498"><code>8895e41</code></a>
Bump version to 5.7.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6439">#6439</a>)</li>
<li><a
href="2dbed1938d"><code>2dbed19</code></a>
update package and changelog to solve esbuild issue in Angular</li>
<li><a
href="c09134a51f"><code>c09134a</code></a>
chore(deps-dev): bump devtools-protocol from 0.0.1516431 to 0.0.1517051
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6433">#6433</a>)</li>
<li><a
href="26ff94390b"><code>26ff943</code></a>
chore(deps-dev): bump puppeteer from 24.21.0 to 24.22.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6434">#6434</a>)</li>
<li><a
href="5797247b4a"><code>5797247</code></a>
chore(deps-dev): bump <code>@​types/node</code> from 24.5.1 to 24.5.2
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6431">#6431</a>)</li>
<li><a
href="a2c0bbbdb5"><code>a2c0bbb</code></a>
chore(deps-dev): bump sharp from 0.34.3 to 0.34.4 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6432">#6432</a>)</li>
<li><a
href="adc1027021"><code>adc1027</code></a>
Fixes case where retain loaded children does not retain uppermost loaded
chil...</li>
<li>See full diff in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v5.7.2...v5.7.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=maplibre-gl&package-manager=npm_and_yarn&previous-version=5.7.2&new-version=5.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-19 13:16:41 +00:00
Harel M
1730e9cb1c Codemirror 5 to 6 upgrade (#1386)
## Launch Checklist

- Resolves #891

This PR upgrades code mirror from version 5 to version 6.
It should not change any functionality dramatically.
The filter and other expressions have line numbers now as I was not able
to remove those without introducing a lot of code, which I preferred not
to.

Before:

<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/02f047ee-0857-4eb1-9431-2620099ea025"
/>


After:
<img width="571" height="933" alt="image"
src="https://github.com/user-attachments/assets/7cf60155-7cd9-4c06-915e-dec2ae8247fc"
/>



 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-17 19:51:26 +02:00
dependabot[bot]
c5608c3ee9 chore(deps-dev): Bump @types/uuid from 10.0.0 to 11.0.0 (#1389)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps
[@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid)
from 10.0.0 to 11.0.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/uuid&package-manager=npm_and_yarn&previous-version=10.0.0&new-version=11.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 13:19:07 +00:00
dependabot[bot]
157841a538 chore(deps-dev): Bump vite-plugin-istanbul from 7.1.0 to 7.2.0 (#1388)
Bumps
[vite-plugin-istanbul](https://github.com/ifaxity/vite-plugin-istanbul)
from 7.1.0 to 7.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ifaxity/vite-plugin-istanbul/releases">vite-plugin-istanbul's
releases</a>.</em></p>
<blockquote>
<h2>v7.2.0</h2>
<h1><a
href="https://github.com/ifaxity/vite-plugin-istanbul/compare/v7.1.0...v7.2.0">7.2.0</a>
(2025-09-16)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>build type dependencies (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/351">#351</a>)
(<a
href="7c6a8b9d89">7c6a8b9</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>add onCover callback to IstanbulPluginOptions and expose
fileCoverage in Instrumenter (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/354">#354</a>)
(<a
href="9799fa3304">9799fa3</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3071ddb35d"><code>3071ddb</code></a>
build(deps): bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/352">#352</a>)</li>
<li><a
href="9799fa3304"><code>9799fa3</code></a>
feat: add onCover callback to IstanbulPluginOptions and expose
fileCoverage i...</li>
<li><a
href="7c6a8b9d89"><code>7c6a8b9</code></a>
fix: build type dependencies (<a
href="https://redirect.github.com/ifaxity/vite-plugin-istanbul/issues/351">#351</a>)</li>
<li>See full diff in <a
href="https://github.com/ifaxity/vite-plugin-istanbul/compare/v7.1.0...v7.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite-plugin-istanbul&package-manager=npm_and_yarn&previous-version=7.1.0&new-version=7.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 13:18:41 +00:00
dependabot[bot]
ff857ea79f chore(deps-dev): Bump @vitejs/plugin-react from 5.0.2 to 5.0.3 (#1387)
Bumps
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
from 5.0.2 to 5.0.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@​vitejs/plugin-react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@5.0.3</h2>
<h3>HMR did not work for components imported with queries with
rolldown-vite (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/872">#872</a>)</h3>
<h3>Perf: simplify refresh wrapper generation (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/835">#835</a>)</h3>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@​vitejs/plugin-react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>5.0.3 (2025-09-17)</h2>
<h3>HMR did not work for components imported with queries with
rolldown-vite (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/872">#872</a>)</h3>
<h3>Perf: simplify refresh wrapper generation (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/835">#835</a>)</h3>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8293cb3894"><code>8293cb3</code></a>
release: plugin-react@5.0.3</li>
<li><a
href="89ec16d680"><code>89ec16d</code></a>
fix(react): hmr did not work for components imported with queries with
rolldo...</li>
<li><a
href="3a8b4a9070"><code>3a8b4a9</code></a>
perf: avoid sourcemap for refresh wrapper injection (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/835">#835</a>)</li>
<li><a
href="afa28f1675"><code>afa28f1</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/823">#823</a>)</li>
<li><a
href="437bab254d"><code>437bab2</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/809">#809</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.0.3/packages/plugin-react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@vitejs/plugin-react&package-manager=npm_and_yarn&previous-version=5.0.2&new-version=5.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 13:18:26 +00:00
Harel M
3c3fcadbb6 Added back errors panel (#1384)
## Launch Checklist

This PR adds back the error panel which was under the map for some
reason.
It also highlights problematic layers in the layers list (which already
worked).
It also highlights the field that has an error related to it.
It fixes the error types throughout the code.

Before:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/c0593d6c-8f14-41b3-8a51-bc359446656d"
/>


After:
<img width="1141" height="665" alt="image"
src="https://github.com/user-attachments/assets/1ffeebb7-31ea-4ed5-97f4-fc5f907a6aea"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-16 15:42:07 +02:00
dependabot[bot]
174548944f chore(deps-dev): Bump typescript-eslint from 8.43.0 to 8.44.0 (#1385)
Bumps
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
from 8.43.0 to 8.44.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.44.0</h2>
<h2>8.44.0 (2025-09-15)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [await-thenable] report invalid
(non-promise) values passed to promise aggregator methods (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11267">#11267</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>deps:</strong> update dependency
<code>@​eslint-community/eslint-utils</code> to v4.8.0 (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11589">#11589</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion]
ignore enum members (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11490">#11490</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Moses Odutusin <a
href="https://github.com/thebolarin"><code>@​thebolarin</code></a></li>
<li>Ronen Amiel</li>
</ul>
<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.44.0 (2025-09-15)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</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="77056f77e6"><code>77056f7</code></a>
chore(release): publish 8.44.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.43.0&new-version=8.44.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-16 13:16:45 +00:00
dependabot[bot]
c57d7d3a89 chore(deps-dev): Bump @types/react from 19.1.12 to 19.1.13 (#1383)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.1.12 to 19.1.13.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.1.12&new-version=19.1.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
2025-09-16 12:58:55 +00:00
dependabot[bot]
58ff17998d chore(deps): Bump color from 5.0.0 to 5.0.2 (#1382)
Bumps [color](https://github.com/Qix-/color) from 5.0.0 to 5.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Qix-/color/releases">color's
releases</a>.</em></p>
<blockquote>
<h2>5.0.2</h2>
<p>Functionally identical release to <code>5.0.0</code>.</p>
<p>Version <code>5.0.1</code> is <strong>compromised</strong>. Please
see <a
href="https://redirect.github.com/debug-js/debug/issues/1005">debug-js/debug#1005</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="02a615f268"><code>02a615f</code></a>
5.0.2</li>
<li>See full diff in <a
href="https://github.com/Qix-/color/compare/5.0.0...5.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=color&package-manager=npm_and_yarn&previous-version=5.0.0&new-version=5.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 13:37:11 +00:00
Harel M
b42afd0027 Fix firefox ability to load file, add firefox tests back (#1380)
## Launch Checklist

This PR fixes the problem with firefox not able to load a file when
clicking the open file button.
It does so by removing a very old dependency: `react-file-reader-input`
It uses the "regular" `<label><a/><input type="file" /><label>`
approach.
It adds tests for both firefox and chrome although I'm not sure the
firefox tests will stay...

 - [x] Briefly describe the changes in this PR.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-09-15 05:15:00 +00:00
Harel M
5312d61598 Add globe support in Maputnik UI (#1379)
## Launch Checklist

Add a small drop down to select mercator or globe.
This isn't a fully covered field as one can set an expression there, but
I believe this is good enough for most cases.

Before:
<img width="645" height="254" alt="image"
src="https://github.com/user-attachments/assets/19a7ec50-a0bb-4ea3-b9fc-3abc5572c47e"
/>
After:
<img width="770" height="462" alt="image"
src="https://github.com/user-attachments/assets/f4774020-1cc8-45fe-88f9-f77ad7c53140"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: Birk Skyum <birk.skyum@pm.me>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-14 11:48:29 +02:00
Harel M
56cdfd23df Add react-markdown to better show the docs (#1378)
## Launch Checklist

This improves how the docs are being presented, since we added some
markdown in the docs it is better to have full support for this here as
well

Before:
<img width="645" height="254" alt="image"
src="https://github.com/user-attachments/assets/ce099ab9-eabd-4721-9550-5ea251439d93"
/>

After:
<img width="645" height="254" alt="image"
src="https://github.com/user-attachments/assets/884d1d69-4238-412e-b620-f9c0640723ca"
/>

The table below that is also stretched is fixes in the following PR:

https://github.com/maplibre/maputnik/pull/1377/files#diff-8d22a87c6893aa31e22f1db0804e1fe93534f38d9fb4433e71cd3878f8daa954

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-09-14 12:12:21 +03:00
Harel M
69143ea5d6 Add global state modal (#1377)
## Launch Checklist

This adds the ability to edit the global state.
I think it deserves a modal of its own since I don't think it should be
part of other modals...
Here are some images:
<img width="1274" height="254" alt="image"
src="https://github.com/user-attachments/assets/4b6f2564-6c71-47da-9f8c-3bd2b97e1163"
/>

Initial dialog with no variable:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/b813b540-cae9-4c80-b2c0-4d965c022cb8"
/>
After you click add a few times:
<img width="640" height="254" alt="image"
src="https://github.com/user-attachments/assets/125cb978-90dc-4047-9694-b0ffc6eaa469"
/>

The state is updated as you change thing in the dialog.
I didn't complicated it to select the type of the variable, but this can
be added later of if there's a requirement to do so, I meant to keep it
simple for now.

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-14 11:13:52 +03:00
Harel M
a322afdcee Use different icons for different layers (#1375)
## Launch Checklist

This changes the layers icons a bit in order to make them a bit more
distinct:

After:
<img width="580" height="331" alt="image"
src="https://github.com/user-attachments/assets/f341a64e-0310-40f7-8f5a-650d7bb06b9f"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-09-13 22:46:28 +00:00
Harel M
c6f599cc61 Unite icons (#1374)
## Launch Checklist

This removes the `@mdi` (material design icons) package and uses the
icons from `react-icons`.
The icons are not exactly the same, but have the same idea behind them.

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

Main changes can be found below.
Before:
<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/e3d5fc8a-bd59-48fe-bdae-31bb290749c8"
/>


After:

<img width="580" height="780" alt="image"
src="https://github.com/user-attachments/assets/bacdbdba-9e73-4bef-bd30-26fe946269c1"
/>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-13 22:11:13 +02:00
dependabot[bot]
5fe38bb6ff chore(deps-dev): Bump typescript from 5.8.3 to 5.9.2 (#1301)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.3
to 5.9.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/TypeScript/releases">typescript's
releases</a>.</em></p>
<blockquote>
<h2>TypeScript 5.9</h2>
<p>Release notes pending.</p>
<!-- raw HTML omitted -->
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.9.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.9.1%22+is%3Aclosed+">fixed
issues query for Typescript 5.9.1 (RC)</a>.</li>
<li>[[No specific changes for TypeScript 5.9.2 (Stable)]]</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 5.9 RC</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-rc/">release
announcement</a></p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.9.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.9.1%22+is%3Aclosed+">fixed
issues query for Typescript 5.9.1 (RC)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 5.9 Beta</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/">release
announcement</a>.</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+">fixed
issues query for Typescript 5.9.0 (Beta)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="be86783155"><code>be86783</code></a>
Give more specific errors for <code>verbatimModuleSyntax</code> (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62113">#62113</a>)</li>
<li><a
href="22ef57786f"><code>22ef577</code></a>
LEGO: Pull request from
lego/hb_5378966c-b857-470a-8675-daebef4a6da1_20250714...</li>
<li><a
href="d5a414cd1d"><code>d5a414c</code></a>
Don't use <code>noErrorTruncation</code> when printing types with
<code>maximumLength</code> set (#...</li>
<li><a
href="f14b5c8a2f"><code>f14b5c8</code></a>
Remove unused and confusing dom.iterable.d.ts file (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62037">#62037</a>)</li>
<li><a
href="2778e84ed8"><code>2778e84</code></a>
Restore AbortSignal.abort (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62086">#62086</a>)</li>
<li><a
href="65cb4bd2d5"><code>65cb4bd</code></a>
LEGO: Pull request from
lego/hb_5378966c-b857-470a-8675-daebef4a6da1_20250710...</li>
<li><a
href="9e20e032ef"><code>9e20e03</code></a>
Clear out checker-level stacks on pop (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/62016">#62016</a>)</li>
<li><a
href="87740bc7fe"><code>87740bc</code></a>
Fix for Issue 61081 (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/61221">#61221</a>)</li>
<li><a
href="833a8d492c"><code>833a8d4</code></a>
Fix Symbol completion priority and cursor positioning (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/61945">#61945</a>)</li>
<li><a
href="0018c9ff12"><code>0018c9f</code></a>
LEGO: Pull request from
lego/hb_5378966c-b857-470a-8675-daebef4a6da1_20250702...</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript&package-manager=npm_and_yarn&previous-version=5.8.3&new-version=5.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

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

---

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

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


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Harel M <harel.mazor@gmail.com>
2025-09-13 18:45:03 +00:00
dependabot[bot]
51d063ca5a chore(deps-dev): Bump stylelint-config-recommended-scss from 16.0.0 to 16.0.1 (#1373)
Bumps
[stylelint-config-recommended-scss](https://github.com/stylelint-scss/stylelint-config-recommended-scss)
from 16.0.0 to 16.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/releases">stylelint-config-recommended-scss's
releases</a>.</em></p>
<blockquote>
<h2>16.0.1</h2>
<ul>
<li>Fixed: false positive for
<code>nesting-selector-no-missing-scoping-root</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/blob/master/CHANGELOG.md">stylelint-config-recommended-scss's
changelog</a>.</em></p>
<blockquote>
<h1>16.0.1</h1>
<ul>
<li>Fixed: false positive for
<code>nesting-selector-no-missing-scoping-root</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a9edfb274b"><code>a9edfb2</code></a>
16.0.1</li>
<li><a
href="02dc994e6d"><code>02dc994</code></a>
Prepare 16.0.1</li>
<li><a
href="82329b174b"><code>82329b1</code></a>
Revert stylelint peer dep version bump (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/368">#368</a>)</li>
<li><a
href="02e99ca3a1"><code>02e99ca</code></a>
Bump eslint from 9.32.0 to 9.35.0 (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/367">#367</a>)</li>
<li><a
href="0c168c85de"><code>0c168c8</code></a>
Bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/363">#363</a>)</li>
<li><a
href="c554a0e637"><code>c554a0e</code></a>
Fix false positive for nesting-selector-no-missing-scoping-root (<a
href="https://redirect.github.com/stylelint-scss/stylelint-config-recommended-scss/issues/365">#365</a>)</li>
<li>See full diff in <a
href="https://github.com/stylelint-scss/stylelint-config-recommended-scss/compare/v16.0.0...v16.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stylelint-config-recommended-scss&package-manager=npm_and_yarn&previous-version=16.0.0&new-version=16.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 13:18:06 +00:00
Harel M
42e1273241 Color relief support and hillshading improvements. (#1371)
## Launch Checklist

This adds support for `relief-color` property so that it will create an
elevation expression when the button is pressed.
It also adds support for `colorArray` and `numberArray` types so that
the user would be able to add the relevant information.

Before:
<img width="403" height="324" alt="image"
src="https://github.com/user-attachments/assets/250abd81-6176-4711-a1ee-d33d443932d7"
/>

<img width="403" height="324" alt="image"
src="https://github.com/user-attachments/assets/6a1bb268-66db-42a1-97fc-33e5a40863b6"
/>


After:
<img width="403" height="324" alt="image"
src="https://github.com/user-attachments/assets/8ebaa1ea-4ef9-4aed-abcd-3c8b0057ea76"
/>

<img width="403" height="324" alt="image"
src="https://github.com/user-attachments/assets/e0728c92-85f9-4b86-8635-8877cf257b2f"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-11 20:43:20 +03:00
Harel M
d81316435b Fix missing spec info (#1370)
## Launch Checklist

This fixes an issue with missing info in the spec field due to using the
redacted spec (the one without the docs).

Before - missing button near color when hovering

<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/6f261407-5348-4a71-a6d8-afaff5b27e03"
/>

After:
<img width="397" height="202" alt="image"
src="https://github.com/user-attachments/assets/d2de1b2d-d4cf-4394-b995-e50b957da72c"
/>

I think I already solved this in the past, too bad I didn't add the
relevant tests back then...

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-09-11 10:09:26 +00:00
dependabot[bot]
9f84f2989f chore(deps-dev): Bump cypress from 15.1.0 to 15.2.0 (#1369)
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.1.0 to
15.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cypress-io/cypress/releases">cypress's
releases</a>.</em></p>
<blockquote>
<h2>v15.2.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15.2.0">https://docs.cypress.io/app/references/changelog#15.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="058e7d26c0"><code>058e7d2</code></a>
chore: release 15.2.0 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32453">#32453</a>)</li>
<li><a
href="14199e0905"><code>14199e0</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32451">#32451</a>)</li>
<li><a
href="d3279551c8"><code>d327955</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32450">#32450</a>)</li>
<li><a
href="0f65f181f3"><code>0f65f18</code></a>
chore: updating v8 snapshot cache (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32449">#32449</a>)</li>
<li><a
href="02fb097558"><code>02fb097</code></a>
chore: add --glob to rimraf command (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32444">#32444</a>)</li>
<li><a
href="9f0e71fced"><code>9f0e71f</code></a>
chore: Update styles in runner to not be fractional + only update
scrollbar s...</li>
<li><a
href="a07062d13e"><code>a07062d</code></a>
fix(dns-cache): prevent local family cache collisions (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32403">#32403</a>)</li>
<li><a
href="9ebdddad9e"><code>9ebddda</code></a>
chore: Migrate <code>@​packages/electron</code> to TS (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32417">#32417</a>)</li>
<li><a
href="4671317eb1"><code>4671317</code></a>
feat: (studio) support <code>@cypress/grep</code> package in Cypress
Studio (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32311">#32311</a>)</li>
<li><a
href="8eda0c8153"><code>8eda0c8</code></a>
chore: Update v8 snapshot cache - linux (<a
href="https://redirect.github.com/cypress-io/cypress/issues/32439">#32439</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.1.0...v15.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cypress&package-manager=npm_and_yarn&previous-version=15.1.0&new-version=15.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-10 13:16:40 +00:00
Harel M
c3c6118df1 Fix popup issue (#1368)
## Launch Checklist

When clicking the map to create a popup and then clicking on the map
again without closing the popup something breaks in react.
This PR fixes it.

Steps to reproduce:
1. Click on the map
2. Click on the map but not on the popup

The following malformed popup appears:
Before:
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/99cbdf9a-0b3c-436d-ab13-f219ee3c6e75"
/>

After - popup looks good.
<img width="610" height="626" alt="image"
src="https://github.com/user-attachments/assets/6b379c0d-cbbf-40ed-916d-3cc10eaf4410"
/>

I couldn't make cypress reproduce the exact scenario, but I added some
basic tests for popups.

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-10 11:44:38 +00:00
Harel M
9c85883b8a Move modals and rename classes to match file names (#1367)
## Launch Checklist

I've created a folder for modals and moved them all inside.
I removed the icons which were small files with no real benefit and
moved the icons to where they were used.
I fixed an issue with the close button position in modal.
I've added missing translation to "Links" in debug modal.

Before: 

<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/dd7520f6-9634-4ff1-a83d-99ceae7c9144"
/>

After:
<img width="610" height="81" alt="image"
src="https://github.com/user-attachments/assets/fe3a2ccf-6c09-42ab-bf6f-dd30d3c68e13"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [ ] Add an entry to `CHANGELOG.md` under the `## main` section.
2025-09-10 14:37:23 +03:00
Harel M
3725f83b48 Update React to 19 (#1360)
## Launch Checklist

This updates React to 19.
It removes the unmaintained `react-icon-base` package and uses icons
from the existing one (also removes the svgs).
It also updates the other packages so that everything should be up to
date.

 - [x] Briefly describe the changes in this PR.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-09 22:52:52 +00:00
Harel M
7bfc3188f7 Fix layer selection (#1366)
## Launch Checklist

- This fixes the issue of layer selection that was introduced as part of
the migration to dnd-kit #1359
- Fixes #1364

This also adds the relevant test.

 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
 - [x] Write tests for all new functionality.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-10 01:46:58 +03:00
Harel M
25d6e9693d Enhance RTL support in _layer.scss (#1365)
Added alignment to item handle and adjusted SVG margins for RTL support,
and fix menu.

## Launch Checklist

Before:
<img width="610" height="465" alt="image"
src="https://github.com/user-attachments/assets/8931d5af-e545-4b37-b764-ca660b182c27"
/>
After:
<img width="610" height="465" alt="image"
src="https://github.com/user-attachments/assets/07d865c0-bd1b-4fd6-bd4f-cd3a8c17126a"
/>


 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
2025-09-10 01:17:18 +03:00
156 changed files with 8705 additions and 5232 deletions

View File

@@ -11,7 +11,26 @@ updates:
interval: "daily"
open-pull-requests-limit: 20
versioning-strategy: increase
groups:
vitest:
patterns:
- "*vitest*"
cooldown:
default-days: 5
semver-major-days: 5
semver-minor-days: 3
semver-patch-days: 3
include:
- "*"
exclude:
- "@maplibre/*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 3
# no semver support for github-actions
# => no specific configuration for this
include:
- "*"

View File

@@ -7,11 +7,11 @@ permissions: write-all
jobs:
dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2.4.0
uses: dependabot/fetch-metadata@08eff52bf64351f401fb50d4972fa95b9f2c2d1b # v2.4.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve Dependabot PRs

View File

@@ -11,7 +11,8 @@ jobs:
build-node:
name: "build on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
permissions:
contents: read
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
strategy:
@@ -20,8 +21,9 @@ jobs:
os: [ ubuntu-latest, windows-latest, macos-latest ]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: '.nvmrc'
- run: npm ci
@@ -34,24 +36,27 @@ jobs:
build-artifacts:
name: "build artifacts"
runs-on: ubuntu-latest
permissions:
contents: read
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: '.nvmrc'
- run: npm ci
- run: npm run build
- name: artifacts/maputnik
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: maputnik
path: dist
# Build and upload desktop CLI artifacts
- name: Set up Go
uses: actions/setup-go@v6
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ^1.23.x
cache-dependency-path: desktop/go.sum
@@ -61,39 +66,59 @@ jobs:
run: npm run build-desktop
- name: Artifacts/linux
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: maputnik-linux
path: ./desktop/bin/linux/
- name: Artifacts/darwin
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: maputnik-darwin
path: ./desktop/bin/darwin/
- name: Artifacts/windows
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: maputnik-windows
path: ./desktop/bin/windows/
unit-tests:
name: "Unit tests"
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- run: npm ci
- run: npm run test-unit-ci
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ${{ github.workspace }}/coverage/coverage-final.json
verbose: true
e2e-tests:
name: "E2E tests using chrome"
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- run: npm ci
- name: Cypress run
uses: cypress-io/github-action@v6
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
with:
build: npm run build
start: npm run start
browser: chrome
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ${{ github.workspace }}/.nyc_output/out.json
verbose: true
@@ -104,16 +129,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- run: npm ci
- name: Cypress run
uses: cypress-io/github-action@v6
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
with:
build: docker build -t maputnik .
start: docker run --rm --network host maputnik --port=8888
browser: chrome
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ${{ github.workspace }}/.nyc_output/out.json
verbose: true

View File

@@ -38,11 +38,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -53,7 +53,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -67,4 +67,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5

View File

@@ -16,13 +16,13 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
fetch-depth: 0
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@v5
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: ".nvmrc"
@@ -32,7 +32,7 @@ jobs:
./build/bump-version-changelog.js ${{ inputs.version }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
with:
commit-message: Bump version to ${{ inputs.version }}
branch: bump-version-to-${{ inputs.version }}

View File

@@ -8,12 +8,15 @@ jobs:
deploy-pages:
name: deploy/pages
runs-on: ubuntu-latest
permissions:
contents: write
if: ${{ github.event_name == 'push' }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: { persist-credentials: false }
- name: Use Node.js from nvmrc
uses: actions/setup-node@v5
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: '.nvmrc'
@@ -24,7 +27,7 @@ jobs:
run: npm run build
- name: Upload to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: dist
@@ -33,19 +36,20 @@ jobs:
deploy-docker:
name: deploy/docker
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- run: docker build -t ghcr.io/maplibre/maputnik:main .
- run: docker push ghcr.io/maplibre/maputnik:main

View File

@@ -12,20 +12,23 @@ jobs:
defaults:
run:
shell: bash
permissions:
contents: read
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
fetch-depth: 0
ref: main
persist-credentials: false
- name: Use Node.js from nvmrc
uses: actions/setup-node@v5
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: ".nvmrc"
- name: Check if version has been updated
id: check
uses: EndBug/version-check@v2
uses: EndBug/version-check@d17247dd94ca7b39d0b0691399be8d7c510622c9 # latest
outputs:
publish: ${{ steps.check.outputs.changed }}
@@ -39,19 +42,19 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
fetch-depth: 0
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@v5
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version-file: ".nvmrc"
registry-url: "https://registry.npmjs.org"
- name: Set up Go for desktop build
uses: actions/setup-go@v6
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ^1.23.x
cache-dependency-path: desktop/go.sum
@@ -59,7 +62,7 @@ jobs:
- name: Get version
id: package-version
uses: martinbeentjes/npm-get-version-action@v1.3.1
uses: martinbeentjes/npm-get-version-action@3cf273023a0dda27efcd3164bdfb51908dd46a5b # v1.3.1
- name: Install
run: npm ci
@@ -70,7 +73,7 @@ jobs:
- name: Tag commit and push
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
uses: mathieudutour/github-tag-action@a22cf08638b34d5badda920f9daf6e72c477b07b # v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
custom_tag: ${{ steps.package-version.outputs.current-version }}
@@ -88,7 +91,7 @@ jobs:
- name: Create GitHub Release
id: create_regular_release
uses: ncipollo/release-action@v1
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:

View File

@@ -1,10 +1,32 @@
## main
### ✨ Features and improvements
- Added translation to "Links" in debug modal
- Add support for hillshade's color arrays and relief-color elevation expression
- Change layers icons to make them a bit more distinct
- Remove `@mdi` packages in favor of `react-icons`
- Add ability to control the projection of the map - either globe or mercator
- Add markdown support for doc related to the style-spec fields
- Added global state modal to allow editing the global state
- Added color highlight for problematic properties
- Upgraded codemirror from version 5 to version 6
- Add code editor to allow editing the entire style
- Add support for sprite object in setting modal
- Allow root-relative urls in the stylefile
- _...Add new stuff here..._
### 🐞 Bug fixes
- Fixed the Expression editor (for long expressions) being able to be float under other components further down
- Fixed an issue when clicking on a popup and then clicking on the map again
- Fix modal close button possition
- Fixed an issue with the generation of tranlations
- Fix missing spec info when clicking next to a property
- Fix Firefox open file that stopped working due to react upgrade
- Fix issue with missing bottom error panel
- Fixed headers in left panes (Layers list and Layer editor) to remain visible when scrolling
- Fix error when using a source from localhost
- Fix an issue with scrolling when using the code editor
- _...Add new stuff here..._
## 3.0.0

View File

@@ -10,12 +10,12 @@
* https://github.com/maplibre/maplibre-gl-js/blob/bc70bc559cea5c987fa1b79fd44766cef68bbe28/build/release-notes.js
*/
import * as fs from 'fs';
import * as fs from "fs";
const changelogPath = 'CHANGELOG.md';
let changelog = fs.readFileSync(changelogPath, 'utf8');
changelog = changelog.replace('## main', `## ${process.argv[2]}`);
changelog = changelog.replaceAll('- _...Add new stuff here..._\n', '');
const changelogPath = "CHANGELOG.md";
let changelog = fs.readFileSync(changelogPath, "utf8");
changelog = changelog.replace("## main", `## ${process.argv[2]}`);
changelog = changelog.replaceAll("- _...Add new stuff here..._\n", "");
changelog = `## main
### ✨ Features and improvements
@@ -26,4 +26,4 @@ changelog = `## main
` + changelog;
fs.writeFileSync(changelogPath, changelog, 'utf8');
fs.writeFileSync(changelogPath, changelog, "utf8");

View File

@@ -3,10 +3,10 @@
// Copied from maplibre/maplibre-gl-js
// https://github.com/maplibre/maplibre-gl-js/blob/bc70bc559cea5c987fa1b79fd44766cef68bbe28/build/release-notes.js
import * as fs from 'fs';
import * as fs from "fs";
const changelogPath = 'CHANGELOG.md';
const changelog = fs.readFileSync(changelogPath, 'utf8');
const changelogPath = "CHANGELOG.md";
const changelog = fs.readFileSync(changelogPath, "utf8");
/*
Parse the raw changelog text and split it into individual releases.
@@ -25,8 +25,8 @@ let match;
// eslint-disable-next-line no-cond-assign
while (match = regex.exec(changelog)) {
releaseNotes.push({
'version': match[1],
'changelog': match[2].trim(),
"version": match[1],
"changelog": match[2].trim(),
});
}
@@ -35,10 +35,10 @@ const previous = releaseNotes[1];
// Print the release notes template.
let header = 'Changes since previous version'
let header = "Changes since previous version";
if (previous) {
header = `https://github.com/maplibre/maputnik
[Changes](https://github.com/maplibre/maputnik/compare/v${previous.version}...v${latest.version}) since [Maputnik v${previous.version}](https://github.com/maplibre/maputnik/releases/tag/v${previous.version})`
[Changes](https://github.com/maplibre/maputnik/compare/v${previous.version}...v${latest.version}) since [Maputnik v${previous.version}](https://github.com/maplibre/maputnik/releases/tag/v${previous.version})`;
}
const templatedReleaseNotes = `${header}

View File

@@ -16,6 +16,7 @@ export default defineConfig({
return config;
},
baseUrl: "http://localhost:8888",
scrollBehavior: "center",
retries: {
runMode: 2,
openMode: 0,

View File

@@ -18,10 +18,10 @@ describe("accessibility", () => {
then(get.skipTargetLayerList()).shouldBeFocused();
});
// This fails for some reason only in Chrome, but passes in firefox. Adding a skip here to allow merge and later on we'll decide if we want to fix this or not.
it.skip("skip link to layer editor", () => {
it("skip link to layer editor", () => {
const selector = "root:skip:layer-editor";
then(get.elementByTestId(selector)).shouldExist();
then(get.elementByTestId("skip-target-layer-editor")).shouldExist();
when.tab().tab();
then(get.elementByTestId(selector)).shouldBeFocused();
when.click(selector);

View File

@@ -0,0 +1,18 @@
import { MaputnikDriver } from "./maputnik-driver";
describe("code editor", () => {
const { beforeAndAfter, when, get, then } = new MaputnikDriver();
beforeAndAfter();
it("open code editor", () => {
when.click("nav:code-editor");
then(get.element(".maputnik-code-editor")).shouldExist();
});
it("closes code editor", () => {
when.click("nav:code-editor");
then(get.element(".maputnik-code-editor")).shouldExist();
when.click("nav:code-editor");
then(get.element(".maputnik-code-editor")).shouldNotExist();
});
});

View File

@@ -0,0 +1,294 @@
import { MaputnikDriver } from "./maputnik-driver";
import { v1 as uuid } from "uuid";
describe("layer editor", () => {
const { beforeAndAfter, get, when, then } = new MaputnikDriver();
beforeAndAfter();
beforeEach(() => {
when.setStyle("both");
when.modal.open();
});
function createBackground() {
const id = uuid();
when.selectWithin("add-layer.layer-type", "background");
when.setValue("add-layer.layer-id.input", "background:" + id);
when.click("add-layer");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + id,
type: "background",
},
],
});
return id;
}
it("expand/collapse");
it("id", () => {
const bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
const id = uuid();
when.setValue("layer-editor.layer-id.input", "foobar:" + id);
when.click("min-zoom");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "foobar:" + id,
type: "background",
},
],
});
});
describe("source", () => {
it("should show error when the source is invalid", () => {
when.modal.fillLayers({
type: "circle",
layer: "invalid",
});
then(get.element(".maputnik-input-block--error .maputnik-input-block-label")).shouldHaveCss("color", "rgb(207, 74, 74)");
});
});
describe("min-zoom", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("min-zoom.input-text", "1");
when.click("layer-editor.layer-id");
});
it("should update min-zoom in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
minzoom: 1,
},
],
});
});
it("when clicking next layer should update style on local storage", () => {
when.type("min-zoom.input-text", "{backspace}");
when.click("max-zoom.input-text");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
minzoom: 1,
},
],
});
});
});
describe("max-zoom", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("max-zoom.input-text", "1");
when.click("layer-editor.layer-id");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
maxzoom: 1,
},
],
});
});
});
describe("comments", () => {
let bgId: string;
const comment = "42";
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("layer-comment.input", comment);
when.click("layer-editor.layer-id");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
metadata: {
"maputnik:comment": comment,
},
},
],
});
});
describe("when unsetting", () => {
beforeEach(() => {
when.clear("layer-comment.input");
when.click("min-zoom.input-text");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
},
],
});
});
});
});
describe("color", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.click("spec-field:background-color");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
},
],
});
});
});
describe("opacity", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.type("spec-field-input:background-opacity", "0.");
});
it("should keep '.' in the input field", () => {
then(get.elementByTestId("spec-field-input:background-opacity")).shouldHaveValue("0.");
});
it("should revert to a valid value when focus out", () => {
when.click("layer-list-item:background:" + bgId);
then(get.elementByTestId("spec-field-input:background-opacity")).shouldHaveValue("0");
});
});
describe("filter", () => {
it("expand/collapse");
it("compound filter");
});
describe("layout", () => {
it("text-font", () => {
when.setStyle("font");
when.collapseGroupInLayerEditor();
when.collapseGroupInLayerEditor(1);
when.collapseGroupInLayerEditor(2);
when.doWithin("spec-field:text-font", () => {
get.element(".maputnik-autocomplete input").first().click();
});
then(get.element(".maputnik-autocomplete-menu-item")).shouldBeVisible();
then(get.element(".maputnik-autocomplete-menu-item")).shouldHaveLength(3);
});
});
describe("paint", () => {
it("expand/collapse");
it("color");
it("pattern");
it("opacity");
});
describe("json-editor", () => {
it("add", () => {
const id = when.modal.fillLayers({
type: "circle",
layer: "example",
});
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "circle",
source: "example",
},
],
});
const sourceText = get.elementByText('"source"');
sourceText.click();
sourceText.type("\"");
then(get.element(".cm-lint-marker-error")).shouldExist();
});
it("expand/collapse");
it("modify");
it("parse error", () => {
const bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.collapseGroupInLayerEditor();
when.collapseGroupInLayerEditor(1);
then(get.element(".cm-lint-marker-error")).shouldNotExist();
when.appendTextInJsonEditor(
"\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013 {"
);
then(get.element(".cm-lint-marker-error")).shouldExist();
});
});
describe("sticky header", () => {
it("should keep layer header visible when scrolling properties", () => {
// Setup: Create a layer with many properties (e.g., symbol layer)
when.modal.fillLayers({
type: "symbol",
layer: "example",
});
when.wait(500);
const header = get.elementByTestId("layer-editor.header");
then(header).shouldBeVisible();
get.element(".maputnik-scroll-container").scrollTo("bottom", { ensureScrollable: false });
when.wait(200);
then(header).shouldBeVisible();
then(get.elementByTestId("skip-target-layer-editor")).shouldBeVisible();
});
});
});

View File

@@ -1,7 +1,6 @@
import { v1 as uuid } from "uuid";
import { MaputnikDriver } from "./maputnik-driver";
describe("layers", () => {
describe("layers list", () => {
const { beforeAndAfter, get, when, then } = new MaputnikDriver();
beforeAndAfter();
beforeEach(() => {
@@ -97,8 +96,26 @@ describe("layers", () => {
});
});
});
describe("when selecting a layer", () => {
let secondId: string;
beforeEach(() => {
when.modal.open();
secondId = when.modal.fillLayers({
id: "second-layer",
type: "background",
});
});
it("should show the selected layer in the editor", () => {
when.realClick("layer-list-item:" + secondId);
then(get.elementByTestId("layer-editor.layer-id.input")).shouldHaveValue(secondId);
when.realClick("layer-list-item:" + id);
then(get.elementByTestId("layer-editor.layer-id.input")).shouldHaveValue(id);
});
});
});
});
describe("background", () => {
it("add", () => {
const id = when.modal.fillLayers({
@@ -114,227 +131,7 @@ describe("layers", () => {
});
});
describe("modify", () => {
function createBackground() {
// Setup
const id = uuid();
when.selectWithin("add-layer.layer-type", "background");
when.setValue("add-layer.layer-id.input", "background:" + id);
when.click("add-layer");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + id,
type: "background",
},
],
});
return id;
}
// ====> THESE SHOULD BE FROM THE SPEC
describe("layer", () => {
it("expand/collapse");
it("id", () => {
const bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
const id = uuid();
when.setValue("layer-editor.layer-id.input", "foobar:" + id);
when.click("min-zoom");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "foobar:" + id,
type: "background",
},
],
});
});
describe("min-zoom", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("min-zoom.input-text", "1");
when.click("layer-editor.layer-id");
});
it("should update min-zoom in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
minzoom: 1,
},
],
});
});
it("when clicking next layer should update style on local storage", () => {
when.type("min-zoom.input-text", "{backspace}");
when.click("max-zoom.input-text");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
minzoom: 1,
},
],
});
});
});
describe("max-zoom", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("max-zoom.input-text", "1");
when.click("layer-editor.layer-id");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
maxzoom: 1,
},
],
});
});
});
describe("comments", () => {
let bgId: string;
const comment = "42";
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.setValue("layer-comment.input", comment);
when.click("layer-editor.layer-id");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
metadata: {
"maputnik:comment": comment,
},
},
],
});
});
describe("when unsetting", () => {
beforeEach(() => {
when.clear("layer-comment.input");
when.click("min-zoom.input-text");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
},
],
});
});
});
});
describe("color", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.click("spec-field:background-color");
});
it("should update style in local storage", () => {
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: "background:" + bgId,
type: "background",
},
],
});
});
});
describe("opacity", () => {
let bgId: string;
beforeEach(() => {
bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
when.type("spec-field-input:background-opacity", "0.");
});
it("should keep '.' in the input field", () => {
then(get.elementByTestId("spec-field-input:background-opacity")).shouldHaveValue("0.");
});
it("should revert to a valid value when focus out", () => {
when.click("layer-list-item:background:" + bgId);
then(get.elementByTestId("spec-field-input:background-opacity")).shouldHaveValue('0');
});
});
});
describe("filter", () => {
it("expand/collapse");
it("compound filter");
});
describe("paint", () => {
it("expand/collapse");
it("color");
it("pattern");
it("opacity");
});
// <=====
describe("json-editor", () => {
it("expand/collapse");
it("modify");
// TODO
it.skip("parse error", () => {
const bgId = createBackground();
when.click("layer-list-item:background:" + bgId);
const errorSelector = ".CodeMirror-lint-marker-error";
then(get.elementByTestId(errorSelector)).shouldNotExist();
when.click(".CodeMirror");
when.typeKeys(
"\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013\uE013 {"
);
then(get.elementByTestId(errorSelector)).shouldExist();
});
});
});
describe("modify", () => {});
});
describe("fill", () => {
@@ -449,6 +246,44 @@ describe("layers", () => {
],
});
});
it("should show spec info when hovering and clicking single line property", () => {
when.modal.fillLayers({
type: "symbol",
layer: "example",
});
when.hover("spec-field-container:text-rotate");
then(get.elementByTestId("field-doc-button-Rotate")).shouldBeVisible();
when.click("field-doc-button-Rotate", 0);
then(get.elementByTestId("spec-field-doc")).shouldContainText("Rotates the ");
});
it("should show spec info when hovering and clicking multi line property", () => {
when.modal.fillLayers({
type: "symbol",
layer: "example",
});
when.hover("spec-field-container:text-offset");
then(get.elementByTestId("field-doc-button-Offset")).shouldBeVisible();
when.click("field-doc-button-Offset", 0);
then(get.elementByTestId("spec-field-doc")).shouldContainText("Offset distance");
});
it("should hide spec info when clicking a second time", () => {
when.modal.fillLayers({
type: "symbol",
layer: "example",
});
when.hover("spec-field-container:text-rotate");
then(get.elementByTestId("field-doc-button-Rotate")).shouldBeVisible();
when.click("field-doc-button-Rotate", 0);
when.wait(200);
when.click("field-doc-button-Rotate", 0);
then(get.elementByTestId("spec-field-doc")).shouldNotBeVisible();
});
});
describe("raster", () => {
@@ -508,6 +343,104 @@ describe("layers", () => {
});
});
describe("hillshade", () => {
it("add", () => {
const id = when.modal.fillLayers({
type: "hillshade",
layer: "example",
});
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "hillshade",
source: "example",
},
],
});
});
it("set hillshade illumination direction array", () => {
const id = when.modal.fillLayers({
type: "hillshade",
layer: "example",
});
when.collapseGroupInLayerEditor();
when.collapseGroupInLayerEditor(1);
when.setValueToPropertyArray("spec-field:hillshade-illumination-direction", "1");
when.addValueToPropertyArray("spec-field:hillshade-illumination-direction", "2");
when.addValueToPropertyArray("spec-field:hillshade-illumination-direction", "3");
when.addValueToPropertyArray("spec-field:hillshade-illumination-direction", "4");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "hillshade",
source: "example",
paint: {
"hillshade-illumination-direction": [ 1, 2, 3, 4 ]
}
},
],
});
});
it("set hillshade highlight color array", () => {
const id = when.modal.fillLayers({
type: "hillshade",
layer: "example",
});
when.collapseGroupInLayerEditor();
when.setValueToPropertyArray("spec-field:hillshade-highlight-color", "blue");
when.addValueToPropertyArray("spec-field:hillshade-highlight-color", "#00ff00");
when.addValueToPropertyArray("spec-field:hillshade-highlight-color", "rgba(255, 255, 0, 1)");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "hillshade",
source: "example",
paint: {
"hillshade-highlight-color": [ "blue", "#00ff00", "rgba(255, 255, 0, 1)" ]
}
},
],
});
});
});
describe("color-relief", () => {
it("add", () => {
const id = when.modal.fillLayers({
type: "color-relief",
layer: "example",
});
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "color-relief",
source: "example",
},
],
});
});
it("adds elevation expression when clicking the elevation button", () => {
when.modal.fillLayers({
type: "color-relief",
layer: "example",
});
when.collapseGroupInLayerEditor();
when.click("make-elevation-function");
then(get.element("[data-wd-key='spec-field-container:color-relief-color'] .cm-line")).shouldBeVisible();
});
});
describe("groups", () => {
it("simple", () => {
when.setStyle("geojson");
@@ -544,33 +477,6 @@ describe("layers", () => {
});
});
describe("layereditor jsonlint should error", ()=>{
it("add", () => {
const id = when.modal.fillLayers({
type: "circle",
layer: "example",
});
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
{
id: id,
type: "circle",
source: "example",
},
],
});
const sourceText = get.elementByText('"source"');
sourceText.click();
sourceText.type("\"");
const error = get.element('.CodeMirror-lint-marker-error');
error.should('exist');
});
});
describe("drag and drop", () => {
it("move layer should update local storage", () => {
when.modal.open();
@@ -588,7 +494,8 @@ describe("layers", () => {
id: "c",
type: "background",
});
when.dragAndDrop(get.elementByTestId("layer-list-item:" + firstId), get.elementByTestId("layer-list-item:" + thirdId));
when.dragAndDropWithWait("layer-list-item:" + firstId, "layer-list-item:" + thirdId);
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
layers: [
@@ -608,4 +515,27 @@ describe("layers", () => {
});
});
});
describe("sticky header", () => {
it("should keep header visible when scrolling layer list", () => {
// Setup: Create multiple layers to enable scrolling
for (let i = 0; i < 20; i++) {
when.modal.open();
when.modal.fillLayers({
id: `layer-${i}`,
type: "background",
});
}
when.wait(500);
const header = get.elementByTestId("layer-list.header");
then(header).shouldBeVisible();
// Scroll the layer list container (use ensureScrollable: false to avoid flakiness)
get.elementByTestId("layer-list").scrollTo("bottom", { ensureScrollable: false });
when.wait(200);
then(header).shouldBeVisible();
then(get.elementByTestId("layer-list:add-layer")).shouldBeVisible();
});
});
});

View File

@@ -25,8 +25,27 @@ describe("map", () => {
});
describe("search", () => {
it('should exist', () => {
it("should exist", () => {
then(get.searchControl()).shouldBeVisible();
});
});
describe("popup", () => {
beforeEach(() => {
when.setStyle("rectangles");
});
it("should open on feature click", () => {
when.clickCenter("maplibre:map");
then(get.elementByTestId("feature-layer-popup")).shouldBeVisible();
});
it("should open a second feature after closing popup", () => {
when.clickCenter("maplibre:map");
then(get.elementByTestId("feature-layer-popup")).shouldBeVisible();
when.closePopup();
then(get.elementByTestId("feature-layer-popup")).shouldNotExist();
when.clickCenter("maplibre:map");
then(get.elementByTestId("feature-layer-popup")).shouldBeVisible();
});
});
});

View File

@@ -1,4 +1,6 @@
/// <reference types="cypress-real-events" />
import { CypressHelper } from "@shellygo/cypress-test-utils";
import "cypress-real-events/support";
export default class MaputnikCypressHelper {
private helper = new CypressHelper({ defaultDataAttribute: "data-wd-key" });
@@ -12,6 +14,34 @@ export default class MaputnikCypressHelper {
};
public when = {
dragAndDropWithWait: (element: string, targetElement: string) => {
this.helper.get.elementByTestId(element).realMouseDown({ button: "left", position: "center" });
this.helper.get.elementByTestId(element).realMouseMove(0, 10, { position: "center" });
this.helper.get.elementByTestId(targetElement).realMouseMove(0, 0, { position: "center" });
this.helper.when.wait(1);
this.helper.get.elementByTestId(targetElement).realMouseUp();
},
clickCenter: (element: string) => {
this.helper.get.elementByTestId(element).realMouseDown({ button: "left", position: "center" });
this.helper.when.wait(200);
this.helper.get.elementByTestId(element).realMouseUp();
},
openFileByFixture: (fixture: string, buttonTestId: string, inputTestId: string) => {
cy.window().then((win) => {
const file = {
text: cy.stub().resolves(cy.fixture(fixture).then(JSON.stringify)),
};
const fileHandle = {
getFile: cy.stub().resolves(file),
};
if (!win.showOpenFilePicker) {
this.helper.get.elementByTestId(inputTestId).selectFile("cypress/fixtures/" + fixture, { force: true });
} else {
cy.stub(win, "showOpenFilePicker").resolves([fileHandle]);
this.helper.get.elementByTestId(buttonTestId).click();
}
});
},
...this.helper.when,
};

View File

@@ -78,6 +78,20 @@ export class MaputnikDriver {
fixture: "geojson-raster-style.json",
},
});
this.helper.given.interceptAndMockResponse({
method: "GET",
url: baseUrl + "rectangles-style.json",
response: {
fixture: "rectangles-style.json",
},
});
this.helper.given.interceptAndMockResponse({
method: "GET",
url: baseUrl + "example-style-with-fonts.json",
response: {
fixture: "example-style-with-fonts.json",
},
});
this.helper.given.interceptAndMockResponse({
method: "GET",
url: "*example.local/*",
@@ -88,6 +102,11 @@ export class MaputnikDriver {
url: "*example.com/*",
response: [],
});
this.helper.given.interceptAndMockResponse({
method: "GET",
url: "https://www.glyph-server.com/*",
response: ["Font 1", "Font 2", "Font 3"],
});
},
};
@@ -102,29 +121,36 @@ export class MaputnikDriver {
this.helper.when.waitForResponse("example-style.json");
},
chooseExampleFile: () => {
this.helper.get
.bySelector("type", "file")
.selectFile("cypress/fixtures/example-style.json", { force: true });
this.helper.given.fixture("example-style.json", "example-style.json");
this.helper.when.openFileByFixture("example-style.json", "modal:open.file.button", "modal:open.file.input");
this.helper.when.wait(200);
},
setStyle: (
styleProperties: "geojson" | "raster" | "both" | "layer" | "",
styleProperties: "geojson" | "raster" | "both" | "layer" | "rectangles" | "font" | "",
zoom?: number
) => {
const url = new URL(baseUrl);
switch (styleProperties) {
case "geojson":
url.searchParams.set("style", baseUrl + "geojson-style.json");
break;
case "raster":
url.searchParams.set("style", baseUrl + "raster-style.json");
break;
case "both":
url.searchParams.set("style", baseUrl + "geojson-raster-style.json");
break;
case "layer":
url.searchParams.set("style", baseUrl + "example-layer-style.json");
break;
case "geojson":
url.searchParams.set("style", baseUrl + "geojson-style.json");
break;
case "raster":
url.searchParams.set("style", baseUrl + "raster-style.json");
break;
case "both":
url.searchParams.set("style", baseUrl + "geojson-raster-style.json");
break;
case "layer":
url.searchParams.set("style", baseUrl + "example-layer-style.json");
break;
case "rectangles":
url.searchParams.set("style", baseUrl + "rectangles-style.json");
break;
case "font":
url.searchParams.set("style", baseUrl + "example-style-with-fonts.json");
break;
}
if (zoom) {
url.hash = `${zoom}/41.3805/2.1635`;
}
@@ -133,7 +159,7 @@ export class MaputnikDriver {
this.helper.when.acceptConfirm();
}
// when methods should not include assertions
const toolbarLink = this.helper.get.elementByTestId("toolbar:link")
const toolbarLink = this.helper.get.elementByTestId("toolbar:link");
toolbarLink.scrollIntoView();
toolbarLink.should("be.visible");
},
@@ -164,6 +190,35 @@ export class MaputnikDriver {
.clear()
.type(text, { parseSpecialCharSequences: false });
},
setValueToPropertyArray: (selector: string, value: string) => {
this.when.doWithin(selector, () => {
this.helper.get.element(".maputnik-array-block-content input").last().type("{selectall}"+value, {force: true });
});
},
addValueToPropertyArray: (selector: string, value: string) => {
this.when.doWithin(selector, () => {
this.helper.get.element(".maputnik-array-add-value").click({ force: true });
this.helper.get.element(".maputnik-array-block-content input").last().type("{selectall}"+value, {force: true });
});
},
closePopup: () => {
this.helper.get.element(".maplibregl-popup-close-button").click();
},
collapseGroupInLayerEditor: (index = 0) => {
this.helper.get.element(".maputnik-layer-editor-group__button").eq(index).realClick();
},
appendTextInJsonEditor: (text: string) => {
this.helper.get.element(".cm-line").first().click().type(text, { parseSpecialCharSequences: false });
},
setTextInJsonEditor: (text: string) => {
this.helper.get.element(".cm-line").first().click().clear().type(text, { parseSpecialCharSequences: false });
}
};
public get = {
@@ -183,6 +238,6 @@ export class MaputnikDriver {
skipTargetLayerEditor: () =>
this.helper.get.elementByTestId("skip-target-layer-editor"),
canvas: () => this.helper.get.element("canvas"),
searchControl: () => this.helper.get.element('.maplibregl-ctrl-geocoder')
searchControl: () => this.helper.get.element(".maplibregl-ctrl-geocoder")
};
}

View File

@@ -18,10 +18,9 @@ describe("modals", () => {
then(get.elementByTestId("modal:open")).shouldNotExist();
});
it.skip("upload", () => {
// HM: I was not able to make the following choose file actually to select a file and close the modal...
it("upload", () => {
when.chooseExampleFile();
then(get.responseBody("example-style.json")).shouldEqualToStoredStyle();
then(get.fixture("example-style.json")).shouldEqualToStoredStyle();
});
describe("when click open url", () => {
@@ -171,12 +170,22 @@ describe("modals", () => {
});
it("sprite url", () => {
when.setValue("modal:settings.sprite", "http://example.com");
when.setTextInJsonEditor("\"http://example.com\"");
when.click("modal:settings.name");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
sprite: "http://example.com",
});
});
it("sprite object", () => {
when.setTextInJsonEditor(JSON.stringify([{ id: "1", url: "2" }]));
when.click("modal:settings.name");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
sprite: [{ id: "1", url: "2" }],
});
});
it("glyphs url", () => {
const glyphsUrl = "http://example.com/{fontstack}/{range}.pbf";
when.setValue("modal:settings.glyphs", glyphsUrl);
@@ -236,6 +245,29 @@ describe("modals", () => {
).shouldInclude({ "maputnik:locationiq_access_token": apiKey });
});
it("style projection mercator", () => {
when.select("modal:settings.projection", "mercator");
then(
get.styleFromLocalStorage().then((style) => style.projection)
).shouldInclude({ type: "mercator" });
});
it("style projection globe", () => {
when.select("modal:settings.projection", "globe");
then(
get.styleFromLocalStorage().then((style) => style.projection)
).shouldInclude({ type: "globe" });
});
it("style projection vertical-perspective", () => {
when.select("modal:settings.projection", "vertical-perspective");
then(
get.styleFromLocalStorage().then((style) => style.projection)
).shouldInclude({ type: "vertical-perspective" });
});
it("style renderer", () => {
cy.on("uncaught:exception", () => false); // this is due to the fact that this is an invalid style for openlayers
when.select("modal:settings.maputnik:renderer", "ol");
@@ -253,10 +285,10 @@ describe("modals", () => {
it("inlcude API key when change renderer", () => {
when.click("modal:settings.close-modal")
when.click("modal:settings.close-modal");
when.click("nav:open");
get.elementByAttribute('aria-label', "MapTiler Basic").should('exist').click();
get.elementByAttribute("aria-label", "MapTiler Basic").should("exist").click();
when.wait(1000);
when.click("nav:settings");
@@ -304,6 +336,79 @@ describe("modals", () => {
it("toggle");
});
describe("global state", () => {
beforeEach(() => {
when.click("nav:global-state");
});
it("add variable", () => {
when.wait(100);
when.click("global-state-add-variable");
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
state: { key1: { default: "value" } },
});
});
it("add multiple variables", () => {
when.click("global-state-add-variable");
when.click("global-state-add-variable");
when.click("global-state-add-variable");
when.wait(100);
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
state: { key1: { default: "value" }, key2: { default: "value" }, key3: { default: "value" } },
});
});
it("remove variable", () => {
when.click("global-state-add-variable");
when.click("global-state-add-variable");
when.click("global-state-add-variable");
when.click("global-state-remove-variable", 0);
when.wait(100);
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
state: { key2: { default: "value" }, key3: { default: "value" } },
});
});
it("edit variable key", () => {
when.click("global-state-add-variable");
when.wait(100);
when.setValue("global-state-variable-key:0", "mykey");
when.typeKeys("{enter}");
when.wait(100);
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
state: { mykey: { default: "value" } },
});
});
it("edit variable value", () => {
when.click("global-state-add-variable");
when.wait(100);
when.setValue("global-state-variable-value:0", "myvalue");
when.typeKeys("{enter}");
when.wait(100);
then(get.styleFromLocalStorage()).shouldDeepNestedInclude({
state: { key1: { default: "myvalue" } },
});
});
});
describe("error panel", () => {
it("not visible when no errors", () => {
then(get.element("maputnik-message-panel-error")).shouldNotExist();
});
it("visible on style error", () => {
when.modal.open();
when.modal.fillLayers({
type: "circle",
layer: "invalid",
});
then(get.element(".maputnik-message-panel-error")).shouldBeVisible();
});
});
describe("Handle localStorage QuotaExceededError", () => {
it("handles quota exceeded error when opening style from URL", () => {
// Clear localStorage to start fresh
@@ -322,7 +427,7 @@ describe("modals", () => {
win.localStorage.setItem(key, chunk);
} catch (e: any) {
// Verify it's a quota error
if (e.name === 'QuotaExceededError') {
if (e.name === "QuotaExceededError") {
if (chunkSize <= 1) return;
else {
chunkSize /= 2;

View File

@@ -0,0 +1,38 @@
{
"id": "test-style",
"version": 8,
"name": "Test Style",
"metadata": {
"maputnik:renderer": "mlgljs"
},
"sources": {
"example": {
"type": "geojson",
"data": {
"type": "FeatureCollection",
"features":[{
"type": "Feature",
"properties": {
"name": "Dinagat Islands"
},
"geometry":{
"type": "Point",
"coordinates": [125.6, 10.1]
}
}]
}
}
},
"glyphs": "https://www.glyph-server.com/fonts/{fontstack}/{range}.pbf",
"sprites": "https://example.local/fonts/{fontstack}/{range}.pbf",
"layers": [
{
"id": "label",
"type": "symbol",
"source": "example",
"layout": {
"text-font": ["Font"]
}
}
]
}

View File

@@ -0,0 +1,92 @@
{
"version": 8,
"sources": {
"rectangles": {
"type": "geojson",
"data": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-130.78125,
-33.13755119234615
],
[
-130.78125,
63.548552232036414
],
[
15.468749999999998,
63.548552232036414
],
[
15.468749999999998,
-33.13755119234615
],
[
-130.78125,
-33.13755119234615
]
]
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-48.515625,
-54.97761367069625
],
[
-48.515625,
36.5978891330702
],
[
169.45312499999997,
36.5978891330702
],
[
169.45312499999997,
-54.97761367069625
],
[
-48.515625,
-54.97761367069625
]
]
]
}
}
]
}
}
},
"layers": [
{
"id": "background",
"type": "background",
"paint": {
"background-color": "white"
}
},
{
"id": "rectangles",
"type": "fill",
"source": "rectangles",
"paint": {
"fill-opacity": 0.3
}
}
]
}

View File

@@ -14,9 +14,9 @@
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
import "./commands";
import { mount } from 'cypress/react'
import { mount } from "cypress/react";
// Augment the Cypress namespace to include type definitions for
// your custom command.
@@ -31,7 +31,7 @@ declare global {
}
}
Cypress.Commands.add('mount', mount)
Cypress.Commands.add("mount", mount);
// Example use:
// cy.mount(<MyComponent />)

View File

@@ -1,56 +1,65 @@
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import reactPlugin from 'eslint-plugin-react';
import reactHooksPlugin from 'eslint-plugin-react-hooks';
import reactRefreshPlugin from 'eslint-plugin-react-refresh';
import eslint from "@eslint/js";
import {defineConfig} from "eslint/config";
import stylisticTs from "@stylistic/eslint-plugin";
import tseslint from "typescript-eslint";
import reactPlugin from "eslint-plugin-react";
import reactHooksPlugin from "eslint-plugin-react-hooks";
import reactRefreshPlugin from "eslint-plugin-react-refresh";
export default tseslint.config({
export default defineConfig({
extends: [
eslint.configs.recommended,
tseslint.configs.recommended,
],
files: ['**/*.{js,jsx,ts,tsx}'],
files: ["**/*.{js,jsx,ts,tsx}"],
ignores: [
"dist/**/*",
],
languageOptions: {
ecmaVersion: 2024,
sourceType: 'module',
sourceType: "module",
globals: {
global: 'readonly'
global: "readonly"
}
},
settings: {
react: { version: '18.2' }
react: { version: "18.2" }
},
plugins: {
'react': reactPlugin,
'react-hooks': reactHooksPlugin,
'react-refresh': reactRefreshPlugin
"react": reactPlugin,
"react-hooks": reactHooksPlugin,
"react-refresh": reactRefreshPlugin,
"@stylistic": stylisticTs
},
rules: {
'react-refresh/only-export-components': [
'warn',
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true }
],
"@typescript-eslint/no-explicit-any": "off",
'@typescript-eslint/no-unused-vars': [
'warn',
"@typescript-eslint/no-unused-vars": [
"warn",
{
varsIgnorePattern: '^_',
caughtErrors: 'all',
caughtErrorsIgnorePattern: '^_',
argsIgnorePattern: '^_'
varsIgnorePattern: "^_",
caughtErrors: "all",
caughtErrorsIgnorePattern: "^_",
argsIgnorePattern: "^_"
}
],
'no-unused-vars': 'off',
'react/prop-types': 'off',
'no-undef': 'off',
'indent': ['error', 2],
'no-var': 'error',
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-empty-object-type': 'off',
"no-unused-vars": "off",
"react/prop-types": "off",
"no-undef": "off",
"indent": "off",
"@stylistic/indent": ["error", 2],
"semi": "off",
"@stylistic/semi": ["error", "always"],
"quotes": "off",
"@stylistic/quotes": ["error", "double", { avoidEscape: true }],
"no-var": "error",
"@typescript-eslint/no-non-null-asserted-optional-chain": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-empty-object-type": "off",
"@typescript-eslint/consistent-type-imports": ["error", { "fixStyle": "inline-type-imports" }],
},
linterOptions: {
@@ -58,4 +67,4 @@ export default tseslint.config({
noInlineConfig: false
}
}
)
);

View File

@@ -1,6 +1,6 @@
export default {
output: 'src/locales/$LOCALE/$NAMESPACE.json',
locales: [ 'de', 'fr', 'he', 'it','ja', 'zh' ],
output: "src/locales/$LOCALE/$NAMESPACE.json",
locales: [ "de", "fr", "he", "it","ja", "zh" ],
// Because some keys are dynamically generated, i18next-parser can't detect them.
// We add these keys manually, so we don't want to remove them.
@@ -12,6 +12,6 @@ export default {
defaultValue: (_locale, _ns, _key) => {
// The default value is a string that indicates that the string is not translated.
return '__STRING_NOT_TRANSLATED__';
return "__STRING_NOT_TRANSLATED__";
}
}
};

6509
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,6 +12,8 @@
"i18n:refresh": "i18next 'src/**/*.{ts,tsx,js,jsx}'",
"lint": "eslint",
"test": "cypress run",
"test-unit": "vitest",
"test-unit-ci": "vitest run --coverage --reporter=json",
"cy:open": "cypress open",
"lint-css": "stylelint \"src/styles/*.scss\"",
"sort-styles": "jq 'sort_by(.id)' src/config/styles.json > tmp.json && mv tmp.json src/config/styles.json"
@@ -24,26 +26,28 @@
"license": "MIT",
"homepage": "https://github.com/maplibre/maputnik#readme",
"dependencies": {
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lint": "^6.9.2",
"@codemirror/state": "^6.5.2",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.38.8",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@mapbox/mapbox-gl-rtl-text": "^0.3.0",
"@maplibre/maplibre-gl-geocoder": "^1.9.0",
"@maplibre/maplibre-gl-inspect": "^1.7.1",
"@maplibre/maplibre-gl-style-spec": "^23.3.0",
"@mdi/js": "^7.4.47",
"@mdi/react": "^1.6.1",
"@prantlf/jsonlint": "^16.0.0",
"@maplibre/maplibre-gl-geocoder": "^1.9.1",
"@maplibre/maplibre-gl-inspect": "^1.8.1",
"@maplibre/maplibre-gl-style-spec": "^24.3.1",
"array-move": "^4.0.0",
"buffer": "^6.0.3",
"classnames": "^2.5.1",
"codemirror": "^5.65.20",
"color": "^5.0.0",
"codemirror": "^6.0.2",
"color": "^5.0.3",
"detect-browser": "^5.3.0",
"downshift": "^9.0.10",
"events": "^3.3.0",
"file-saver": "^2.0.5",
"i18next": "^25.5.2",
"i18next": "^25.6.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-resources-to-backend": "^1.2.1",
"json-stringify-pretty-compact": "^4.0.0",
@@ -55,23 +59,22 @@
"lodash.get": "^4.4.2",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"maplibre-gl": "^5.7.1",
"maplibre-gl": "^5.13.0",
"maputnik-design": "github:maputnik/design#172b06c",
"ol": "^10.6.1",
"ol-mapbox-style": "^13.1.0",
"ol": "^10.7.0",
"ol-mapbox-style": "^13.1.1",
"pmtiles": "^4.3.0",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react": "^19.2.0",
"react-accessible-accordion": "^5.0.1",
"react-aria-menubutton": "^7.0.3",
"react-aria-modal": "^5.0.2",
"react-collapse": "^5.1.1",
"react-color": "^2.19.3",
"react-dom": "^18.2.0",
"react-file-reader-input": "^2.0.0",
"react-i18next": "^15.7.3",
"react-icon-base": "^2.1.2",
"react-dom": "^19.2.0",
"react-i18next": "^16.3.5",
"react-icons": "^5.5.0",
"react-markdown": "^10.1.0",
"reconnecting-websocket": "^4.4.0",
"slugify": "^1.6.6",
"string-hash": "^1.1.3",
@@ -95,12 +98,13 @@
}
},
"devDependencies": {
"@cypress/code-coverage": "^3.14.6",
"@eslint/js": "^9.35.0",
"@cypress/code-coverage": "^3.14.7",
"@eslint/js": "^9.39.1",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
"@rollup/plugin-replace": "^6.0.2",
"@shellygo/cypress-test-utils": "^6.0.1",
"@types/codemirror": "^5.60.16",
"@shellygo/cypress-test-utils": "^6.0.4",
"@stylistic/eslint-plugin": "^5.6.1",
"@types/codemirror": "^5.60.17",
"@types/color": "^4.2.0",
"@types/cors": "^2.8.19",
"@types/file-saver": "^2.0.7",
@@ -113,38 +117,37 @@
"@types/lodash.isequal": "^4.5.8",
"@types/lodash.throttle": "^4.1.9",
"@types/randomcolor": "^0.5.9",
"@types/react": "^18.2.67",
"@types/react": "^19.2.7",
"@types/react-aria-menubutton": "^6.2.14",
"@types/react-aria-modal": "^5.0.0",
"@types/react-collapse": "^5.0.4",
"@types/react-color": "^3.0.13",
"@types/react-dom": "^18.2.22",
"@types/react-file-reader-input": "^2.0.4",
"@types/react-icon-base": "^2.1.6",
"@types/react-dom": "^19.2.3",
"@types/string-hash": "^1.1.3",
"@types/uuid": "^10.0.0",
"@types/wicg-file-system-access": "^2023.10.6",
"@vitejs/plugin-react": "^5.0.2",
"@types/wicg-file-system-access": "^2023.10.7",
"@vitejs/plugin-react": "^5.1.1",
"@vitest/coverage-v8": "^4.0.14",
"cors": "^2.8.5",
"cypress": "^15.1.0",
"cypress": "^15.7.0",
"cypress-plugin-tab": "^1.0.5",
"eslint": "^9.35.0",
"eslint": "^9.39.1",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.20",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.23",
"i18next-parser": "^9.3.0",
"istanbul": "^0.4.5",
"istanbul-lib-coverage": "^3.2.2",
"postcss": "^8.5.6",
"react-hot-loader": "^4.13.1",
"sass": "^1.92.1",
"stylelint": "^16.24.0",
"stylelint-config-recommended-scss": "^16.0.0",
"sass": "^1.94.2",
"stylelint": "^16.26.1",
"stylelint-config-recommended-scss": "^16.0.2",
"stylelint-scss": "^6.12.1",
"typescript": "^5.8.3",
"typescript-eslint": "^8.43.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.48.0",
"uuid": "^13.0.0",
"vite": "^7.1.5",
"vite-plugin-istanbul": "^7.1.0"
"vite": "^7.2.4",
"vite-plugin-istanbul": "^7.2.1",
"vitest": "^4.0.14"
}
}

View File

@@ -1,40 +1,43 @@
import React from 'react'
import cloneDeep from 'lodash.clonedeep'
import clamp from 'lodash.clamp'
import buffer from 'buffer'
import get from 'lodash.get'
import {unset} from 'lodash'
import {arrayMoveMutable} from 'array-move'
import React from "react";
import cloneDeep from "lodash.clonedeep";
import clamp from "lodash.clamp";
import buffer from "buffer";
import get from "lodash.get";
import {unset} from "lodash";
import {arrayMoveMutable} from "array-move";
import hash from "string-hash";
import { PMTiles } from "pmtiles";
import {Map, LayerSpecification, StyleSpecification, ValidationError, SourceSpecification} from 'maplibre-gl'
import {latest, validateStyleMin} from '@maplibre/maplibre-gl-style-spec'
import {type Map, type LayerSpecification, type StyleSpecification, type ValidationError, type SourceSpecification} from "maplibre-gl";
import {validateStyleMin} from "@maplibre/maplibre-gl-style-spec";
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import MapMaplibreGl from './MapMaplibreGl'
import MapOpenLayers from './MapOpenLayers'
import LayerList from './LayerList'
import LayerEditor from './LayerEditor'
import AppToolbar, { MapState } from './AppToolbar'
import AppLayout from './AppLayout'
import MessagePanel from './AppMessagePanel'
import MapMaplibreGl from "./MapMaplibreGl";
import MapOpenLayers from "./MapOpenLayers";
import CodeEditor from "./CodeEditor";
import LayerList from "./LayerList";
import LayerEditor from "./LayerEditor";
import AppToolbar, { type MapState } from "./AppToolbar";
import AppLayout from "./AppLayout";
import MessagePanel from "./AppMessagePanel";
import ModalSettings from './ModalSettings'
import ModalExport from './ModalExport'
import ModalSources from './ModalSources'
import ModalOpen from './ModalOpen'
import ModalShortcuts from './ModalShortcuts'
import ModalDebug from './ModalDebug'
import ModalSettings from "./modals/ModalSettings";
import ModalExport from "./modals/ModalExport";
import ModalSources from "./modals/ModalSources";
import ModalOpen from "./modals/ModalOpen";
import ModalShortcuts from "./modals/ModalShortcuts";
import ModalDebug from "./modals/ModalDebug";
import ModalGlobalState from "./modals/ModalGlobalState";
import {downloadGlyphsMetadata, downloadSpriteMetadata} from '../libs/metadata'
import style from '../libs/style'
import { undoMessages, redoMessages } from '../libs/diffmessage'
import { createStyleStore, type IStyleStore } from '../libs/store/style-store-factory'
import { RevisionStore } from '../libs/revisions'
import LayerWatcher from '../libs/layerwatcher'
import tokens from '../config/tokens.json'
import isEqual from 'lodash.isequal'
import { MapOptions } from 'maplibre-gl';
import { OnStyleChangedOpts, StyleSpecificationWithId } from '../libs/definitions'
import {downloadGlyphsMetadata, downloadSpriteMetadata} from "../libs/metadata";
import style from "../libs/style";
import { undoMessages, redoMessages } from "../libs/diffmessage";
import { createStyleStore, type IStyleStore } from "../libs/store/style-store-factory";
import { RevisionStore } from "../libs/revisions";
import LayerWatcher from "../libs/layerwatcher";
import tokens from "../config/tokens.json";
import isEqual from "lodash.isequal";
import { type MapOptions } from "maplibre-gl";
import { type MappedError, type OnStyleChangedOpts, type StyleSpecificationWithId } from "../libs/definitions";
// Buffer must be defined globally for @maplibre/maplibre-gl-style-spec validate() function to succeed.
window.Buffer = buffer.Buffer;
@@ -45,21 +48,21 @@ function setFetchAccessToken(url: string, mapStyle: StyleSpecification) {
const matchesThunderforest = url.match(/\.thunderforest\.com/);
const matchesLocationIQ = url.match(/\.locationiq\.com/);
if (matchesTilehosting || matchesMaptiler) {
const accessToken = style.getAccessToken("openmaptiles", mapStyle, {allowFallback: true})
const accessToken = style.getAccessToken("openmaptiles", mapStyle, {allowFallback: true});
if (accessToken) {
return url.replace('{key}', accessToken)
return url.replace("{key}", accessToken);
}
}
else if (matchesThunderforest) {
const accessToken = style.getAccessToken("thunderforest", mapStyle, {allowFallback: true})
const accessToken = style.getAccessToken("thunderforest", mapStyle, {allowFallback: true});
if (accessToken) {
return url.replace('{key}', accessToken)
return url.replace("{key}", accessToken);
}
}
else if (matchesLocationIQ) {
const accessToken = style.getAccessToken("locationiq", mapStyle, {allowFallback: true})
const accessToken = style.getAccessToken("locationiq", mapStyle, {allowFallback: true});
if (accessToken) {
return url.replace('{key}', accessToken)
return url.replace("{key}", accessToken);
}
}
else {
@@ -77,23 +80,11 @@ function updateRootSpec(spec: any, fieldName: string, newValues: any) {
values: newValues
}
}
}
}
type MappedErrors = {
message: string
parsed?: {
type: string
data: {
index: number
key: string
message: string
}
}
};
}
type AppState = {
errors: MappedErrors[],
errors: MappedError[],
infos: string[],
mapStyle: StyleSpecificationWithId,
dirtyMapStyle?: StyleSpecification,
@@ -125,9 +116,11 @@ type AppState = {
shortcuts: boolean
export: boolean
debug: boolean
globalState: boolean
codeEditor: boolean
}
fileHandle: FileSystemFileHandle | null
}
};
export default class App extends React.Component<any, AppState> {
revisionStore: RevisionStore;
@@ -135,7 +128,7 @@ export default class App extends React.Component<any, AppState> {
layerWatcher: LayerWatcher;
constructor(props: any) {
super(props)
super(props);
this.revisionStore = new RevisionStore();
this.configureKeyboardShortcuts();
@@ -163,6 +156,8 @@ export default class App extends React.Component<any, AppState> {
shortcuts: false,
export: false,
debug: false,
globalState: false,
codeEditor: false
},
maplibreGlDebugOptions: {
showTileBoundaries: false,
@@ -173,11 +168,11 @@ export default class App extends React.Component<any, AppState> {
debugToolbox: false,
},
fileHandle: null,
}
};
this.layerWatcher = new LayerWatcher({
onVectorLayersChange: v => this.setState({ vectorLayers: v })
})
});
}
configureKeyboardShortcuts = () => {
@@ -212,6 +207,12 @@ export default class App extends React.Component<any, AppState> {
this.toggleModal("settings");
}
},
{
key: "g",
handler: () => {
this.toggleModal("globalState");
}
},
{
key: "i",
handler: () => {
@@ -232,7 +233,7 @@ export default class App extends React.Component<any, AppState> {
this.toggleModal("debug");
}
},
]
];
document.body.addEventListener("keyup", (e) => {
if(e.key === "Escape") {
@@ -241,19 +242,19 @@ export default class App extends React.Component<any, AppState> {
}
else if(this.state.isOpen.shortcuts || document.activeElement === document.body) {
const shortcut = shortcuts.find((shortcut) => {
return (shortcut.key === e.key)
})
return (shortcut.key === e.key);
});
if(shortcut) {
this.setModal("shortcuts", false);
shortcut.handler();
}
}
})
}
});
};
handleKeyPress = (e: KeyboardEvent) => {
if(navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
if(navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
if(e.metaKey && e.shiftKey && e.keyCode === 90) {
e.preventDefault();
this.onRedo();
@@ -273,7 +274,7 @@ export default class App extends React.Component<any, AppState> {
this.onRedo();
}
}
}
};
async componentDidMount() {
this.styleStore = await createStyleStore((mapStyle, opts) => this.onStyleChanged(mapStyle, opts));
@@ -285,33 +286,33 @@ export default class App extends React.Component<any, AppState> {
}
saveStyle(snapshotStyle: StyleSpecificationWithId) {
this.styleStore?.save(snapshotStyle)
this.styleStore?.save(snapshotStyle);
}
updateFonts(urlTemplate: string) {
const metadata: {[key: string]: string} = this.state.mapStyle.metadata || {} as any
const accessToken = metadata['maputnik:openmaptiles_access_token'] || tokens.openmaptiles
const metadata: {[key: string]: string} = this.state.mapStyle.metadata || {} as any;
const accessToken = metadata["maputnik:openmaptiles_access_token"] || tokens.openmaptiles;
const glyphUrl = (typeof urlTemplate === 'string')? urlTemplate.replace('{key}', accessToken): urlTemplate;
downloadGlyphsMetadata(glyphUrl, fonts => {
this.setState({ spec: updateRootSpec(this.state.spec, 'glyphs', fonts)})
})
const glyphUrl = (typeof urlTemplate === "string")? urlTemplate.replace("{key}", accessToken): urlTemplate;
downloadGlyphsMetadata(glyphUrl).then(fonts => {
this.setState({ spec: updateRootSpec(this.state.spec, "glyphs", fonts)});
});
}
updateIcons(baseUrl: string) {
downloadSpriteMetadata(baseUrl, icons => {
this.setState({ spec: updateRootSpec(this.state.spec, 'sprite', icons)})
})
downloadSpriteMetadata(baseUrl).then(icons => {
this.setState({ spec: updateRootSpec(this.state.spec, "sprite", icons)});
});
}
onChangeMetadataProperty = (property: string, value: any) => {
// If we're changing renderer reset the map state.
if (
property === 'maputnik:renderer' &&
value !== get(this.state.mapStyle, ['metadata', 'maputnik:renderer'], 'mlgljs')
property === "maputnik:renderer" &&
value !== get(this.state.mapStyle, ["metadata", "maputnik:renderer"], "mlgljs")
) {
this.setState({
mapState: 'map'
mapState: "map"
});
}
@@ -321,10 +322,10 @@ export default class App extends React.Component<any, AppState> {
...(this.state.mapStyle as any).metadata,
[property]: value
}
}
};
this.onStyleChanged(changedStyle)
}
this.onStyleChanged(changedStyle);
};
onStyleChanged = (newStyle: StyleSpecificationWithId, opts: OnStyleChangedOpts={}): void => {
opts = {
@@ -337,16 +338,16 @@ export default class App extends React.Component<any, AppState> {
// For the style object, find the urls that has "{key}" and insert the correct API keys
// Without this, going from e.g. MapTiler to OpenLayers and back will lose the maptlier key.
if (newStyle.glyphs && typeof newStyle.glyphs === 'string') {
if (newStyle.glyphs && typeof newStyle.glyphs === "string") {
newStyle.glyphs = setFetchAccessToken(newStyle.glyphs, newStyle);
}
if (newStyle.sprite && typeof newStyle.sprite === 'string') {
if (newStyle.sprite && typeof newStyle.sprite === "string") {
newStyle.sprite = setFetchAccessToken(newStyle.sprite, newStyle);
}
for (const [_sourceId, source] of Object.entries(newStyle.sources)) {
if (source && 'url' in source && typeof source.url === 'string') {
if (source && "url" in source && typeof source.url === "string") {
source.url = setFetchAccessToken(source.url, newStyle);
}
}
@@ -373,7 +374,7 @@ export default class App extends React.Component<any, AppState> {
});
}
const mappedErrors = layerErrors.concat(errors).map(error => {
const mappedErrors: MappedError[] = layerErrors.concat(errors).map(error => {
// Special case: Duplicate layer id
const dupMatch = error.message.match(/layers\[(\d+)\]: (duplicate layer id "?(.*)"?, previously used)/);
if (dupMatch) {
@@ -388,7 +389,7 @@ export default class App extends React.Component<any, AppState> {
message,
}
}
}
};
}
// Special case: Invalid source
@@ -405,7 +406,7 @@ export default class App extends React.Component<any, AppState> {
message,
}
}
}
};
}
const layerMatch = error.message.match(/layers\[(\d+)\]\.(?:(\S+)\.)?(\S+): (.*)/);
@@ -422,7 +423,7 @@ export default class App extends React.Component<any, AppState> {
message
}
}
}
};
}
else {
return {
@@ -452,10 +453,10 @@ export default class App extends React.Component<any, AppState> {
}
if(newStyle.glyphs !== this.state.mapStyle.glyphs) {
this.updateFonts(newStyle.glyphs as string)
this.updateFonts(newStyle.glyphs as string);
}
if(newStyle.sprite !== this.state.mapStyle.sprite) {
this.updateIcons(newStyle.sprite as string)
this.updateIcons(newStyle.sprite as string);
}
if (opts.addRevision) {
@@ -472,28 +473,28 @@ export default class App extends React.Component<any, AppState> {
}, () => {
this.fetchSources();
this.setStateInUrl();
})
});
}
};
onUndo = () => {
const activeStyle = this.revisionStore.undo()
const activeStyle = this.revisionStore.undo();
const messages = undoMessages(this.state.mapStyle, activeStyle)
const messages = undoMessages(this.state.mapStyle, activeStyle);
this.onStyleChanged(activeStyle, {addRevision: false});
this.setState({
infos: messages,
})
}
});
};
onRedo = () => {
const activeStyle = this.revisionStore.redo()
const messages = redoMessages(this.state.mapStyle, activeStyle)
const activeStyle = this.revisionStore.redo();
const messages = redoMessages(this.state.mapStyle, activeStyle);
this.onStyleChanged(activeStyle, {addRevision: false});
this.setState({
infos: messages,
})
}
});
};
onMoveLayer = (move: {oldIndex: number; newIndex: number}) => {
let { oldIndex, newIndex } = move;
@@ -511,97 +512,97 @@ export default class App extends React.Component<any, AppState> {
layers = layers.slice(0);
arrayMoveMutable(layers, oldIndex, newIndex);
this.onLayersChange(layers);
}
};
onLayersChange = (changedLayers: LayerSpecification[]) => {
const changedStyle = {
...this.state.mapStyle,
layers: changedLayers
}
this.onStyleChanged(changedStyle)
}
};
this.onStyleChanged(changedStyle);
};
onLayerDestroy = (index: number) => {
const layers = this.state.mapStyle.layers;
const remainingLayers = layers.slice(0);
remainingLayers.splice(index, 1);
this.onLayersChange(remainingLayers);
}
};
onLayerCopy = (index: number) => {
const layers = this.state.mapStyle.layers;
const changedLayers = layers.slice(0)
const changedLayers = layers.slice(0);
const clonedLayer = cloneDeep(changedLayers[index])
clonedLayer.id = clonedLayer.id + "-copy"
changedLayers.splice(index, 0, clonedLayer)
this.onLayersChange(changedLayers)
}
const clonedLayer = cloneDeep(changedLayers[index]);
clonedLayer.id = clonedLayer.id + "-copy";
changedLayers.splice(index, 0, clonedLayer);
this.onLayersChange(changedLayers);
};
onLayerVisibilityToggle = (index: number) => {
const layers = this.state.mapStyle.layers;
const changedLayers = layers.slice(0)
const changedLayers = layers.slice(0);
const layer = { ...changedLayers[index] }
const changedLayout = 'layout' in layer ? {...layer.layout} : {}
changedLayout.visibility = changedLayout.visibility === 'none' ? 'visible' : 'none'
const layer = { ...changedLayers[index] };
const changedLayout = "layout" in layer ? {...layer.layout} : {};
changedLayout.visibility = changedLayout.visibility === "none" ? "visible" : "none";
layer.layout = changedLayout
changedLayers[index] = layer
this.onLayersChange(changedLayers)
}
layer.layout = changedLayout;
changedLayers[index] = layer;
this.onLayersChange(changedLayers);
};
onLayerIdChange = (index: number, _oldId: string, newId: string) => {
const changedLayers = this.state.mapStyle.layers.slice(0)
const changedLayers = this.state.mapStyle.layers.slice(0);
changedLayers[index] = {
...changedLayers[index],
id: newId
}
};
this.onLayersChange(changedLayers)
}
this.onLayersChange(changedLayers);
};
onLayerChanged = (index: number, layer: LayerSpecification) => {
const changedLayers = this.state.mapStyle.layers.slice(0)
changedLayers[index] = layer
const changedLayers = this.state.mapStyle.layers.slice(0);
changedLayers[index] = layer;
this.onLayersChange(changedLayers)
}
this.onLayersChange(changedLayers);
};
setMapState = (newState: MapState) => {
this.setState({
mapState: newState
}, this.setStateInUrl);
}
};
setDefaultValues = (styleObj: StyleSpecificationWithId) => {
const metadata: {[key: string]: string} = styleObj.metadata || {} as any
if(metadata['maputnik:renderer'] === undefined) {
const metadata: {[key: string]: string} = styleObj.metadata || {} as any;
if(metadata["maputnik:renderer"] === undefined) {
const changedStyle = {
...styleObj,
metadata: {
...styleObj.metadata as any,
'maputnik:renderer': 'mlgljs'
"maputnik:renderer": "mlgljs"
}
}
return changedStyle
};
return changedStyle;
} else {
return styleObj
return styleObj;
}
}
};
openStyle = (styleObj: StyleSpecificationWithId, fileHandle: FileSystemFileHandle | null) => {
this.setState({fileHandle: fileHandle});
styleObj = this.setDefaultValues(styleObj)
this.onStyleChanged(styleObj)
}
styleObj = this.setDefaultValues(styleObj);
this.onStyleChanged(styleObj);
};
async fetchSources() {
const sourceList: {[key: string]: SourceSpecification & {layers: string[]}} = {};
for(const key of Object.keys(this.state.mapStyle.sources)) {
const source = this.state.mapStyle.sources[key];
if(source.type !== "vector" || !('url' in source)) {
if(source.type !== "vector" || !("url" in source)) {
sourceList[key] = this.state.sources[key] || {...this.state.mapStyle.sources[key]};
if (sourceList[key].layers === undefined) {
sourceList[key].layers = [];
@@ -615,7 +616,7 @@ export default class App extends React.Component<any, AppState> {
let url = source.url;
try {
url = setFetchAccessToken(url!, this.state.mapStyle)
url = setFetchAccessToken(url!, this.state.mapStyle);
} catch(err) {
console.warn("Failed to setFetchAccessToken: ", err);
}
@@ -626,7 +627,7 @@ export default class App extends React.Component<any, AppState> {
}
for(const layer of json.vector_layers) {
sourceList[key].layers.push(layer.id)
sourceList[key].layers.push(layer.id);
}
};
@@ -635,7 +636,7 @@ export default class App extends React.Component<any, AppState> {
const json = await (new PMTiles(url!.substring(10))).getTileJson("");
setVectorLayers(json);
} else {
const response = await fetch(url!, { mode: 'cors' });
const response = await fetch(url!, { mode: "cors" });
const json = await response.json();
setVectorLayers(json);
}
@@ -649,13 +650,13 @@ export default class App extends React.Component<any, AppState> {
console.debug("Setting sources", sourceList);
this.setState({
sources: sourceList
})
});
}
}
_getRenderer () {
const metadata: {[key:string]: string} = this.state.mapStyle.metadata || {} as any;
return metadata['maputnik:renderer'] || 'mlgljs';
return metadata["maputnik:renderer"] || "mlgljs";
}
onMapChange = (mapView: {
@@ -668,7 +669,7 @@ export default class App extends React.Component<any, AppState> {
this.setState({
mapView,
});
}
};
mapRenderer() {
const {mapStyle, dirtyMapStyle} = this.state;
@@ -681,23 +682,23 @@ export default class App extends React.Component<any, AppState> {
});
},
onDataChange: (e: {map: Map}) => {
this.layerWatcher.analyzeMap(e.map)
this.layerWatcher.analyzeMap(e.map);
this.fetchSources();
},
}
};
const renderer = this._getRenderer();
let mapElement;
// Check if OL code has been loaded?
if(renderer === 'ol') {
if(renderer === "ol") {
mapElement = <MapOpenLayers
{...mapProps}
onChange={this.onMapChange}
debugToolbox={this.state.openlayersDebugOptions.debugToolbox}
onLayerSelect={this.onLayerSelect}
/>
onLayerSelect={(layerId) => this.onLayerSelect(+layerId)}
/>;
} else {
mapElement = <MapMaplibreGl {...mapProps}
@@ -705,7 +706,7 @@ export default class App extends React.Component<any, AppState> {
options={this.state.maplibreGlDebugOptions}
inspectModeEnabled={this.state.mapState === "inspect"}
highlightedLayer={this.state.mapStyle.layers[this.state.selectedLayerIndex]}
onLayerSelect={this.onLayerSelect} />
onLayerSelect={this.onLayerSelect} />;
}
let filterName;
@@ -719,7 +720,7 @@ export default class App extends React.Component<any, AppState> {
return <div style={elementStyle} className="maputnik-map__container" data-wd-key="maplibre:container">
{mapElement}
</div>
</div>;
}
setStateInUrl = () => {
@@ -748,7 +749,7 @@ export default class App extends React.Component<any, AppState> {
}
history.replaceState({selectedLayerIndex}, "Maputnik", url.href);
}
};
getInitialStateFromUrl = (mapStyle: StyleSpecification) => {
const url = new URL(location.href);
@@ -801,14 +802,14 @@ export default class App extends React.Component<any, AppState> {
console.warn(err);
}
}
}
};
onLayerSelect = (index: number) => {
this.setState({
selectedLayerIndex: index,
selectedLayerOriginalId: this.state.mapStyle.layers[index].id,
}, this.setStateInUrl);
}
};
setModal(modalName: keyof AppState["isOpen"], value: boolean) {
this.setState({
@@ -816,7 +817,7 @@ export default class App extends React.Component<any, AppState> {
...this.state.isOpen,
[modalName]: value
}
}, this.setStateInUrl)
}, this.setStateInUrl);
}
toggleModal(modalName: keyof AppState["isOpen"]) {
@@ -825,7 +826,7 @@ export default class App extends React.Component<any, AppState> {
onSetFileHandle = (fileHandle: FileSystemFileHandle | null) => {
this.setState({ fileHandle });
}
};
onChangeOpenlayersDebug = (key: keyof AppState["openlayersDebugOptions"], value: boolean) => {
this.setState({
@@ -834,7 +835,7 @@ export default class App extends React.Component<any, AppState> {
[key]: value,
}
});
}
};
onChangeMaplibreGlDebug = (key: keyof AppState["maplibreGlDebugOptions"], value: any) => {
this.setState({
@@ -843,11 +844,11 @@ export default class App extends React.Component<any, AppState> {
[key]: value,
}
});
}
};
render() {
const layers = this.state.mapStyle.layers || []
const selectedLayer = layers.length > 0 ? layers[this.state.selectedLayerIndex] : undefined
const layers = this.state.mapStyle.layers || [];
const selectedLayer = layers.length > 0 ? layers[this.state.selectedLayerIndex] : undefined;
const toolbar = <AppToolbar
renderer={this._getRenderer()}
@@ -858,8 +859,14 @@ export default class App extends React.Component<any, AppState> {
onStyleChanged={this.onStyleChanged}
onStyleOpen={this.onStyleChanged}
onSetMapState={this.setMapState}
onToggleModal={this.toggleModal.bind(this)}
/>
onToggleModal={(modal: keyof AppState["isOpen"]) => this.toggleModal(modal)}
/>;
const codeEditor = this.state.isOpen.codeEditor ? <CodeEditor
value={this.state.mapStyle}
onChange={(style) => this.onStyleChanged(style)}
onClose={() => this.setModal("codeEditor", false)}
/> : undefined;
const layerList = <LayerList
onMoveLayer={this.onMoveLayer}
@@ -872,7 +879,7 @@ export default class App extends React.Component<any, AppState> {
layers={layers}
sources={this.state.sources}
errors={this.state.errors}
/>
/>;
const layerEditor = selectedLayer ? <LayerEditor
key={this.state.selectedLayerOriginalId}
@@ -890,7 +897,7 @@ export default class App extends React.Component<any, AppState> {
onLayerVisibilityToggle={this.onLayerVisibilityToggle}
onLayerIdChange={this.onLayerIdChange}
errors={this.state.errors}
/> : undefined
/> : undefined;
const bottomPanel = (this.state.errors.length + this.state.infos.length) > 0 ? <MessagePanel
currentLayer={selectedLayer}
@@ -899,7 +906,7 @@ export default class App extends React.Component<any, AppState> {
mapStyle={this.state.mapStyle}
errors={this.state.errors}
infos={this.state.infos}
/> : undefined
/> : undefined;
const modals = <div>
@@ -910,49 +917,56 @@ export default class App extends React.Component<any, AppState> {
onChangeMaplibreGlDebug={this.onChangeMaplibreGlDebug}
onChangeOpenlayersDebug={this.onChangeOpenlayersDebug}
isOpen={this.state.isOpen.debug}
onOpenToggle={this.toggleModal.bind(this, 'debug')}
onOpenToggle={() => this.toggleModal("debug")}
mapView={this.state.mapView}
/>
<ModalShortcuts
isOpen={this.state.isOpen.shortcuts}
onOpenToggle={this.toggleModal.bind(this, 'shortcuts')}
onOpenToggle={() => this.toggleModal("shortcuts")}
/>
<ModalSettings
mapStyle={this.state.mapStyle}
onStyleChanged={this.onStyleChanged}
onChangeMetadataProperty={this.onChangeMetadataProperty}
isOpen={this.state.isOpen.settings}
onOpenToggle={this.toggleModal.bind(this, 'settings')}
onOpenToggle={() => this.toggleModal("settings")}
/>
<ModalExport
mapStyle={this.state.mapStyle}
onStyleChanged={this.onStyleChanged}
isOpen={this.state.isOpen.export}
onOpenToggle={this.toggleModal.bind(this, 'export')}
onOpenToggle={() => this.toggleModal("export")}
fileHandle={this.state.fileHandle}
onSetFileHandle={this.onSetFileHandle}
/>
<ModalOpen
isOpen={this.state.isOpen.open}
onStyleOpen={this.openStyle}
onOpenToggle={this.toggleModal.bind(this, 'open')}
onOpenToggle={() => this.toggleModal("open")}
fileHandle={this.state.fileHandle}
/>
<ModalSources
mapStyle={this.state.mapStyle}
onStyleChanged={this.onStyleChanged}
isOpen={this.state.isOpen.sources}
onOpenToggle={this.toggleModal.bind(this, 'sources')}
onOpenToggle={() => this.toggleModal("sources")}
/>
</div>
<ModalGlobalState
mapStyle={this.state.mapStyle}
onStyleChanged={this.onStyleChanged}
isOpen={this.state.isOpen.globalState}
onOpenToggle={() => this.toggleModal("globalState")}
/>
</div>;
return <AppLayout
toolbar={toolbar}
layerList={layerList}
layerEditor={layerEditor}
codeEditor={codeEditor}
map={this.mapRenderer()}
bottom={bottomPanel}
modals={modals}
/>
/>;
}
}

View File

@@ -1,12 +1,13 @@
import React from 'react'
import ScrollContainer from './ScrollContainer'
import { WithTranslation, withTranslation } from 'react-i18next';
import { IconContext } from 'react-icons';
import React from "react";
import ScrollContainer from "./ScrollContainer";
import { type WithTranslation, withTranslation } from "react-i18next";
import { IconContext } from "react-icons";
type AppLayoutInternalProps = {
toolbar: React.ReactElement
layerList: React.ReactElement
layerEditor?: React.ReactElement
codeEditor?: React.ReactElement
map: React.ReactElement
bottom?: React.ReactElement
modals?: React.ReactNode
@@ -17,18 +18,26 @@ class AppLayoutInternal extends React.Component<AppLayoutInternalProps> {
render() {
document.body.dir = this.props.i18n.dir();
return <IconContext.Provider value={{size: '14px'}}>
return <IconContext.Provider value={{size: "14px"}}>
<div className="maputnik-layout">
{this.props.toolbar}
<div className="maputnik-layout-main">
<div className="maputnik-layout-list">
{this.props.layerList}
</div>
<div className="maputnik-layout-drawer">
{this.props.codeEditor && <div className="maputnik-layout-code-editor">
<ScrollContainer>
{this.props.layerEditor}
{this.props.codeEditor}
</ScrollContainer>
</div>
}
{!this.props.codeEditor && <>
<div className="maputnik-layout-list">
{this.props.layerList}
</div>
<div className="maputnik-layout-drawer">
<ScrollContainer>
{this.props.layerEditor}
</ScrollContainer>
</div>
</>}
{this.props.map}
</div>
{this.props.bottom && <div className="maputnik-layout-bottom">
@@ -37,7 +46,7 @@ class AppLayoutInternal extends React.Component<AppLayoutInternalProps> {
}
{this.props.modals}
</div>
</IconContext.Provider>
</IconContext.Provider>;
}
}

View File

@@ -1,13 +1,14 @@
import React from 'react'
import {formatLayerId} from '../libs/format';
import {LayerSpecification, StyleSpecification} from 'maplibre-gl';
import { Trans, WithTranslation, withTranslation } from 'react-i18next';
import React from "react";
import {formatLayerId} from "../libs/format";
import {type LayerSpecification, type StyleSpecification} from "maplibre-gl";
import { Trans, type WithTranslation, withTranslation } from "react-i18next";
import { type MappedError } from "../libs/definitions";
type AppMessagePanelInternalProps = {
errors?: unknown[]
errors?: MappedError[]
infos?: string[]
mapStyle?: StyleSpecification
onLayerSelect?(...args: unknown[]): unknown
onLayerSelect?(index: number): void;
currentLayer?: LayerSpecification
selectedLayerIndex?: number
} & WithTranslation;
@@ -15,11 +16,11 @@ type AppMessagePanelInternalProps = {
class AppMessagePanelInternal extends React.Component<AppMessagePanelInternalProps> {
static defaultProps = {
onLayerSelect: () => {},
}
};
render() {
const {t, selectedLayerIndex} = this.props;
const errors = this.props.errors?.map((error: any, idx) => {
const errors = this.props.errors?.map((error, idx) => {
let content;
if (error.parsed && error.parsed.type === "layer") {
const {parsed} = error;
@@ -48,17 +49,17 @@ class AppMessagePanelInternal extends React.Component<AppMessagePanelInternalPro
}
return <p key={"error-"+idx} className="maputnik-message-panel-error">
{content}
</p>
})
</p>;
});
const infos = this.props.infos?.map((m, i) => {
return <p key={"info-"+i}>{m}</p>
})
return <p key={"info-"+i}>{m}</p>;
});
return <div className="maputnik-message-panel">
{errors}
{infos}
</div>
</div>;
}
}

View File

@@ -1,6 +1,6 @@
import React from 'react'
import classnames from 'classnames'
import {detect} from 'detect-browser';
import React from "react";
import classnames from "classnames";
import {detect} from "detect-browser";
import {
MdOpenInBrowser,
@@ -9,19 +9,22 @@ import {
MdHelpOutline,
MdFindInPage,
MdLanguage,
MdSave
} from 'react-icons/md'
import pkgJson from '../../package.json'
MdSave,
MdPublic,
MdCode
} from "react-icons/md";
import pkgJson from "../../package.json";
//@ts-ignore
import maputnikLogo from 'maputnik-design/logos/logo-color.svg?inline'
import { withTranslation, WithTranslation } from 'react-i18next';
import { supportedLanguages } from '../i18n';
import type { OnStyleChangedCallback } from '../libs/definitions';
import maputnikLogo from "maputnik-design/logos/logo-color.svg?inline";
import { withTranslation, type WithTranslation } from "react-i18next";
import { supportedLanguages } from "../i18n";
import type { OnStyleChangedCallback } from "../libs/definitions";
// This is required because of <https://stackoverflow.com/a/49846426>, there isn't another way to detect support that I'm aware of.
const browser = detect();
const colorAccessibilityFiltersEnabled = ['chrome', 'firefox'].indexOf(browser!.name) > -1;
const colorAccessibilityFiltersEnabled = ["chrome", "firefox"].indexOf(browser!.name) > -1;
export type ModalTypes = "settings" | "sources" | "open" | "shortcuts" | "export" | "debug" | "globalState" | "codeEditor";
type IconTextProps = {
children?: React.ReactNode
@@ -30,7 +33,7 @@ type IconTextProps = {
class IconText extends React.Component<IconTextProps> {
render() {
return <span className="maputnik-icon-text">{this.props.children}</span>
return <span className="maputnik-icon-text">{this.props.children}</span>;
}
}
@@ -38,20 +41,19 @@ type ToolbarLinkProps = {
className?: string
children?: React.ReactNode
href?: string
onToggleModal?(...args: unknown[]): unknown
};
class ToolbarLink extends React.Component<ToolbarLinkProps> {
render() {
return <a
className={classnames('maputnik-toolbar-link', this.props.className)}
className={classnames("maputnik-toolbar-link", this.props.className)}
href={this.props.href}
rel="noopener noreferrer"
target="_blank"
data-wd-key="toolbar:link"
>
{this.props.children}
</a>
</a>;
}
}
@@ -67,7 +69,7 @@ class ToolbarSelect extends React.Component<ToolbarSelectProps> {
data-wd-key={this.props.wdKey}
>
{this.props.children}
</div>
</div>;
}
}
@@ -85,7 +87,7 @@ class ToolbarAction extends React.Component<ToolbarActionProps> {
onClick={this.props.onClick}
>
{this.props.children}
</button>
</button>;
}
}
@@ -100,7 +102,7 @@ type AppToolbarInternalProps = {
// A dict of source id's and the available source layers
sources: object
children?: React.ReactNode
onToggleModal(...args: unknown[]): unknown
onToggleModal(modal: ModalTypes): void
onSetMapState(mapState: MapState): unknown
mapState?: MapState
renderer?: string
@@ -115,7 +117,7 @@ class AppToolbarInternal extends React.Component<AppToolbarInternalProps> {
add: false,
export: false,
}
}
};
handleSelection(val: MapState) {
this.props.onSetMapState(val);
@@ -133,7 +135,7 @@ class AppToolbarInternal extends React.Component<AppToolbarInternalProps> {
const el = document.querySelector("#skip-target-"+target) as HTMLButtonElement;
el.focus();
}
}
};
render() {
const t = this.props.t;
@@ -147,7 +149,7 @@ class AppToolbarInternal extends React.Component<AppToolbarInternalProps> {
id: "inspect",
group: "general",
title: t("Inspect"),
disabled: this.props.renderer === 'ol',
disabled: this.props.renderer === "ol",
},
{
id: "filter-deuteranopia",
@@ -220,22 +222,30 @@ class AppToolbarInternal extends React.Component<AppToolbarInternalProps> {
</a>
</div>
<div className="maputnik-toolbar__actions" role="navigation" aria-label="Toolbar">
<ToolbarAction wdKey="nav:open" onClick={this.props.onToggleModal.bind(this, 'open')}>
<ToolbarAction wdKey="nav:open" onClick={() => this.props.onToggleModal("open")}>
<MdOpenInBrowser />
<IconText>{t("Open")}</IconText>
</ToolbarAction>
<ToolbarAction wdKey="nav:export" onClick={this.props.onToggleModal.bind(this, 'export')}>
<ToolbarAction wdKey="nav:export" onClick={() => this.props.onToggleModal("export")}>
<MdSave />
<IconText>{t("Save")}</IconText>
</ToolbarAction>
<ToolbarAction wdKey="nav:sources" onClick={this.props.onToggleModal.bind(this, 'sources')}>
<ToolbarAction wdKey="nav:code-editor" onClick={() => this.props.onToggleModal("codeEditor")}>
<MdCode />
<IconText>{t("Code Editor")}</IconText>
</ToolbarAction>
<ToolbarAction wdKey="nav:sources" onClick={() => this.props.onToggleModal("sources")}>
<MdLayers />
<IconText>{t("Data Sources")}</IconText>
</ToolbarAction>
<ToolbarAction wdKey="nav:settings" onClick={this.props.onToggleModal.bind(this, 'settings')}>
<ToolbarAction wdKey="nav:settings" onClick={() => this.props.onToggleModal("settings")}>
<MdSettings />
<IconText>{t("Style Settings")}</IconText>
</ToolbarAction>
<ToolbarAction wdKey="nav:global-state" onClick={() => this.props.onToggleModal("globalState")}>
<MdPublic />
<IconText>{t("Global State")}</IconText>
</ToolbarAction>
<ToolbarSelect wdKey="nav:inspect">
<MdFindInPage />
@@ -292,7 +302,7 @@ class AppToolbarInternal extends React.Component<AppToolbarInternalProps> {
</ToolbarLink>
</div>
</div>
</nav>
</nav>;
}
}

View File

@@ -1,14 +1,13 @@
import React, {PropsWithChildren, SyntheticEvent} from 'react'
import classnames from 'classnames'
import FieldDocLabel from './FieldDocLabel'
import Doc from './Doc'
import React, {type CSSProperties, type PropsWithChildren, type SyntheticEvent} from "react";
import classnames from "classnames";
import FieldDocLabel from "./FieldDocLabel";
import Doc from "./Doc";
type BlockProps = PropsWithChildren & {
export type BlockProps = PropsWithChildren & {
"data-wd-key"?: string
label?: string
action?: React.ReactElement
style?: object
style?: CSSProperties
onChange?(...args: unknown[]): unknown
fieldSpec?: object
wideMode?: boolean
@@ -27,13 +26,13 @@ export default class Block extends React.Component<BlockProps, BlockState> {
super(props);
this.state = {
showDoc: false,
}
};
}
onChange(e: React.BaseSyntheticEvent<Event, HTMLInputElement, HTMLInputElement>) {
const value = e.target.value
const value = e.target.value;
if (this.props.onChange) {
return this.props.onChange(value === "" ? undefined : value)
return this.props.onChange(value === "" ? undefined : value);
}
}
@@ -41,7 +40,7 @@ export default class Block extends React.Component<BlockProps, BlockState> {
this.setState({
showDoc: val
});
}
};
/**
* Some fields for example <InputColor/> bind click events inside the element
@@ -59,7 +58,7 @@ export default class Block extends React.Component<BlockProps, BlockState> {
if (event.nativeEvent.target.nodeName !== "A") {
event.preventDefault();
}
}
};
render() {
return <label style={this.props.style}
@@ -67,7 +66,8 @@ export default class Block extends React.Component<BlockProps, BlockState> {
className={classnames({
"maputnik-input-block": true,
"maputnik-input-block--wide": this.props.wideMode,
"maputnik-action-block": this.props.action
"maputnik-action-block": this.props.action,
"maputnik-input-block--error": this.props.error
})}
onClick={this.onLabelClick}
>
@@ -88,17 +88,17 @@ export default class Block extends React.Component<BlockProps, BlockState> {
<div className="maputnik-input-block-action">
{this.props.action}
</div>
<div className="maputnik-input-block-content" ref={el => this._blockEl = el}>
<div className="maputnik-input-block-content" ref={el => {this._blockEl = el;}}>
{this.props.children}
</div>
{this.props.fieldSpec &&
<div
className="maputnik-doc-inline"
style={{display: this.state.showDoc ? '' : 'none'}}
style={{display: this.state.showDoc ? "" : "none"}}
>
<Doc fieldSpec={this.props.fieldSpec} />
</div>
}
</label>
</label>;
}
}

View File

@@ -0,0 +1,29 @@
import InputJson from "./InputJson";
import React from "react";
import { withTranslation, type WithTranslation } from "react-i18next";
import { type StyleSpecification } from "maplibre-gl";
import { type StyleSpecificationWithId } from "../libs/definitions";
export type CodeEditorProps = {
value: StyleSpecification;
onChange: (value: StyleSpecificationWithId) => void;
onClose: () => void;
} & WithTranslation;
const CodeEditorInternal: React.FC<CodeEditorProps> = (props) => {
return <>
<button className="maputnik-button" onClick={props.onClose} aria-label={props.t("Close")} style={{ position: "sticky", top: "0", zIndex: 1 }}>{props.t("Click to close the editor")}</button>
<InputJson
lintType="style"
value={props.value}
onChange={props.onChange}
className={"maputnik-code-editor"}
withScroll={true}
/>;
</>;
};
const CodeEditor = withTranslation()(CodeEditorInternal);
export default CodeEditor;

View File

@@ -1,6 +1,6 @@
import React from 'react'
import { Collapse as ReactCollapse } from 'react-collapse'
import {reducedMotionEnabled} from '../libs/accessibility'
import React from "react";
import { Collapse as ReactCollapse } from "react-collapse";
import {reducedMotionEnabled} from "../libs/accessibility";
type CollapseProps = {
@@ -12,7 +12,7 @@ type CollapseProps = {
export default class Collapse extends React.Component<CollapseProps> {
static defaultProps = {
isActive: true
}
};
render() {
if (reducedMotionEnabled()) {
@@ -20,14 +20,14 @@ export default class Collapse extends React.Component<CollapseProps> {
<div style={{display: this.props.isActive ? "block" : "none"}}>
{this.props.children}
</div>
)
);
}
else {
return (
<ReactCollapse isOpened={this.props.isActive}>
{this.props.children}
</ReactCollapse>
)
);
}
}
}

View File

@@ -1,5 +1,5 @@
import React from 'react'
import {MdArrowDropDown, MdArrowDropUp} from 'react-icons/md'
import React from "react";
import {MdArrowDropDown, MdArrowDropUp} from "react-icons/md";
type CollapserProps = {
isCollapsed: boolean
@@ -12,7 +12,7 @@ export default class Collapser extends React.Component<CollapserProps> {
width: 20,
height: 20,
...this.props.style,
}
return this.props.isCollapsed ? <MdArrowDropUp style={iconStyle}/> : <MdArrowDropDown style={iconStyle} />
};
return this.props.isCollapsed ? <MdArrowDropUp style={iconStyle}/> : <MdArrowDropDown style={iconStyle} />;
}
}

View File

@@ -1,10 +1,10 @@
import React from 'react'
import React from "react";
import Markdown from "react-markdown";
const headers = {
js: "JS",
android: "Android",
ios: "iOS",
macos: "macOS",
ios: "iOS"
};
type DocProps = {
@@ -15,7 +15,7 @@ type DocProps = {
doc?: string
}
}
'sdk-support'?: {
"sdk-support"?: {
[key: string]: typeof headers
}
docUrl?: string,
@@ -28,7 +28,7 @@ export default class Doc extends React.Component<DocProps> {
const {fieldSpec} = this.props;
const {doc, values, docUrl, docUrlLinkText} = fieldSpec;
const sdkSupport = fieldSpec['sdk-support'];
const sdkSupport = fieldSpec["sdk-support"];
const renderValues = (
!!values &&
@@ -37,11 +37,23 @@ export default class Doc extends React.Component<DocProps> {
!Array.isArray(values)
);
const sdkSupportToJsx = (value: string) => {
const supportValue = value.toLowerCase();
if (supportValue.startsWith("https://")) {
return <a href={supportValue} target="_blank" rel="noreferrer">{"#" + supportValue.split("/").pop()}</a>;
}
return value;
};
return (
<>
{doc &&
<div className="SpecDoc">
<div className="SpecDoc__doc" data-wd-key='spec-field-doc'>{doc}</div>
<div className="SpecDoc__doc" data-wd-key='spec-field-doc'>
<Markdown components={{
a: ({node: _node, href, children, ...props}) => <a href={href} target="_blank" {...props}>{children}</a>,
}}>{doc}</Markdown>
</div>
{renderValues &&
<ul className="SpecDoc__values">
{Object.entries(values).map(([key, value]) => {
@@ -74,7 +86,7 @@ export default class Doc extends React.Component<DocProps> {
<td>{key}</td>
{Object.keys(headers).map((k) => {
if (Object.prototype.hasOwnProperty.call(supportObj, k)) {
return <td key={k}>{supportObj[k as keyof typeof headers]}</td>;
return <td key={k}>{sdkSupportToJsx(supportObj[k as keyof typeof headers])}</td>;
}
else {
return <td key={k}>no</td>;

View File

@@ -1,5 +1,5 @@
import InputArray, { FieldArrayProps as InputArrayProps } from './InputArray'
import Fieldset from './Fieldset'
import InputArray, { type InputArrayProps } from "./InputArray";
import Fieldset from "./Fieldset";
type FieldArrayProps = InputArrayProps & {
name?: string

View File

@@ -1,5 +1,5 @@
import Block from './Block'
import InputAutocomplete, { InputAutocompleteProps } from './InputAutocomplete'
import Block from "./Block";
import InputAutocomplete, { type InputAutocompleteProps } from "./InputAutocomplete";
type FieldAutocompleteProps = InputAutocompleteProps & {

View File

@@ -1,5 +1,5 @@
import Block from './Block'
import InputCheckbox, {InputCheckboxProps} from './InputCheckbox'
import Block from "./Block";
import InputCheckbox, {type InputCheckboxProps} from "./InputCheckbox";
type FieldCheckboxProps = InputCheckboxProps & {

View File

@@ -1,5 +1,5 @@
import Block from './Block'
import InputColor, {InputColorProps} from './InputColor'
import Block from "./Block";
import InputColor, {type InputColorProps} from "./InputColor";
type FieldColorProps = InputColorProps & {

View File

@@ -1,8 +1,8 @@
import React from 'react'
import React from "react";
import Block from './Block'
import InputString from './InputString'
import { WithTranslation, withTranslation } from 'react-i18next';
import Block from "./Block";
import InputString from "./InputString";
import { type WithTranslation, withTranslation } from "react-i18next";
type FieldCommentInternalProps = {
value?: string

View File

@@ -1,5 +1,5 @@
import React from 'react'
import {MdInfoOutline, MdHighlightOff} from 'react-icons/md'
import React, { type JSX } from "react";
import {MdInfoOutline, MdHighlightOff} from "react-icons/md";
type FieldDocLabelProps = {
label: JSX.Element | string | undefined
@@ -28,12 +28,12 @@ const FieldDocLabel: React.FC<FieldDocLabelProps> = (props) => {
<label className="maputnik-doc-wrapper">
<div className="maputnik-doc-target">
{label}
{'\xa0'}
{"\xa0"}
<button
aria-label={open ? 'close property documentation' : 'open property documentation'}
className={`maputnik-doc-button maputnik-doc-button--${open ? 'open' : 'closed'}`}
aria-label={open ? "close property documentation" : "open property documentation"}
className={`maputnik-doc-button maputnik-doc-button--${open ? "open" : "closed"}`}
onClick={() => onToggleDoc(!open)}
data-wd-key={'field-doc-button-' + label}
data-wd-key={"field-doc-button-" + label}
>
{open ? <MdHighlightOff /> : <MdInfoOutline />}
</button>

View File

@@ -1,5 +1,5 @@
import InputDynamicArray, {FieldDynamicArrayProps as InputDynamicArrayProps} from './InputDynamicArray'
import Fieldset from './Fieldset'
import InputDynamicArray, {type InputDynamicArrayProps} from "./InputDynamicArray";
import Fieldset from "./Fieldset";
type FieldDynamicArrayProps = InputDynamicArrayProps & {
name?: string

View File

@@ -1,5 +1,5 @@
import InputEnum, {InputEnumProps} from './InputEnum'
import Fieldset from './Fieldset';
import InputEnum, {type InputEnumProps} from "./InputEnum";
import Fieldset from "./Fieldset";
type FieldEnumProps = InputEnumProps & {

View File

@@ -1,11 +1,12 @@
import React from 'react'
import React from "react";
import SpecProperty from './_SpecProperty'
import DataProperty, { Stop } from './_DataProperty'
import ZoomProperty from './_ZoomProperty'
import ExpressionProperty from './_ExpressionProperty'
import {function as styleFunction} from '@maplibre/maplibre-gl-style-spec';
import {findDefaultFromSpec} from '../libs/spec-helper';
import SpecProperty from "./_SpecProperty";
import DataProperty, { type Stop } from "./_DataProperty";
import ZoomProperty from "./_ZoomProperty";
import ExpressionProperty from "./_ExpressionProperty";
import {function as styleFunction} from "@maplibre/maplibre-gl-style-spec";
import {findDefaultFromSpec} from "../libs/spec-helper";
import { type MappedLayerErrors } from "../libs/definitions";
function isLiteralExpression(value: any) {
@@ -22,9 +23,9 @@ function isGetExpression(value: any) {
function isZoomField(value: any) {
return (
typeof(value) === 'object' &&
typeof(value) === "object" &&
value.stops &&
typeof(value.property) === 'undefined' &&
typeof(value.property) === "undefined" &&
Array.isArray(value.stops) &&
value.stops.length > 1 &&
value.stops.every((stop: Stop) => {
@@ -38,7 +39,7 @@ function isZoomField(value: any) {
function isIdentityProperty(value: any) {
return (
typeof(value) === 'object' &&
typeof(value) === "object" &&
value.type === "identity" &&
Object.prototype.hasOwnProperty.call(value, "property")
);
@@ -46,16 +47,16 @@ function isIdentityProperty(value: any) {
function isDataStopProperty(value: any) {
return (
typeof(value) === 'object' &&
typeof(value) === "object" &&
value.stops &&
typeof(value.property) !== 'undefined' &&
typeof(value.property) !== "undefined" &&
value.stops.length > 1 &&
Array.isArray(value.stops) &&
value.stops.every((stop: Stop) => {
return (
Array.isArray(stop) &&
stop.length === 2 &&
typeof(stop[0]) === 'object'
typeof(stop[0]) === "object"
);
})
);
@@ -90,6 +91,18 @@ function getDataType(value: any, fieldSpec={} as any) {
else if (fieldSpec.type === "array" && isArrayOfPrimatives(value)) {
return "value";
}
else if (fieldSpec.type === "numberArray" && isArrayOfPrimatives(value)) {
return "value";
}
else if (fieldSpec.type === "colorArray") {
return "value";
}
else if (fieldSpec.type === "padding") {
return "value";
}
else if (fieldSpec.type === "variableAnchorOffsetCollection") {
return "value";
}
else if (isZoomField(value)) {
return "zoom_function";
}
@@ -107,7 +120,7 @@ type FieldFunctionProps = {
fieldName: string
fieldType: string
fieldSpec: any
errors?: {[key: string]: {message: string}}
errors?: MappedLayerErrors
value?: any
};
@@ -129,18 +142,18 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
const getFieldFunctionType = (fieldSpec: any) => {
if (fieldSpec.expression.interpolated) {
return 'exponential';
return "exponential";
}
if (fieldSpec.type === 'number') {
return 'interval';
if (fieldSpec.type === "number") {
return "interval";
}
return 'categorical';
return "categorical";
};
const addStop = () => {
const stops = props.value.stops.slice(0);
const lastStop = stops[stops.length - 1];
if (typeof lastStop[0] === 'object') {
if (typeof lastStop[0] === "object") {
stops.push([
{ zoom: lastStop[0].zoom + 1, value: lastStop[0].value },
lastStop[1],
@@ -160,7 +173,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
const deleteExpression = () => {
const { fieldSpec, fieldName } = props;
props.onChange(fieldName, fieldSpec.default);
setDataType('value');
setDataType("value");
};
const deleteStop = (stopIdx: number) => {
@@ -183,7 +196,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
const { value } = props;
let zoomFunc: any;
if (typeof value === 'object') {
if (typeof value === "object") {
if (value.stops) {
zoomFunc = {
base: value.base,
@@ -217,13 +230,13 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
if (isGetExpression(value)) {
props.onChange(fieldName, {
type: 'identity',
type: "identity",
property: value[1],
});
setDataType('value');
setDataType("value");
} else if (isLiteralExpression(value)) {
props.onChange(fieldName, value[1]);
setDataType('value');
setDataType("value");
}
};
@@ -233,7 +246,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
isGetExpression(value) ||
isLiteralExpression(value) ||
isPrimative(value) ||
(Array.isArray(value) && fieldSpec.type === 'array')
(Array.isArray(value) && fieldSpec.type === "array")
);
};
@@ -241,26 +254,26 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
const { value, fieldSpec } = props;
let expression;
if (typeof value === 'object' && 'stops' in value) {
if (typeof value === "object" && "stops" in value) {
expression = styleFunction.convertFunction(value, fieldSpec);
} else if (isIdentityProperty(value)) {
expression = ['get', value.property];
expression = ["get", value.property];
} else {
expression = ['literal', value || props.fieldSpec.default];
expression = ["literal", value || props.fieldSpec.default];
}
props.onChange(props.fieldName, expression);
};
const makeDataFunction = () => {
const functionType = getFieldFunctionType(props.fieldSpec);
const stopValue = functionType === 'categorical' ? '' : 0;
const stopValue = functionType === "categorical" ? "" : 0;
const { value } = props;
let dataFunc;
if (typeof value === 'object') {
if (typeof value === "object") {
if (value.stops) {
dataFunc = {
property: '',
property: "",
type: functionType,
base: value.base,
stops: value.stops.map((stop: Stop) => {
@@ -269,7 +282,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
};
} else {
dataFunc = {
property: '',
property: "",
type: functionType,
base: value.base,
stops: [
@@ -280,7 +293,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
}
} else {
dataFunc = {
property: '',
property: "",
type: functionType,
base: value.base,
stops: [
@@ -293,6 +306,20 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
props.onChange(props.fieldName, dataFunc);
};
const makeElevationFunction = () => {
const expression = [
"interpolate",
["linear"],
["elevation"],
0,
"black",
2000,
"white"
];
props.onChange(props.fieldName, expression);
};
const onMarkEditing = () => {
setIsEditing(true);
};
@@ -302,11 +329,11 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
};
const propClass =
props.fieldSpec.default === props.value ? 'maputnik-default-property' : 'maputnik-modified-property';
props.fieldSpec.default === props.value ? "maputnik-default-property" : "maputnik-modified-property";
let specField;
if (dataType === 'expression') {
if (dataType === "expression") {
specField = (
<ExpressionProperty
errors={props.errors}
@@ -322,7 +349,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
onBlur={onUnmarkEditing}
/>
);
} else if (dataType === 'zoom_function') {
} else if (dataType === "zoom_function") {
specField = (
<ZoomProperty
errors={props.errors}
@@ -337,7 +364,7 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
onExpressionClick={makeExpression}
/>
);
} else if (dataType === 'data_function') {
} else if (dataType === "data_function") {
specField = (
<DataProperty
errors={props.errors}
@@ -364,12 +391,13 @@ const FieldFunction: React.FC<FieldFunctionProps> = (props) => {
onZoomClick={makeZoomFunction}
onDataClick={makeDataFunction}
onExpressionClick={makeExpression}
onElevationClick={makeElevationFunction}
/>
);
}
return (
<div className={propClass} data-wd-key={'spec-field-container:' + props.fieldName}>
<div className={propClass} data-wd-key={"spec-field-container:" + props.fieldName}>
{specField}
</div>
);

View File

@@ -1,7 +1,7 @@
import latest from '@maplibre/maplibre-gl-style-spec/dist/latest.json'
import Block from './Block'
import InputString from './InputString'
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import Block from "./Block";
import InputString from "./InputString";
type FieldIdProps = {
value: string

View File

@@ -1,4 +1,4 @@
import InputJson, {InputJsonProps} from './InputJson'
import InputJson, {type InputJsonProps} from "./InputJson";
type FieldJsonProps = InputJsonProps & {};

View File

@@ -1,9 +1,9 @@
import React from 'react'
import React from "react";
import latest from '@maplibre/maplibre-gl-style-spec/dist/latest.json'
import Block from './Block'
import InputNumber from './InputNumber'
import { WithTranslation, withTranslation } from 'react-i18next';
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import Block from "./Block";
import InputNumber from "./InputNumber";
import { type WithTranslation, withTranslation } from "react-i18next";
type FieldMaxZoomInternalProps = {
value?: number
@@ -14,7 +14,7 @@ type FieldMaxZoomInternalProps = {
const FieldMaxZoomInternal: React.FC<FieldMaxZoomInternalProps> = (props) => {
const t = props.t;
return (
<Block label={t('Max Zoom')} fieldSpec={latest.layer.maxzoom}
<Block label={t("Max Zoom")} fieldSpec={latest.layer.maxzoom}
error={props.error}
data-wd-key="max-zoom"
>

View File

@@ -1,9 +1,9 @@
import React from 'react'
import React from "react";
import latest from '@maplibre/maplibre-gl-style-spec/dist/latest.json'
import Block from './Block'
import InputNumber from './InputNumber'
import { WithTranslation, withTranslation } from 'react-i18next';
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import Block from "./Block";
import InputNumber from "./InputNumber";
import { type WithTranslation, withTranslation } from "react-i18next";
type FieldMinZoomInternalProps = {
value?: number
@@ -14,7 +14,7 @@ type FieldMinZoomInternalProps = {
const FieldMinZoomInternal: React.FC<FieldMinZoomInternalProps> = (props) => {
const t = props.t;
return (
<Block label={t('Min Zoom')} fieldSpec={latest.layer.minzoom}
<Block label={t("Min Zoom")} fieldSpec={latest.layer.minzoom}
error={props.error}
data-wd-key="min-zoom"
>

View File

@@ -1,5 +1,5 @@
import InputMultiInput, {InputMultiInputProps} from './InputMultiInput'
import Fieldset from './Fieldset'
import InputMultiInput, {type InputMultiInputProps} from "./InputMultiInput";
import Fieldset from "./Fieldset";
type FieldMultiInputProps = InputMultiInputProps & {

View File

@@ -1,5 +1,5 @@
import InputNumber, {InputNumberProps} from './InputNumber'
import Block from './Block'
import InputNumber, {type InputNumberProps} from "./InputNumber";
import Block from "./Block";
type FieldNumberProps = InputNumberProps & {

View File

@@ -1,5 +1,5 @@
import Block from './Block'
import InputSelect, {InputSelectProps} from './InputSelect'
import Block from "./Block";
import InputSelect, {type InputSelectProps} from "./InputSelect";
type FieldSelectProps = InputSelectProps & {

View File

@@ -1,9 +1,9 @@
import React from 'react'
import React from "react";
import latest from '@maplibre/maplibre-gl-style-spec/dist/latest.json'
import Block from './Block'
import InputAutocomplete from './InputAutocomplete'
import { WithTranslation, withTranslation } from 'react-i18next';
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import Block from "./Block";
import InputAutocomplete from "./InputAutocomplete";
import { type WithTranslation, withTranslation } from "react-i18next";
type FieldSourceInternalProps = {
value?: string
@@ -23,7 +23,7 @@ const FieldSourceInternal: React.FC<FieldSourceInternalProps> = ({
}) => {
return (
<Block
label={t('Source')}
label={t("Source")}
fieldSpec={latest.layer.source}
error={error}
data-wd-key={wdKey}

View File

@@ -1,9 +1,9 @@
import React from 'react'
import React from "react";
import {latest} from '@maplibre/maplibre-gl-style-spec'
import Block from './Block'
import InputAutocomplete from './InputAutocomplete'
import { WithTranslation, withTranslation } from 'react-i18next';
import {latest} from "@maplibre/maplibre-gl-style-spec";
import Block from "./Block";
import InputAutocomplete from "./InputAutocomplete";
import { type WithTranslation, withTranslation } from "react-i18next";
type FieldSourceLayerInternalProps = {
value?: string
@@ -21,8 +21,8 @@ const FieldSourceLayerInternal: React.FC<FieldSourceLayerInternalProps> = ({
}) => {
return (
<Block
label={t('Source Layer')}
fieldSpec={latest.layer['source-layer']}
label={t("Source Layer")}
fieldSpec={latest.layer["source-layer"]}
data-wd-key="layer-source-layer"
error={error}
>

View File

@@ -0,0 +1,49 @@
import Block, { type BlockProps } from "./Block";
import InputSpec, { type FieldSpecType, type InputSpecProps } from "./InputSpec";
import Fieldset, { type FieldsetProps } from "./Fieldset";
function getElementFromType(fieldSpec: { type?: FieldSpecType, values?: unknown[] }): typeof Fieldset | typeof Block {
switch(fieldSpec.type) {
case "color":
return Block;
case "enum":
return (Object.keys(fieldSpec.values!).length <= 3 ? Fieldset : Block);
case "boolean":
return Block;
case "array":
return Fieldset;
case "resolvedImage":
return Block;
case "number":
return Block;
case "string":
return Block;
case "formatted":
return Block;
case "padding":
return Block;
case "numberArray":
return Fieldset;
case "colorArray":
return Fieldset;
case "variableAnchorOffsetCollection":
return Fieldset;
default:
console.warn("No such type for: " + fieldSpec.type);
return Block;
}
}
export type FieldSpecProps = InputSpecProps & BlockProps & FieldsetProps;
const FieldSpec: React.FC<FieldSpecProps> = (props) => {
const TypeBlock = getElementFromType(props.fieldSpec!);
return (
<TypeBlock label={props.label} action={props.action} fieldSpec={props.fieldSpec} error={props.error}>
<InputSpec {...props} />
</TypeBlock>
);
};
export default FieldSpec;

View File

@@ -1,5 +1,5 @@
import Block from './Block'
import InputString, {InputStringProps} from './InputString'
import Block from "./Block";
import InputString, {type InputStringProps} from "./InputString";
type FieldStringProps = InputStringProps & {
name?: string

View File

@@ -1,10 +1,10 @@
import React from 'react'
import {v8} from '@maplibre/maplibre-gl-style-spec'
import Block from './Block'
import InputSelect from './InputSelect'
import InputString from './InputString'
import { WithTranslation, withTranslation } from 'react-i18next';
import { startCase } from 'lodash'
import React from "react";
import {v8} from "@maplibre/maplibre-gl-style-spec";
import Block from "./Block";
import InputSelect from "./InputSelect";
import InputString from "./InputString";
import { type WithTranslation, withTranslation } from "react-i18next";
import { startCase } from "lodash";
type FieldTypeInternalProps = {
value: string
@@ -22,9 +22,9 @@ const FieldTypeInternal: React.FC<FieldTypeInternalProps> = ({
error,
disabled = false
}) => {
const layerstypes: [string, string][] = Object.keys(v8.layer.type.values || {}).map(v => [v, startCase(v.replace(/-/g, ' '))]);
const layerstypes: [string, string][] = Object.keys(v8.layer.type.values || {}).map(v => [v, startCase(v.replace(/-/g, " "))]);
return (
<Block label={t('Type')} fieldSpec={v8.layer.type}
<Block label={t("Type")} fieldSpec={v8.layer.type}
data-wd-key={wdKey}
error={error}
>
@@ -36,7 +36,7 @@ const FieldTypeInternal: React.FC<FieldTypeInternalProps> = ({
options={layerstypes}
onChange={onChange}
value={value}
data-wd-key={wdKey + '.select'}
data-wd-key={wdKey + ".select"}
/>
)}
</Block>

View File

@@ -1,5 +1,5 @@
import InputUrl, {FieldUrlProps as InputUrlProps} from './InputUrl'
import Block from './Block'
import InputUrl, {type FieldUrlProps as InputUrlProps} from "./InputUrl";
import Block from "./Block";
type FieldUrlProps = InputUrlProps & {

View File

@@ -1,18 +1,20 @@
import React, { PropsWithChildren, ReactElement } from 'react'
import FieldDocLabel from './FieldDocLabel'
import Doc from './Doc'
import generateUniqueId from '../libs/document-uid';
import React, { type PropsWithChildren, type ReactElement } from "react";
import classnames from "classnames";
import FieldDocLabel from "./FieldDocLabel";
import Doc from "./Doc";
import generateUniqueId from "../libs/document-uid";
type FieldsetProps = PropsWithChildren & {
export type FieldsetProps = PropsWithChildren & {
label?: string,
fieldSpec?: { doc?: string },
action?: ReactElement,
error?: {message: string}
};
const Fieldset: React.FC<FieldsetProps> = (props) => {
const [showDoc, setShowDoc] = React.useState(false);
const labelId = React.useRef(generateUniqueId('fieldset_label_'));
const labelId = React.useRef(generateUniqueId("fieldset_label_"));
const onToggleDoc = (val: boolean) => {
setShowDoc(val);
@@ -30,14 +32,17 @@ const Fieldset: React.FC<FieldsetProps> = (props) => {
</div>
)}
{!props.fieldSpec && (
<div className="maputnik-input-block-label">
<div className={classnames({
"maputnik-input-block-label": true,
"maputnik-input-block--error": props.error
})}>
{props.label}
</div>
)}
<div className="maputnik-input-block-action">{props.action}</div>
<div className="maputnik-input-block-content">{props.children}</div>
{props.fieldSpec && (
<div className="maputnik-doc-inline" style={{ display: showDoc ? '' : 'none' }}>
<div className="maputnik-doc-inline" style={{ display: showDoc ? "" : "none" }}>
<Doc fieldSpec={props.fieldSpec} />
</div>
)}

View File

@@ -1,24 +1,25 @@
import React from 'react'
import {mdiTableRowPlusAfter} from '@mdi/js';
import {isEqual} from 'lodash';
import {ExpressionSpecification, LegacyFilterSpecification} from 'maplibre-gl'
import {latest, migrate, convertFilter} from '@maplibre/maplibre-gl-style-spec'
import {mdiFunctionVariant} from '@mdi/js';
import React from "react";
import { TbMathFunction } from "react-icons/tb";
import { PiListPlusBold } from "react-icons/pi";
import {isEqual} from "lodash";
import {type ExpressionSpecification, type LegacyFilterSpecification} from "maplibre-gl";
import {migrate, convertFilter} from "@maplibre/maplibre-gl-style-spec";
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import {combiningFilterOps} from '../libs/filterops'
import InputSelect from './InputSelect'
import Block from './Block'
import SingleFilterEditor from './SingleFilterEditor'
import FilterEditorBlock from './FilterEditorBlock'
import InputButton from './InputButton'
import Doc from './Doc'
import ExpressionProperty from './_ExpressionProperty';
import { WithTranslation, withTranslation } from 'react-i18next';
import type { StyleSpecificationWithId } from '../libs/definitions';
import {combiningFilterOps} from "../libs/filterops";
import InputSelect from "./InputSelect";
import Block from "./Block";
import SingleFilterEditor from "./SingleFilterEditor";
import FilterEditorBlock from "./FilterEditorBlock";
import InputButton from "./InputButton";
import Doc from "./Doc";
import ExpressionProperty from "./_ExpressionProperty";
import { type WithTranslation, withTranslation } from "react-i18next";
import type { MappedLayerErrors, StyleSpecificationWithId } from "../libs/definitions";
function combiningFilter(props: FilterEditorInternalProps): LegacyFilterSpecification | ExpressionSpecification {
const filter = props.filter || ['all'];
const filter = props.filter || ["all"];
if (!Array.isArray(filter)) {
return filter;
@@ -28,7 +29,7 @@ function combiningFilter(props: FilterEditorInternalProps): LegacyFilterSpecific
let filters = filter.slice(1);
if(combiningFilterOps.indexOf(combiningOp) < 0) {
combiningOp = 'all';
combiningOp = "all";
filters = [filter.slice(0)];
}
@@ -49,7 +50,7 @@ function createStyleFromFilter(filter: LegacyFilterSpecification | ExpressionSpe
"sources": {
"tmp": {
"type": "geojson",
"data": ''
"data": ""
}
},
"sprite": "",
@@ -81,22 +82,22 @@ function checkIfSimpleFilter (filter: LegacyFilterSpecification | ExpressionSpec
}
function hasCombiningFilter(filter: LegacyFilterSpecification | ExpressionSpecification) {
return combiningFilterOps.indexOf(filter[0]) >= 0
return combiningFilterOps.indexOf(filter[0]) >= 0;
}
function hasNestedCombiningFilter(filter: LegacyFilterSpecification | ExpressionSpecification) {
if(hasCombiningFilter(filter)) {
return filter.slice(1).map(f => hasCombiningFilter(f as any)).filter(f => f == true).length > 0
return filter.slice(1).map(f => hasCombiningFilter(f as any)).filter(f => f == true).length > 0;
}
return false
return false;
}
type FilterEditorInternalProps = {
/** Properties of the vector layer and the available fields */
properties?: {[key:string]: any}
filter?: any[]
errors?: {[key:string]: any}
onChange(value: LegacyFilterSpecification | ExpressionSpecification): unknown
errors?: MappedLayerErrors
onChange(value: LegacyFilterSpecification | ExpressionSpecification): void
} & WithTranslation;
type FilterEditorState = {
@@ -108,7 +109,7 @@ type FilterEditorState = {
class FilterEditorInternal extends React.Component<FilterEditorInternalProps, FilterEditorState> {
static defaultProps = {
filter: ["all"],
}
};
constructor (props: FilterEditorInternalProps) {
super(props);
@@ -120,42 +121,42 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
// Convert filter to combining filter
onFilterPartChanged(filterIdx: number, newPart: any[]) {
const newFilter = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification
newFilter[filterIdx] = newPart
this.props.onChange(newFilter)
const newFilter = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification;
newFilter[filterIdx] = newPart;
this.props.onChange(newFilter);
}
deleteFilterItem(filterIdx: number) {
const newFilter = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification
newFilter.splice(filterIdx + 1, 1)
this.props.onChange(newFilter)
const newFilter = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification;
newFilter.splice(filterIdx + 1, 1);
this.props.onChange(newFilter);
}
addFilterItem = () => {
const newFilterItem = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification
(newFilterItem as any[]).push(['==', 'name', ''])
this.props.onChange(newFilterItem)
}
const newFilterItem = combiningFilter(this.props).slice(0) as LegacyFilterSpecification | ExpressionSpecification;
(newFilterItem as any[]).push(["==", "name", ""]);
this.props.onChange(newFilterItem);
};
onToggleDoc = (val: boolean) => {
this.setState({
showDoc: val
});
}
};
makeFilter = () => {
this.setState({
displaySimpleFilter: true,
})
}
});
};
makeExpression = () => {
const filter = combiningFilter(this.props);
this.props.onChange(migrateFilter(filter));
this.setState({
displaySimpleFilter: false,
})
}
});
};
static getDerivedStateFromProps(props: Readonly<FilterEditorInternalProps>, state: FilterEditorState) {
const displaySimpleFilter = checkIfSimpleFilter(combiningFilter(props));
@@ -170,7 +171,7 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
else if (displaySimpleFilter && state.displaySimpleFilter === false) {
return {
valueIsSimpleFilter: true,
}
};
}
else {
return {
@@ -198,12 +199,10 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
onClick={this.makeExpression}
title={t("Convert to expression")}
>
<svg style={{marginRight: "0.2em", width:"14px", height:"14px", verticalAlign: "middle"}} viewBox="0 0 24 24">
<path fill="currentColor" d={mdiFunctionVariant} />
</svg>
<TbMathFunction />
{t("Upgrade to expression")}
</InputButton>
</div>
</div>;
}
else if (displaySimpleFilter) {
const filter = combiningFilter(this.props);
@@ -217,9 +216,7 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
title={t("Convert to expression")}
className="maputnik-make-zoom-function"
>
<svg style={{width:"14px", height:"14px", verticalAlign: "middle"}} viewBox="0 0 24 24">
<path fill="currentColor" d={mdiFunctionVariant} />
</svg>
<TbMathFunction />
</InputButton>
</div>
);
@@ -241,7 +238,7 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
}
</div>
);
})
});
return (
@@ -272,15 +269,14 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
className="maputnik-add-filter"
onClick={this.addFilterItem}
>
<svg style={{width:"14px", height:"14px", verticalAlign: "text-bottom"}} viewBox="0 0 24 24">
<path fill="currentColor" d={mdiTableRowPlusAfter} />
</svg> {t("Add filter")}
<PiListPlusBold style={{ verticalAlign: "text-bottom" }} />
{t("Add filter")}
</InputButton>
</div>
<div
key="doc"
className="maputnik-doc-inline"
style={{display: this.state.showDoc ? '' : 'none'}}
style={{display: this.state.showDoc ? "" : "none"}}
>
<Doc fieldSpec={fieldSpec} />
</div>
@@ -298,7 +294,6 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
this.props.onChange(defaultFilter);
}}
fieldName="filter"
fieldSpec={fieldSpec}
value={filter}
errors={errors}
onChange={this.props.onChange}
@@ -306,7 +301,7 @@ class FilterEditorInternal extends React.Component<FilterEditorInternalProps, Fi
{this.state.valueIsSimpleFilter &&
<div className="maputnik-expr-infobox">
{t("You've entered an old style filter.")}
{' '}
{" "}
<button
onClick={this.makeFilter}
className="maputnik-expr-infobox__button"

View File

@@ -1,7 +1,7 @@
import React, { PropsWithChildren } from 'react'
import InputButton from './InputButton'
import {MdDelete} from 'react-icons/md'
import { WithTranslation, withTranslation } from 'react-i18next';
import React, { type PropsWithChildren } from "react";
import InputButton from "./InputButton";
import {MdDelete} from "react-icons/md";
import { type WithTranslation, withTranslation } from "react-i18next";
type FilterEditorBlockInternalProps = PropsWithChildren & {
onDelete(...args: unknown[]): unknown
@@ -23,7 +23,7 @@ class FilterEditorBlockInternal extends React.Component<FilterEditorBlockInterna
<MdDelete />
</InputButton>
</div>
</div>
</div>;
}
}

View File

@@ -1,13 +0,0 @@
import React from 'react'
import IconBase from 'react-icon-base'
export default class IconBackground extends React.Component {
render() {
return (
<IconBase viewBox="0 0 20 20" {...this.props}>
<path d="m 1.821019,10.255581 7.414535,5.020197 c 0.372277,0.25206 0.958697,0.239771 1.30985,-0.02745 L 17.539255,9.926162 C 17.89041,9.658941 17.873288,9.238006 17.501015,8.985946 L 10.08648,3.9657402 C 9.714204,3.7136802 9.127782,3.7259703 8.776627,3.9931918 L 1.782775,9.315365 c -0.3511551,0.267221 -0.3340331,0.688156 0.03824,0.940216 z" />
</IconBase>
)
}
}

View File

@@ -1,13 +0,0 @@
import React from 'react'
import IconBase from 'react-icon-base'
export default class IconCircle extends React.Component {
render() {
return (
<IconBase viewBox="0 0 20 20" {...this.props}>
<path transform="translate(2 2)" d="M7.5,0C11.6422,0,15,3.3578,15,7.5S11.6422,15,7.5,15 S0,11.6422,0,7.5S3.3578,0,7.5,0z M7.5,1.6666c-3.2217,0-5.8333,2.6117-5.8333,5.8334S4.2783,13.3334,7.5,13.3334 s5.8333-2.6117,5.8333-5.8334S10.7217,1.6666,7.5,1.6666z"></path>
</IconBase>
)
}
}

View File

@@ -1,13 +0,0 @@
import React from 'react'
import IconBase from 'react-icon-base'
export default class IconFill extends React.Component {
render() {
return (
<IconBase viewBox="0 0 20 20" {...this.props}>
<path d="M 2.84978,9.763512 9.462149,4.7316391 16.47225,9.478015 9.859886,14.509879 2.84978,9.763512 m -1.028761,0.492069 7.414535,5.020197 c 0.372277,0.25206 0.958697,0.239771 1.30985,-0.02745 L 17.539255,9.926162 C 17.89041,9.658941 17.873288,9.238006 17.501015,8.985946 L 10.08648,3.9657402 C 9.714204,3.7136802 9.127782,3.7259703 8.776627,3.9931918 L 1.782775,9.315365 c -0.3511551,0.267221 -0.3340331,0.688156 0.03824,0.940216 l 0,0 z" />
</IconBase>
)
}
}

View File

@@ -1,32 +1,33 @@
import React from 'react'
import React from "react";
import IconLine from './IconLine'
import IconFill from './IconFill'
import IconSymbol from './IconSymbol'
import IconBackground from './IconBackground'
import IconCircle from './IconCircle'
import IconMissing from './IconMissing'
import type {CSSProperties} from "react";
import { BsBack, BsDiamondFill, BsSunFill } from "react-icons/bs";
import { MdBubbleChart, MdCircle, MdLocationPin, MdPhoto, MdPriorityHigh } from "react-icons/md";
import { IoAnalyticsOutline } from "react-icons/io5";
import { IoMdCube } from "react-icons/io";
import { FaMountain } from "react-icons/fa";
type IconLayerProps = {
type: string
style?: object
style?: CSSProperties
className?: string
};
export default class IconLayer extends React.Component<IconLayerProps> {
render() {
const iconProps = { style: this.props.style }
switch(this.props.type) {
case 'fill-extrusion': return <IconBackground {...iconProps} />
case 'raster': return <IconFill {...iconProps} />
case 'hillshade': return <IconFill {...iconProps} />
case 'heatmap': return <IconFill {...iconProps} />
case 'fill': return <IconFill {...iconProps} />
case 'background': return <IconBackground {...iconProps} />
case 'line': return <IconLine {...iconProps} />
case 'symbol': return <IconSymbol {...iconProps} />
case 'circle': return <IconCircle {...iconProps} />
default: return <IconMissing {...iconProps} />
}
const IconLayer: React.FC<IconLayerProps> = (props) => {
const iconProps = { style: props.style };
switch(props.type) {
case "fill-extrusion": return <IoMdCube {...iconProps} />;
case "raster": return <MdPhoto {...iconProps} />;
case "hillshade": return <BsSunFill {...iconProps} />;
case "color-relief": return <FaMountain {...iconProps} />;
case "heatmap": return <MdBubbleChart {...iconProps} />;
case "fill": return <BsDiamondFill {...iconProps} />;
case "background": return <BsBack {...iconProps} />;
case "line": return <IoAnalyticsOutline {...iconProps} />;
case "symbol": return <MdLocationPin {...iconProps} />;
case "circle": return <MdCircle {...iconProps} />;
default: return <MdPriorityHigh {...iconProps} />;
}
}
};
export default IconLayer;

View File

@@ -1,13 +0,0 @@
import React from 'react'
import IconBase from 'react-icon-base'
export default class IconLine extends React.Component {
render() {
return (
<IconBase viewBox="0 0 20 20" {...this.props}>
<path d="M 12.34,1.29 C 12.5114,1.1076 12.7497,1.0029 13,1 13.5523,1 14,1.4477 14,2 14.0047,2.2478 13.907,2.4866 13.73,2.66 9.785626,6.5516986 6.6148407,9.7551593 2.65,13.72 2.4793,13.8963 2.2453,13.9971 2,14 1.4477,14 1,13.5523 1,13 0.9953,12.7522 1.093,12.5134 1.27,12.34 4.9761967,8.7018093 9.0356422,4.5930579 12.34,1.29 Z" transform="translate(2,2)" />
</IconBase>
)
}
}

View File

@@ -1,11 +0,0 @@
import React from 'react'
import {MdPriorityHigh} from 'react-icons/md'
export default class IconMissing extends React.Component {
render() {
return (
<MdPriorityHigh {...this.props} />
)
}
}

View File

@@ -1,15 +0,0 @@
import React from 'react'
import IconBase from 'react-icon-base'
export default class IconSymbol extends React.Component {
render() {
return (
<IconBase viewBox="0 0 20 20" {...this.props}>
<g transform="matrix(1.2718518,0,0,1.2601269,16.559526,-7.4065264)">
<path d="m -9.7959773,11.060163 c -0.3734787,-0.724437 -0.3580577,-1.2147051 -0.00547,-1.8767873 l 8.6034029,-0.019416 c 0.39670292,0.6865644 0.38365934,1.4750693 -0.011097,1.8864953 l -3.1359613,-0.0033 -0.013695,7.1305 c -0.4055357,0.397083 -1.3146432,0.397083 -1.7769191,-0.02274 l 0.030226,-7.104422 z" />
</g>
</IconBase>
)
}
}

View File

@@ -1,29 +1,29 @@
import React from 'react'
import InputString from './InputString'
import InputNumber from './InputNumber'
import React from "react";
import InputString from "./InputString";
import InputNumber from "./InputNumber";
export type FieldArrayProps = {
export type InputArrayProps = {
value: (string | number | undefined)[]
type?: string
length?: number
default?: (string | number | undefined)[]
onChange?(value: (string | number | undefined)[] | undefined): unknown
'aria-label'?: string
"aria-label"?: string
label?: string
};
type FieldArrayState = {
type InputArrayState = {
value: (string | number | undefined)[]
initialPropsValue: unknown[]
}
};
export default class FieldArray extends React.Component<FieldArrayProps, FieldArrayState> {
export default class InputArray extends React.Component<InputArrayProps, InputArrayState> {
static defaultProps = {
value: [],
default: [],
}
};
constructor (props: FieldArrayProps) {
constructor (props: InputArrayProps) {
super(props);
this.state = {
value: this.props.value.slice(0),
@@ -32,7 +32,7 @@ export default class FieldArray extends React.Component<FieldArrayProps, FieldAr
};
}
static getDerivedStateFromProps(props: Readonly<FieldArrayProps>, state: FieldArrayState) {
static getDerivedStateFromProps(props: Readonly<InputArrayProps>, state: InputArrayState) {
const value: any[] = [];
const initialPropsValue = state.initialPropsValue.slice(0);
@@ -44,7 +44,7 @@ export default class FieldArray extends React.Component<FieldArrayProps, FieldAr
value[i] = state.value[i];
initialPropsValue[i] = state.value[i];
}
})
});
return {
value,
@@ -54,7 +54,7 @@ export default class FieldArray extends React.Component<FieldArrayProps, FieldAr
isComplete(value: unknown[]) {
return Array(this.props.length).fill(null).every((_, i) => {
const val = value[i]
const val = value[i];
return !(val === undefined || val === "");
});
}
@@ -82,20 +82,20 @@ export default class FieldArray extends React.Component<FieldArrayProps, FieldAr
const containsValues = (
value.length > 0 &&
!value.every(val => {
return (val === "" || val === undefined)
return (val === "" || val === undefined);
})
);
const inputs = Array(this.props.length).fill(null).map((_, i) => {
if(this.props.type === 'number') {
if(this.props.type === "number") {
return <InputNumber
key={i}
default={containsValues || !this.props.default ? undefined : this.props.default[i] as number}
value={value[i] as number}
required={containsValues ? true : false}
onChange={(v) => this.changeValue(i, v)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
} else {
return <InputString
key={i}
@@ -103,15 +103,15 @@ export default class FieldArray extends React.Component<FieldArrayProps, FieldAr
value={value[i] as string}
required={containsValues ? true : false}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
})
});
return (
<div className="maputnik-array">
{inputs}
</div>
)
);
}
}

View File

@@ -1,18 +1,18 @@
import InputAutocomplete from './InputAutocomplete'
import { mount } from 'cypress/react'
import InputAutocomplete from "./InputAutocomplete";
import { mount } from "cypress/react";
const fruits = ['apple', 'banana', 'cherry'];
const fruits = ["apple", "banana", "cherry"];
describe('<InputAutocomplete />', () => {
it('filters options when typing', () => {
describe("<InputAutocomplete />", () => {
it("filters options when typing", () => {
mount(
<InputAutocomplete aria-label="Fruit" options={fruits.map(f => [f, f])} />
);
cy.get('input').focus();
cy.get('.maputnik-autocomplete-menu-item').should('have.length', 3);
cy.get('input').type('ch');
cy.get('.maputnik-autocomplete-menu-item').should('have.length', 1).and('contain', 'cherry');
cy.get('.maputnik-autocomplete-menu-item').click();
cy.get('input').should('have.value', 'cherry');
cy.get("input").focus();
cy.get(".maputnik-autocomplete-menu-item").should("have.length", 3);
cy.get("input").type("ch");
cy.get(".maputnik-autocomplete-menu-item").should("have.length", 1).and("contain", "cherry");
cy.get(".maputnik-autocomplete-menu-item").click();
cy.get("input").should("have.value", "cherry");
});
});

View File

@@ -1,37 +1,37 @@
import React from 'react'
import classnames from 'classnames'
import {useCombobox} from 'downshift'
import React from "react";
import classnames from "classnames";
import {useCombobox} from "downshift";
const MAX_HEIGHT = 140
const MAX_HEIGHT = 140;
export type InputAutocompleteProps = {
value?: string
options?: any[]
onChange?(value: string | undefined): unknown
'aria-label'?: string
"aria-label"?: string
};
export default function InputAutocomplete({
value,
options = [],
onChange = () => {},
'aria-label': ariaLabel,
"aria-label": ariaLabel,
}: InputAutocompleteProps) {
const [input, setInput] = React.useState(value || '')
const menuRef = React.useRef<HTMLDivElement>(null)
const [maxHeight, setMaxHeight] = React.useState(MAX_HEIGHT)
const [input, setInput] = React.useState(value || "");
const menuRef = React.useRef<HTMLDivElement>(null);
const [maxHeight, setMaxHeight] = React.useState(MAX_HEIGHT);
const filteredItems = React.useMemo(() => {
const lv = input.toLowerCase()
return options.filter((item) => item[0].toLowerCase().includes(lv))
}, [options, input])
const lv = input.toLowerCase();
return options.filter((item) => item[0].toLowerCase().includes(lv));
}, [options, input]);
const calcMaxHeight = React.useCallback(() => {
if (menuRef.current) {
const space = window.innerHeight - menuRef.current.getBoundingClientRect().top
setMaxHeight(Math.min(space, MAX_HEIGHT))
const space = window.innerHeight - menuRef.current.getBoundingClientRect().top;
setMaxHeight(Math.min(space, MAX_HEIGHT));
}
}, [])
}, []);
const {
isOpen,
@@ -43,48 +43,48 @@ export default function InputAutocomplete({
} = useCombobox({
items: filteredItems,
inputValue: input,
itemToString: (item) => (item ? item[0] : ''),
itemToString: (item) => (item ? item[0] : ""),
stateReducer: (_state, action) => {
if (action.type === useCombobox.stateChangeTypes.InputClick) {
return {...action.changes, isOpen: true}
return {...action.changes, isOpen: true};
}
return action.changes
return action.changes;
},
onSelectedItemChange: ({selectedItem}) => {
const v = selectedItem ? selectedItem[0] : ''
setInput(v)
onChange(selectedItem ? selectedItem[0] : undefined)
const v = selectedItem ? selectedItem[0] : "";
setInput(v);
onChange(selectedItem ? selectedItem[0] : undefined);
},
onInputValueChange: ({inputValue: v}) => {
if (typeof v === 'string') {
setInput(v)
onChange(v === '' ? undefined : v)
openMenu()
if (typeof v === "string") {
setInput(v);
onChange(v === "" ? undefined : v);
openMenu();
}
},
})
});
React.useEffect(() => {
if (isOpen) {
calcMaxHeight()
calcMaxHeight();
}
}, [isOpen, calcMaxHeight])
}, [isOpen, calcMaxHeight]);
React.useEffect(() => {
window.addEventListener('resize', calcMaxHeight)
return () => window.removeEventListener('resize', calcMaxHeight)
}, [calcMaxHeight])
window.addEventListener("resize", calcMaxHeight);
return () => window.removeEventListener("resize", calcMaxHeight);
}, [calcMaxHeight]);
React.useEffect(() => {
setInput(value || '')
}, [value])
setInput(value || "");
}, [value]);
return (
<div className="maputnik-autocomplete">
<input
{...getInputProps({
'aria-label': ariaLabel,
className: 'maputnik-string',
"aria-label": ariaLabel,
className: "maputnik-string",
spellCheck: false,
onFocus: () => openMenu(),
})}
@@ -92,7 +92,7 @@ export default function InputAutocomplete({
<div
{...getMenuProps({}, {suppressRefError: true})}
ref={menuRef}
style={{position: 'fixed', overflow: 'auto', maxHeight, zIndex: 998}}
style={{position: "fixed", overflow: "auto", maxHeight, zIndex: 998}}
className="maputnik-autocomplete-menu"
>
{isOpen &&
@@ -102,8 +102,8 @@ export default function InputAutocomplete({
{...getItemProps({
item,
index,
className: classnames('maputnik-autocomplete-menu-item', {
'maputnik-autocomplete-menu-item-selected': highlightedIndex === index,
className: classnames("maputnik-autocomplete-menu-item", {
"maputnik-autocomplete-menu-item-selected": highlightedIndex === index,
}),
})}
>
@@ -112,5 +112,5 @@ export default function InputAutocomplete({
))}
</div>
</div>
)
);
}

View File

@@ -1,5 +1,5 @@
import React from 'react'
import classnames from 'classnames'
import React from "react";
import classnames from "classnames";
type InputButtonProps = {
"data-wd-key"?: string
@@ -28,6 +28,6 @@ export default class InputButton extends React.Component<InputButtonProps> {
style={this.props.style}
>
{this.props.children}
</button>
</button>;
}
}

View File

@@ -1,4 +1,4 @@
import React from 'react'
import React from "react";
export type InputCheckboxProps = {
value?: boolean
@@ -9,11 +9,11 @@ export type InputCheckboxProps = {
export default class InputCheckbox extends React.Component<InputCheckboxProps> {
static defaultProps = {
value: false,
}
};
onChange = () => {
this.props.onChange(!this.props.value);
}
};
render() {
return <div className="maputnik-checkbox-wrapper">
@@ -27,11 +27,11 @@ export default class InputCheckbox extends React.Component<InputCheckboxProps> {
/>
<div className="maputnik-checkbox-box">
<svg style={{
display: this.props.value ? 'inline' : 'none'
display: this.props.value ? "inline" : "none"
}} className="maputnik-checkbox-icon" viewBox='0 0 32 32'>
<path d='M1 14 L5 10 L13 18 L27 4 L31 8 L13 26 z' />
</svg>
</div>
</div>
</div>;
}
}

View File

@@ -1,12 +1,12 @@
import React from 'react'
import Color from 'color'
import ChromePicker from 'react-color/lib/components/chrome/Chrome'
import {ColorResult} from 'react-color';
import lodash from 'lodash';
import React from "react";
import Color from "color";
import ChromePicker from "react-color/lib/components/chrome/Chrome";
import {type ColorResult} from "react-color";
import lodash from "lodash";
function formatColor(color: ColorResult): string {
const rgb = color.rgb
return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`
const rgb = color.rgb;
return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`;
}
export type InputColorProps = {
@@ -16,14 +16,14 @@ export type InputColorProps = {
doc?: string
style?: object
default?: string
'aria-label'?: string
"aria-label"?: string
};
/*** Number fields with support for min, max and units and documentation*/
export default class InputColor extends React.Component<InputColorProps> {
state = {
pickerOpened: false
}
};
colorInput: HTMLInputElement | null = null;
constructor (props: InputColorProps) {
@@ -39,29 +39,29 @@ export default class InputColor extends React.Component<InputColorProps> {
//but I am too stupid to get it to work together with fixed position
//and scrollbars so I have to fallback to JavaScript
calcPickerOffset = () => {
const elem = this.colorInput
const elem = this.colorInput;
if(elem) {
const pos = elem.getBoundingClientRect()
const pos = elem.getBoundingClientRect();
return {
top: pos.top,
left: pos.left + 196,
}
};
} else {
return {
top: 160,
left: 555,
}
};
}
}
};
togglePicker = () => {
this.setState({ pickerOpened: !this.state.pickerOpened })
}
this.setState({ pickerOpened: !this.state.pickerOpened });
};
get color() {
// Catch invalid color.
try {
return Color(this.props.value).rgb()
return Color(this.props.value).rgb();
}
catch(err) {
console.warn("Error parsing color: ", err);
@@ -74,7 +74,7 @@ export default class InputColor extends React.Component<InputColorProps> {
}
render() {
const offset = this.calcPickerOffset()
const offset = this.calcPickerOffset();
const currentColor = this.color.object();
const currentChromeColor = {
r: currentColor.r,
@@ -82,12 +82,12 @@ export default class InputColor extends React.Component<InputColorProps> {
b: currentColor.b,
// Rename alpha -> a for ChromePicker
a: currentColor.alpha!
}
};
const picker = <div
className="maputnik-color-picker-offset"
style={{
position: 'fixed',
position: "fixed",
zIndex: 1,
left: offset.left,
top: offset.top,
@@ -101,14 +101,14 @@ export default class InputColor extends React.Component<InputColorProps> {
onClick={this.togglePicker}
style={{
zIndex: -1,
position: 'fixed',
top: '0px',
right: '0px',
bottom: '0px',
left: '0px',
position: "fixed",
top: "0px",
right: "0px",
bottom: "0px",
left: "0px",
}}
/>
</div>
</div>;
const swatchStyle = {
backgroundColor: this.props.value
@@ -118,11 +118,11 @@ export default class InputColor extends React.Component<InputColorProps> {
{this.state.pickerOpened && picker}
<div className="maputnik-color-swatch" style={swatchStyle}></div>
<input
aria-label={this.props['aria-label']}
aria-label={this.props["aria-label"]}
spellCheck="false"
autoComplete="off"
className="maputnik-color"
ref={(input) => this.colorInput = input}
ref={(input) => {this.colorInput = input;}}
onClick={this.togglePicker}
style={this.props.style}
name={this.props.name}
@@ -130,6 +130,6 @@ export default class InputColor extends React.Component<InputColorProps> {
value={this.props.value ? this.props.value : ""}
onChange={(e) => this.onChange(e.target.value)}
/>
</div>
</div>;
}
}

View File

@@ -1,64 +1,67 @@
import React from 'react'
import capitalize from 'lodash.capitalize'
import {MdDelete} from 'react-icons/md'
import { WithTranslation, withTranslation } from 'react-i18next';
import React from "react";
import capitalize from "lodash.capitalize";
import {MdDelete} from "react-icons/md";
import { type WithTranslation, withTranslation } from "react-i18next";
import InputString from './InputString'
import InputNumber from './InputNumber'
import InputButton from './InputButton'
import FieldDocLabel from './FieldDocLabel'
import InputEnum from './InputEnum'
import InputUrl from './InputUrl'
import InputString from "./InputString";
import InputNumber from "./InputNumber";
import InputButton from "./InputButton";
import FieldDocLabel from "./FieldDocLabel";
import InputEnum from "./InputEnum";
import InputUrl from "./InputUrl";
import InputColor from "./InputColor";
export type FieldDynamicArrayProps = {
export type InputDynamicArrayProps = {
value?: (string | number | undefined)[]
type?: 'url' | 'number' | 'enum' | 'string'
type?: "url" | "number" | "enum" | "string" | "color"
default?: (string | number | undefined)[]
onChange?(values: (string | number | undefined)[] | undefined): unknown
style?: object
fieldSpec?: {
values?: any
}
'aria-label'?: string
"aria-label"?: string
label: string
}
};
type FieldDynamicArrayInternalProps = FieldDynamicArrayProps & WithTranslation;
type InputDynamicArrayInternalProps = InputDynamicArrayProps & WithTranslation;
class FieldDynamicArrayInternal extends React.Component<FieldDynamicArrayInternalProps> {
class InputDynamicArrayInternal extends React.Component<InputDynamicArrayInternalProps> {
changeValue(idx: number, newValue: string | number | undefined) {
const values = this.values.slice(0)
values[idx] = newValue
if (this.props.onChange) this.props.onChange(values)
const values = this.values.slice(0);
values[idx] = newValue;
if (this.props.onChange) this.props.onChange(values);
}
get values() {
return this.props.value || this.props.default || []
return this.props.value || this.props.default || [];
}
addValue = () => {
const values = this.values.slice(0)
if (this.props.type === 'number') {
values.push(0)
const values = this.values.slice(0);
if (this.props.type === "number") {
values.push(0);
}
else if (this.props.type === 'url') {
else if (this.props.type === "url") {
values.push("");
}
else if (this.props.type === 'enum') {
else if (this.props.type === "enum") {
const {fieldSpec} = this.props;
const defaultValue = Object.keys(fieldSpec!.values)[0];
values.push(defaultValue);
} else if (this.props.type === "color") {
values.push("#000000");
} else {
values.push("")
values.push("");
}
if (this.props.onChange) this.props.onChange(values)
}
if (this.props.onChange) this.props.onChange(values);
};
deleteValue(valueIdx: number) {
const values = this.values.slice(0)
values.splice(valueIdx, 1)
const values = this.values.slice(0);
values.splice(valueIdx, 1);
if (this.props.onChange) this.props.onChange(values.length > 0 ? values : undefined);
}
@@ -72,35 +75,42 @@ class FieldDynamicArrayInternal extends React.Component<FieldDynamicArrayInterna
{...i18nProps}
/>;
let input;
if(this.props.type === 'url') {
if(this.props.type === "url") {
input = <InputUrl
value={v as string}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
else if (this.props.type === 'number') {
else if (this.props.type === "number") {
input = <InputNumber
value={v as number}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
else if (this.props.type === 'enum') {
else if (this.props.type === "enum") {
const options = Object.keys(this.props.fieldSpec?.values).map(v => [v, capitalize(v)]);
input = <InputEnum
options={options}
value={v as string}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
else if (this.props.type === "color") {
input = <InputColor
value={v as string}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
else {
input = <InputString
value={v as string}
onChange={this.changeValue.bind(this, i)}
aria-label={this.props['aria-label'] || this.props.label}
/>
aria-label={this.props["aria-label"] || this.props.label}
/>;
}
return <div
@@ -114,8 +124,8 @@ class FieldDynamicArrayInternal extends React.Component<FieldDynamicArrayInterna
<div className="maputnik-array-block-content">
{input}
</div>
</div>
})
</div>;
});
return (
<div className="maputnik-array">
@@ -131,8 +141,8 @@ class FieldDynamicArrayInternal extends React.Component<FieldDynamicArrayInterna
}
}
const FieldDynamicArray = withTranslation()(FieldDynamicArrayInternal);
export default FieldDynamicArray;
const InputDynamicArray = withTranslation()(InputDynamicArrayInternal);
export default InputDynamicArray;
type DeleteValueInputButtonProps = {
onClick?(...args: unknown[]): unknown
@@ -149,6 +159,6 @@ class DeleteValueInputButton extends React.Component<DeleteValueInputButtonProps
<FieldDocLabel
label={<MdDelete />}
/>
</InputButton>
</InputButton>;
}
}

View File

@@ -1,14 +1,14 @@
import React from 'react'
import InputSelect from './InputSelect'
import InputMultiInput from './InputMultiInput'
import React from "react";
import InputSelect from "./InputSelect";
import InputMultiInput from "./InputMultiInput";
function optionsLabelLength(options: any[]) {
let sum = 0;
options.forEach(([_, label]) => {
sum += label.length
})
return sum
sum += label.length;
});
return sum;
}
@@ -20,7 +20,7 @@ export type InputEnumProps = {
name?: string
onChange(...args: unknown[]): unknown
options: any[]
'aria-label'?: string
"aria-label"?: string
label?: string
};
@@ -35,15 +35,15 @@ export default class InputEnum extends React.Component<InputEnumProps> {
options={options}
value={(value || this.props.default)!}
onChange={onChange}
aria-label={this.props['aria-label'] || label}
/>
aria-label={this.props["aria-label"] || label}
/>;
} else {
return <InputSelect
options={options}
value={(value || this.props.default)!}
onChange={onChange}
aria-label={this.props['aria-label'] || label}
/>
aria-label={this.props["aria-label"] || label}
/>;
}
}
}

View File

@@ -1,20 +1,20 @@
import React from 'react'
import InputAutocomplete from './InputAutocomplete'
import React from "react";
import InputAutocomplete from "./InputAutocomplete";
export type FieldFontProps = {
export type InputFontProps = {
name: string
value?: string[]
default?: string[]
fonts?: unknown[]
style?: object
onChange(...args: unknown[]): unknown
'aria-label'?: string
"aria-label"?: string
};
export default class FieldFont extends React.Component<FieldFontProps> {
export default class InputFont extends React.Component<InputFontProps> {
static defaultProps = {
fonts: []
}
};
get values() {
const out = this.props.value || this.props.default || [];
@@ -29,11 +29,11 @@ export default class FieldFont extends React.Component<FieldFontProps> {
}
changeFont(idx: number, newValue: string) {
const changedValues = this.values.slice(0)
changedValues[idx] = newValue
const changedValues = this.values.slice(0);
changedValues[idx] = newValue;
const filteredValues = changedValues
.filter(v => v !== undefined)
.filter(v => v !== "")
.filter(v => v !== "");
this.props.onChange(filteredValues);
}
@@ -44,13 +44,13 @@ export default class FieldFont extends React.Component<FieldFontProps> {
key={i}
>
<InputAutocomplete
aria-label={this.props['aria-label'] || this.props.name}
aria-label={this.props["aria-label"] || this.props.name}
value={value}
options={this.props.fonts?.map(f => [f, f])}
onChange={this.changeFont.bind(this, i)}
/>
</li>
})
</li>;
});
return (
<ul className="maputnik-font">

View File

@@ -1,126 +1,98 @@
import React from 'react'
import classnames from 'classnames';
import CodeMirror, { ModeSpec } from 'codemirror';
import { Trans, WithTranslation, withTranslation } from 'react-i18next';
import React from "react";
import classnames from "classnames";
import { type WithTranslation, withTranslation } from "react-i18next";
import 'codemirror/mode/javascript/javascript'
import 'codemirror/addon/lint/lint'
import 'codemirror/addon/edit/matchbrackets'
import 'codemirror/lib/codemirror.css'
import 'codemirror/addon/lint/lint.css'
import stringifyPretty from 'json-stringify-pretty-compact'
import '../libs/codemirror-mgl';
import { type EditorView } from "@codemirror/view";
import stringifyPretty from "json-stringify-pretty-compact";
import {createEditor} from "../libs/codemirror-editor-factory";
import type { StylePropertySpecification } from "maplibre-gl";
import type { TransactionSpec } from "@codemirror/state";
export type InputJsonProps = {
layer: any
maxHeight?: number
onChange?(...args: unknown[]): unknown
lineNumbers?: boolean
lineWrapping?: boolean
getValue?(data: any): string
gutters?: string[]
value: object
className?: string
onChange(object: object): void
onFocus?(...args: unknown[]): unknown
onBlur?(...args: unknown[]): unknown
onJSONValid?(...args: unknown[]): unknown
onJSONInvalid?(...args: unknown[]): unknown
mode?: ModeSpec<any>
lint?: boolean | object
lintType: "layer" | "style" | "expression" | "json"
spec?: StylePropertySpecification | undefined
/**
* When setting this and using search and replace, the editor will scroll to the selected text
* Use this only when the editor is the only element in the page.
*/
withScroll?: boolean
};
type InputJsonInternalProps = InputJsonProps & WithTranslation;
type InputJsonState = {
isEditing: boolean
showMessage: boolean
prevValue: string
};
class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJsonState> {
static defaultProps = {
lineNumbers: true,
lineWrapping: false,
gutters: ["CodeMirror-lint-markers"],
getValue: (data: any) => {
return stringifyPretty(data, {indent: 2, maxLength: 40});
},
onFocus: () => {},
onBlur: () => {},
onJSONInvalid: () => {},
onJSONValid: () => {},
}
_keyEvent: string;
_doc: CodeMirror.Editor | undefined;
withScroll: false
};
_view: EditorView | undefined;
_el: HTMLDivElement | null = null;
_cancelNextChange: boolean = false;
constructor(props: InputJsonInternalProps) {
super(props);
this._keyEvent = "keyboard";
this.state = {
isEditing: false,
showMessage: false,
prevValue: this.props.getValue!(this.props.layer),
prevValue: this.getPrettyJson(this.props.value),
};
}
componentDidMount () {
this._doc = CodeMirror(this._el!, {
value: this.props.getValue!(this.props.layer),
mode: this.props.mode || {
name: "mgl",
},
lineWrapping: this.props.lineWrapping,
tabSize: 2,
theme: 'maputnik',
viewportMargin: Infinity,
lineNumbers: this.props.lineNumbers,
lint: this.props.lint || {
context: "layer"
},
matchBrackets: true,
gutters: this.props.gutters,
scrollbarStyle: "null",
});
this._doc.on('change', this.onChange);
this._doc.on('focus', this.onFocus);
this._doc.on('blur', this.onBlur);
getPrettyJson(data: any) {
return stringifyPretty(data, {indent: 2, maxLength: 40});
}
onPointerDown = () => {
this._keyEvent = "pointer";
componentDidMount () {
this._view = createEditor({
parent: this._el!,
value: this.getPrettyJson(this.props.value),
lintType: this.props.lintType || "layer",
onChange: (value:string) => this.onChange(value),
onFocus: () => this.onFocus(),
onBlur: () => this.onBlur(),
spec: this.props.spec
});
}
onFocus = () => {
if (this.props.onFocus) this.props.onFocus();
this.setState({
isEditing: true,
showMessage: (this._keyEvent === "keyboard"),
});
}
};
onBlur = () => {
this._keyEvent = "keyboard";
if (this.props.onBlur) this.props.onBlur();
this.setState({
isEditing: false,
showMessage: false,
});
}
componentWillUnMount () {
this._doc!.off('change', this.onChange);
this._doc!.off('focus', this.onFocus);
this._doc!.off('blur', this.onBlur);
}
};
componentDidUpdate(prevProps: InputJsonProps) {
if (!this.state.isEditing && prevProps.layer !== this.props.layer) {
if (!this.state.isEditing && prevProps.value !== this.props.value) {
this._cancelNextChange = true;
this._doc!.setValue(
this.props.getValue!(this.props.layer),
)
const transactionSpec: TransactionSpec = {
changes: {
from: 0,
to: this._view!.state.doc.length,
insert: this.getPrettyJson(this.props.value)
}
};
if (this.props.withScroll) {
transactionSpec.selection = this._view!.state.selection;
transactionSpec.scrollIntoView = true;
}
this._view!.dispatch(transactionSpec);
}
}
@@ -128,11 +100,11 @@ class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJso
if (this._cancelNextChange) {
this._cancelNextChange = false;
this.setState({
prevValue: this._doc!.getValue(),
})
prevValue: this._view!.state.doc.toString(),
});
return;
}
const newCode = this._doc!.getValue();
const newCode = this._view!.state.doc.toString();
if (this.state.prevValue !== newCode) {
let parsedLayer, err;
@@ -140,43 +112,26 @@ class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJso
parsedLayer = JSON.parse(newCode);
} catch(_err) {
err = _err;
console.warn(_err)
console.warn(_err);
}
if (err && this.props.onJSONInvalid) {
this.props.onJSONInvalid();
}
else {
if (this.props.onChange) this.props.onChange(parsedLayer)
if (this.props.onJSONValid) this.props.onJSONValid();
if (!err) {
if (this.props.onChange) this.props.onChange(parsedLayer);
}
}
this.setState({
prevValue: newCode,
});
}
};
render() {
const t = this.props.t;
const {showMessage} = this.state;
const style = {} as {maxHeight?: number};
if (this.props.maxHeight) {
style.maxHeight = this.props.maxHeight;
}
return <div className="JSONEditor" onPointerDown={this.onPointerDown} aria-hidden="true">
<div className={classnames("JSONEditor__message", {"JSONEditor__message--on": showMessage})}>
<Trans t={t}>
Press <kbd>ESC</kbd> to lose focus
</Trans>
</div>
return <div className="json-editor" data-wd-key="json-editor" aria-hidden="true" style={{cursor: "text"}}>
<div
className={classnames("codemirror-container", this.props.className)}
ref={(el) => this._el = el}
style={style}
ref={(el) => {this._el = el;}}
/>
</div>
</div>;
}
}

View File

@@ -1,22 +1,22 @@
import React from 'react'
import classnames from 'classnames'
import React from "react";
import classnames from "classnames";
export type InputMultiInputProps = {
name?: string
value: string
options: any[]
onChange(...args: unknown[]): unknown
'aria-label'?: string
"aria-label"?: string
};
export default class InputMultiInput extends React.Component<InputMultiInputProps> {
render() {
let options = this.props.options
let options = this.props.options;
if(options.length > 0 && !Array.isArray(options[0])) {
options = options.map(v => [v, v])
options = options.map(v => [v, v]);
}
const selectedValue = this.props.value || options[0][0]
const selectedValue = this.props.value || options[0][0];
const radios = options.map(([val, label])=> {
return <label
key={val}
@@ -29,11 +29,11 @@ export default class InputMultiInput extends React.Component<InputMultiInputProp
checked={val === selectedValue}
/>
{label}
</label>
})
</label>;
});
return <fieldset className="maputnik-multibutton" aria-label={this.props['aria-label']}>
return <fieldset className="maputnik-multibutton" aria-label={this.props["aria-label"]}>
{radios}
</fieldset>
</fieldset>;
}
}

View File

@@ -1,5 +1,5 @@
import React, { BaseSyntheticEvent } from 'react'
import generateUniqueId from '../libs/document-uid';
import React, { type BaseSyntheticEvent } from "react";
import generateUniqueId from "../libs/document-uid";
export type InputNumberProps = {
value?: number
@@ -23,22 +23,22 @@ type InputNumberState = {
* This is the value that is currently being edited. It can be an invalid value.
*/
dirtyValue?: number | string | undefined
}
};
export default class InputNumber extends React.Component<InputNumberProps, InputNumberState> {
static defaultProps = {
rangeStep: 1
}
};
_keyboardEvent: boolean = false;
constructor(props: InputNumberProps) {
super(props)
super(props);
this.state = {
uuid: +generateUniqueId(),
editing: false,
value: props.value,
dirtyValue: props.value,
}
};
}
static getDerivedStateFromProps(props: Readonly<InputNumberProps>, state: InputNumberState) {
@@ -57,7 +57,7 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
const hasChanged = this.props.value !== value;
if(this.isValid(value) && hasChanged) {
if (this.props.onChange) this.props.onChange(value)
if (this.props.onChange) this.props.onChange(value);
this.setState({
value: value,
});
@@ -70,7 +70,7 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
this.setState({
dirtyValue: newValue === "" ? undefined : newValue,
})
});
}
isValid(v: number | string | undefined) {
@@ -80,18 +80,18 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
const value = +v;
if(isNaN(value)) {
return false
return false;
}
if(!isNaN(this.props.min!) && value < this.props.min!) {
return false
return false;
}
if(!isNaN(this.props.max!) && value > this.props.max!) {
return false
return false;
}
return true
return true;
}
resetValue = () => {
@@ -104,14 +104,14 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
// If set value is invalid fall back to the last valid value from props or at last resort the default value
if (!this.isValid(this.state.value)) {
if(this.isValid(this.props.value)) {
this.changeValue(this.props.value)
this.changeValue(this.props.value);
this.setState({dirtyValue: this.props.value});
} else {
this.changeValue(undefined);
this.setState({dirtyValue: undefined});
}
}
}
};
onChangeRange = (e: BaseSyntheticEvent<Event, HTMLInputElement, HTMLInputElement>) => {
let value = parseFloat(e.target.value);
@@ -132,7 +132,7 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
value = this.state.value! - step;
}
else {
value = this.state.value! + step
value = this.state.value! + step;
}
dirtyValue = value;
}
@@ -153,7 +153,7 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
this.setState({value, dirtyValue});
if (this.props.onChange) this.props.onChange(value);
}
};
render() {
if(
@@ -217,18 +217,18 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
}}
onBlur={_e => {
this.setState({editing: false});
this.resetValue()
this.resetValue();
}}
data-wd-key={this.props["data-wd-key"] + "-text"}
/>
</div>
</div>;
}
else {
const value = this.state.editing ? this.state.dirtyValue : this.state.value;
return <input
aria-label={this.props['aria-label']}
aria-label={this.props["aria-label"]}
spellCheck="false"
className="maputnik-number"
placeholder={this.props.default?.toString()}
@@ -240,7 +240,7 @@ export default class InputNumber extends React.Component<InputNumberProps, Input
onBlur={this.resetValue}
required={this.props.required}
data-wd-key={this.props["data-wd-key"]}
/>
/>;
}
}
}

View File

@@ -1,4 +1,4 @@
import React from 'react'
import React from "react";
export type InputSelectProps = {
value: string
@@ -7,7 +7,7 @@ export type InputSelectProps = {
style?: object
onChange(value: string | [string, any]): unknown
title?: string
'aria-label'?: string
"aria-label"?: string
};
export default class InputSelect extends React.Component<InputSelectProps> {
@@ -24,9 +24,9 @@ export default class InputSelect extends React.Component<InputSelectProps> {
title={this.props.title}
value={this.props.value}
onChange={e => this.props.onChange(e.target.value)}
aria-label={this.props['aria-label']}
aria-label={this.props["aria-label"]}
>
{ options.map(([val, label]) => <option key={val} value={val}>{label}</option>) }
</select>
</select>;
}
}

View File

@@ -1,24 +1,26 @@
import React, { ReactElement } from 'react'
import React, { type ReactElement } from "react";
import InputColor, { InputColorProps } from './InputColor'
import InputNumber, { InputNumberProps } from './InputNumber'
import InputCheckbox, { InputCheckboxProps } from './InputCheckbox'
import InputString, { InputStringProps } from './InputString'
import InputArray, { FieldArrayProps } from './InputArray'
import InputDynamicArray, { FieldDynamicArrayProps } from './InputDynamicArray'
import InputFont, { FieldFontProps } from './InputFont'
import InputAutocomplete, { InputAutocompleteProps } from './InputAutocomplete'
import InputEnum, { InputEnumProps } from './InputEnum'
import capitalize from 'lodash.capitalize'
import InputColor, { type InputColorProps } from "./InputColor";
import InputNumber, { type InputNumberProps } from "./InputNumber";
import InputCheckbox, { type InputCheckboxProps } from "./InputCheckbox";
import InputString, { type InputStringProps } from "./InputString";
import InputArray, { type InputArrayProps } from "./InputArray";
import InputDynamicArray, { type InputDynamicArrayProps } from "./InputDynamicArray";
import InputFont, { type InputFontProps } from "./InputFont";
import InputAutocomplete, { type InputAutocompleteProps } from "./InputAutocomplete";
import InputEnum, { type InputEnumProps } from "./InputEnum";
import capitalize from "lodash.capitalize";
const iconProperties = ['background-pattern', 'fill-pattern', 'line-pattern', 'fill-extrusion-pattern', 'icon-image']
const iconProperties = ["background-pattern", "fill-pattern", "line-pattern", "fill-extrusion-pattern", "icon-image"];
export type SpecFieldProps = {
export type FieldSpecType = "number" | "enum" | "resolvedImage" | "formatted" | "string" | "color" | "boolean" | "array" | "numberArray" | "padding" | "colorArray" | "variableAnchorOffsetCollection";
export type InputSpecProps = {
onChange?(fieldName: string | undefined, value: number | undefined | (string | number | undefined)[]): unknown
fieldName?: string
fieldSpec?: {
default?: unknown
type?: 'number' | 'enum' | 'resolvedImage' | 'formatted' | 'string' | 'color' | 'boolean' | 'array'
type?: FieldSpecType
minimum?: number
maximum?: number
values?: unknown[]
@@ -28,8 +30,7 @@ export type SpecFieldProps = {
value?: string | number | unknown[] | boolean
/** Override the style of the field */
style?: object
'aria-label'?: string
error?: unknown[]
"aria-label"?: string
label?: string
action?: ReactElement
};
@@ -37,11 +38,10 @@ export type SpecFieldProps = {
/** Display any field from the Maplibre GL style spec and
* choose the correct field component based on the @{fieldSpec}
* to display @{value}. */
export default class SpecField extends React.Component<SpecFieldProps> {
export default class InputSpec extends React.Component<InputSpecProps> {
childNodes() {
const commonProps = {
error: this.props.error,
fieldSpec: this.props.fieldSpec,
label: this.props.label,
action: this.props.action,
@@ -51,70 +51,96 @@ export default class SpecField extends React.Component<SpecFieldProps> {
name: this.props.fieldName,
"data-wd-key": "spec-field-input:" + this.props.fieldName,
onChange: (newValue: number | undefined | (string | number | undefined)[]) => this.props.onChange!(this.props.fieldName, newValue),
'aria-label': this.props['aria-label'],
}
"aria-label": this.props["aria-label"],
};
switch(this.props.fieldSpec?.type) {
case 'number': return (
<InputNumber
{...commonProps as InputNumberProps}
min={this.props.fieldSpec.minimum}
max={this.props.fieldSpec.maximum}
/>
)
case 'enum': {
const options = Object.keys(this.props.fieldSpec.values || []).map(v => [v, capitalize(v)])
case "number": return (
<InputNumber
{...commonProps as InputNumberProps}
min={this.props.fieldSpec.minimum}
max={this.props.fieldSpec.maximum}
/>
);
case "enum": {
const options = Object.keys(this.props.fieldSpec.values || []).map(v => [v, capitalize(v)]);
return <InputEnum
{...commonProps as Omit<InputEnumProps, "options">}
options={options}
/>
}
case 'resolvedImage':
case 'formatted':
case 'string':
if (iconProperties.indexOf(this.props.fieldName!) >= 0) {
const options = this.props.fieldSpec.values || [];
return <InputAutocomplete
{...commonProps as Omit<InputAutocompleteProps, "options">}
options={options.map(f => [f, f])}
/>
} else {
return <InputString
{...commonProps as InputStringProps}
/>
return <InputEnum
{...commonProps as Omit<InputEnumProps, "options">}
options={options}
/>;
}
case 'color': return (
<InputColor
{...commonProps as InputColorProps}
/>
)
case 'boolean': return (
<InputCheckbox
{...commonProps as InputCheckboxProps}
/>
)
case 'array':
if(this.props.fieldName === 'text-font') {
return <InputFont
{...commonProps as FieldFontProps}
fonts={this.props.fieldSpec.values}
/>
} else {
if (this.props.fieldSpec.length) {
return <InputArray
{...commonProps as FieldArrayProps}
type={this.props.fieldSpec.value}
length={this.props.fieldSpec.length}
/>
case "resolvedImage":
case "formatted":
case "string":
if (iconProperties.indexOf(this.props.fieldName!) >= 0) {
const options = this.props.fieldSpec.values || [];
return <InputAutocomplete
{...commonProps as Omit<InputAutocompleteProps, "options">}
options={options.map(f => [f, f])}
/>;
} else {
return <InputDynamicArray
{...commonProps as FieldDynamicArrayProps}
fieldSpec={this.props.fieldSpec}
type={this.props.fieldSpec.value as FieldDynamicArrayProps['type']}
/>
return <InputString
{...commonProps as InputStringProps}
/>;
}
}
default: return null
case "color": return (
<InputColor
{...commonProps as InputColorProps}
/>
);
case "boolean": return (
<InputCheckbox
{...commonProps as InputCheckboxProps}
/>
);
case "array":
if(this.props.fieldName === "text-font") {
return <InputFont
{...commonProps as InputFontProps}
fonts={this.props.fieldSpec.values}
/>;
} else {
if (this.props.fieldSpec.length) {
return <InputArray
{...commonProps as InputArrayProps}
type={this.props.fieldSpec.value}
length={this.props.fieldSpec.length}
/>;
} else {
return <InputDynamicArray
{...commonProps as InputDynamicArrayProps}
fieldSpec={this.props.fieldSpec}
type={this.props.fieldSpec.value as InputDynamicArrayProps["type"]}
/>;
}
}
case "numberArray": return (
<InputDynamicArray
{...commonProps as InputDynamicArrayProps}
fieldSpec={this.props.fieldSpec}
type="number"
value={(Array.isArray(this.props.value) ? this.props.value : [this.props.value]) as (string | number | undefined)[]}
/>
);
case "colorArray": return (
<InputDynamicArray
{...commonProps as InputDynamicArrayProps}
fieldSpec={this.props.fieldSpec}
type="color"
value={(Array.isArray(this.props.value) ? this.props.value : [this.props.value]) as (string | number | undefined)[]}
/>
);
case "padding": return (
<InputArray
{...commonProps as InputArrayProps}
type="number"
value={(Array.isArray(this.props.value) ? this.props.value : [this.props.value]) as (string | number | undefined)[]}
length={4}
/>
);
default:
console.warn(`No proper field input for ${this.props.fieldName} type: ${this.props.fieldSpec?.type}`);
return null;
}
}

View File

@@ -1,4 +1,4 @@
import React from 'react'
import React from "react";
export type InputStringProps = {
"data-wd-key"?: string
@@ -11,26 +11,26 @@ export type InputStringProps = {
required?: boolean
disabled?: boolean
spellCheck?: boolean
'aria-label'?: string
"aria-label"?: string
title?: string
};
type InputStringState = {
editing: boolean
value?: string
}
};
export default class InputString extends React.Component<InputStringProps, InputStringState> {
static defaultProps = {
onInput: () => {},
}
};
constructor(props: InputStringProps) {
super(props)
super(props);
this.state = {
editing: false,
value: props.value || ''
}
value: props.value || ""
};
}
static getDerivedStateFromProps(props: Readonly<InputStringProps>, state: InputStringState) {
@@ -47,17 +47,17 @@ export default class InputString extends React.Component<InputStringProps, Input
let classes;
if(this.props.multi) {
tag = "textarea"
tag = "textarea";
classes = [
"maputnik-string",
"maputnik-string--multi"
]
];
}
else {
tag = "input"
tag = "input";
classes = [
"maputnik-string"
]
];
}
if(this.props.disabled) {

View File

@@ -1,57 +1,33 @@
import React from 'react'
import InputString from './InputString'
import SmallError from './SmallError'
import { Trans, WithTranslation, withTranslation } from 'react-i18next';
import { TFunction } from 'i18next';
import React, { type JSX } from "react";
import InputString from "./InputString";
import SmallError from "./SmallError";
import { Trans, type WithTranslation, withTranslation } from "react-i18next";
import { type TFunction } from "i18next";
import { ErrorType, validate } from "../libs/urlopen";
function validate(url: string, t: TFunction): JSX.Element | undefined {
if (url === "") {
return;
}
let error;
const getProtocol = (url: string) => {
try {
const urlObj = new URL(url);
return urlObj.protocol;
}
catch (_err) {
return undefined;
}
};
const protocol = getProtocol(url);
const isSsl = window.location.protocol === "https:";
if (!protocol) {
if (isSsl) {
error = (
function errorTypeToJsx(errorType: ErrorType | undefined, t: TFunction): JSX.Element | undefined {
switch (errorType) {
case ErrorType.EmptyHttpsProtocol:
return (
<SmallError>
<Trans t={t}>Must provide protocol: <code>https://</code></Trans>
</SmallError>
);
} else {
error = (
case ErrorType.EmptyHttpOrHttpsProtocol:
return (
<SmallError>
<Trans t={t}>Must provide protocol: <code>http://</code> or <code>https://</code></Trans>
</SmallError>
);
}
case ErrorType.CorsError:
return (
<SmallError>
<Trans t={t}>CORS policy won&apos;t allow fetching resources served over http from https, use a <code>https://</code> domain</Trans>
</SmallError>
);
default:
return undefined;
}
else if (
protocol &&
protocol === "http:" &&
window.location.protocol === "https:"
) {
error = (
<SmallError>
<Trans t={t}>
CORS policy won&apos;t allow fetching resources served over http from https, use a <code>https://</code> domain
</Trans>
</SmallError>
);
}
return error;
}
export type FieldUrlProps = {
@@ -63,42 +39,42 @@ export type FieldUrlProps = {
onInput?(...args: unknown[]): unknown
multi?: boolean
required?: boolean
'aria-label'?: string
"aria-label"?: string
type?: string
className?: string
};
type FieldUrlInternalProps = FieldUrlProps & WithTranslation;
type InputUrlInternalProps = FieldUrlProps & WithTranslation;
type FieldUrlState = {
error?: React.ReactNode
}
type InputUrlState = {
error?: ErrorType
};
class FieldUrlInternal extends React.Component<FieldUrlInternalProps, FieldUrlState> {
class InputUrlInternal extends React.Component<InputUrlInternalProps, InputUrlState> {
static defaultProps = {
onInput: () => {},
}
};
constructor (props: FieldUrlInternalProps) {
constructor (props: InputUrlInternalProps) {
super(props);
this.state = {
error: validate(props.value, props.t),
error: validate(props.value),
};
}
onInput = (url: string) => {
this.setState({
error: validate(url, this.props.t),
error: validate(url),
});
if (this.props.onInput) this.props.onInput(url);
}
};
onChange = (url: string) => {
this.setState({
error: validate(url, this.props.t),
error: validate(url),
});
this.props.onChange(url);
}
};
render () {
return (
@@ -107,13 +83,13 @@ class FieldUrlInternal extends React.Component<FieldUrlInternalProps, FieldUrlSt
{...this.props}
onInput={this.onInput}
onChange={this.onChange}
aria-label={this.props['aria-label']}
aria-label={this.props["aria-label"]}
/>
{this.state.error}
{errorTypeToJsx(this.state.error, this.props.t)}
</div>
);
}
}
const FieldUrl = withTranslation()(FieldUrlInternal);
export default FieldUrl;
const InputUrl = withTranslation()(InputUrlInternal);
export default InputUrl;

View File

@@ -1,35 +1,35 @@
import React, {type JSX} from 'react'
import { Wrapper, Button, Menu, MenuItem } from 'react-aria-menubutton'
import {Accordion} from 'react-accessible-accordion';
import {MdMoreVert} from 'react-icons/md'
import { IconContext } from 'react-icons'
import {BackgroundLayerSpecification, LayerSpecification, SourceSpecification} from 'maplibre-gl';
import {v8} from '@maplibre/maplibre-gl-style-spec';
import React, {type JSX} from "react";
import { Wrapper, Button, Menu, MenuItem } from "react-aria-menubutton";
import {Accordion} from "react-accessible-accordion";
import {MdMoreVert} from "react-icons/md";
import { IconContext } from "react-icons";
import {type BackgroundLayerSpecification, type LayerSpecification, type SourceSpecification} from "maplibre-gl";
import {v8} from "@maplibre/maplibre-gl-style-spec";
import FieldJson from './FieldJson'
import FilterEditor from './FilterEditor'
import PropertyGroup from './PropertyGroup'
import LayerEditorGroup from './LayerEditorGroup'
import FieldType from './FieldType'
import FieldId from './FieldId'
import FieldMinZoom from './FieldMinZoom'
import FieldMaxZoom from './FieldMaxZoom'
import FieldComment from './FieldComment'
import FieldSource from './FieldSource'
import FieldSourceLayer from './FieldSourceLayer'
import { changeType, changeProperty } from '../libs/layer'
import {formatLayerId} from '../libs/format';
import { WithTranslation, withTranslation } from 'react-i18next';
import { TFunction } from 'i18next';
import { NON_SOURCE_LAYERS } from '../libs/non-source-layers';
import { OnMoveLayerCallback } from '../libs/definitions';
import FieldJson from "./FieldJson";
import FilterEditor from "./FilterEditor";
import PropertyGroup from "./PropertyGroup";
import LayerEditorGroup from "./LayerEditorGroup";
import FieldType from "./FieldType";
import FieldId from "./FieldId";
import FieldMinZoom from "./FieldMinZoom";
import FieldMaxZoom from "./FieldMaxZoom";
import FieldComment from "./FieldComment";
import FieldSource from "./FieldSource";
import FieldSourceLayer from "./FieldSourceLayer";
import { changeType, changeProperty } from "../libs/layer";
import {formatLayerId} from "../libs/format";
import { type WithTranslation, withTranslation } from "react-i18next";
import { type TFunction } from "i18next";
import { NON_SOURCE_LAYERS } from "../libs/non-source-layers";
import { type MappedError, type MappedLayerErrors, type OnMoveLayerCallback } from "../libs/definitions";
type MaputnikLayoutGroup = {
id: string;
title: string;
type: string;
fields: string[];
}
};
function getLayoutForSymbolType(t: TFunction): MaputnikLayoutGroup[] {
const groups: MaputnikLayoutGroup[] = [];
@@ -68,7 +68,7 @@ function getLayoutForSymbolType(t: TFunction): MaputnikLayoutGroup[] {
function getLayoutForType(type: LayerSpecification["type"], t: TFunction): MaputnikLayoutGroup[] {
if (Object.keys(v8.layer.type.values).indexOf(type) < 0) {
return []
return [];
}
if (type === "symbol") {
return getLayoutForSymbolType(t);
@@ -95,31 +95,31 @@ function getLayoutForType(type: LayerSpecification["type"], t: TFunction): Maput
function layoutGroups(layerType: LayerSpecification["type"], t: TFunction): {id: string, title: string, type: string, fields?: string[]}[] {
const layerGroup = {
id: 'layer',
title: t('Layer'),
type: 'layer'
}
id: "layer",
title: t("Layer"),
type: "layer"
};
const filterGroup = {
id: 'filter',
title: t('Filter'),
type: 'filter'
}
id: "filter",
title: t("Filter"),
type: "filter"
};
const editorGroup = {
id: 'jsoneditor',
title: t('JSON Editor'),
type: 'jsoneditor'
}
id: "jsoneditor",
title: t("JSON Editor"),
type: "jsoneditor"
};
return [layerGroup, filterGroup]
.concat(getLayoutForType(layerType, t))
.concat([editorGroup])
.concat([editorGroup]);
}
type LayerEditorInternalProps = {
layer: LayerSpecification
sources: {[key: string]: SourceSpecification & {layers: string[]}}
vectorLayers: {[key: string]: any}
spec: object
onLayerChanged(...args: unknown[]): unknown
spec: any
onLayerChanged(index: number, layer: LayerSpecification): void
onLayerIdChange(...args: unknown[]): unknown
onMoveLayer: OnMoveLayerCallback
onLayerDestroy(...args: unknown[]): unknown
@@ -128,7 +128,7 @@ type LayerEditorInternalProps = {
isFirstLayer?: boolean
isLastLayer?: boolean
layerIndex: number
errors?: any[]
errors?: MappedError[]
} & WithTranslation;
type LayerEditorState = {
@@ -141,25 +141,25 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
onLayerChanged: () => {},
onLayerIdChange: () => {},
onLayerDestroyed: () => {},
}
};
constructor(props: LayerEditorInternalProps) {
super(props)
super(props);
const editorGroups: {[keys:string]: boolean} = {}
const editorGroups: {[keys:string]: boolean} = {};
for (const group of layoutGroups(this.props.layer.type, props.t)) {
editorGroups[group.title] = true
editorGroups[group.title] = true;
}
this.state = { editorGroups }
this.state = { editorGroups };
}
static getDerivedStateFromProps(props: Readonly<LayerEditorInternalProps>, state: LayerEditorState) {
const additionalGroups = { ...state.editorGroups }
const additionalGroups = { ...state.editorGroups };
for (const group of getLayoutForType(props.layer.type, props.t)) {
if(!(group.title in additionalGroups)) {
additionalGroups[group.title] = true
additionalGroups[group.title] = true;
}
}
@@ -173,27 +173,27 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
this.props.onLayerChanged(
this.props.layerIndex,
changeProperty(this.props.layer, group, property, newValue)
)
);
}
onGroupToggle(groupTitle: string, active: boolean) {
const changedActiveGroups = {
...this.state.editorGroups,
[groupTitle]: active,
}
};
this.setState({
editorGroups: changedActiveGroups
})
});
}
renderGroupType(type: string, fields?: string[]): JSX.Element {
let comment = ""
let comment = "";
if(this.props.layer.metadata) {
comment = (this.props.layer.metadata as any)['maputnik:comment']
comment = (this.props.layer.metadata as any)["maputnik:comment"];
}
const {errors, layerIndex} = this.props;
const errorData: {[key in LayerSpecification as string]: {message: string}} = {};
const errorData: MappedLayerErrors = {};
errors!.forEach(error => {
if (
error.parsed &&
@@ -204,7 +204,7 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
message: error.parsed.data.message
};
}
})
});
let sourceLayerIds;
const layer = this.props.layer as Exclude<LayerSpecification, BackgroundLayerSpecification>;
@@ -213,82 +213,83 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
}
switch(type) {
case 'layer': return <div>
<FieldId
value={this.props.layer.id}
wdKey="layer-editor.layer-id"
error={errorData.id}
onChange={newId => this.props.onLayerIdChange(this.props.layerIndex, this.props.layer.id, newId)}
/>
<FieldType
disabled={true}
error={errorData.type}
value={this.props.layer.type}
onChange={newType => this.props.onLayerChanged(
this.props.layerIndex,
changeType(this.props.layer, newType)
)}
/>
{this.props.layer.type !== 'background' && <FieldSource
error={errorData.source}
sourceIds={Object.keys(this.props.sources!)}
value={this.props.layer.source}
onChange={v => this.changeProperty(null, 'source', v)}
/>
}
{!NON_SOURCE_LAYERS.includes(this.props.layer.type) &&
<FieldSourceLayer
error={errorData['source-layer']}
sourceLayerIds={sourceLayerIds}
value={(this.props.layer as any)['source-layer']}
onChange={v => this.changeProperty(null, 'source-layer', v)}
case "layer": return <div>
<FieldId
value={this.props.layer.id}
wdKey="layer-editor.layer-id"
error={errorData.id}
onChange={newId => this.props.onLayerIdChange(this.props.layerIndex, this.props.layer.id, newId)}
/>
}
<FieldMinZoom
error={errorData.minzoom}
value={this.props.layer.minzoom}
onChange={v => this.changeProperty(null, 'minzoom', v)}
/>
<FieldMaxZoom
error={errorData.maxzoom}
value={this.props.layer.maxzoom}
onChange={v => this.changeProperty(null, 'maxzoom', v)}
/>
<FieldComment
error={errorData.comment}
value={comment}
onChange={v => this.changeProperty('metadata', 'maputnik:comment', v == "" ? undefined : v)}
/>
</div>
case 'filter': return <div>
<div className="maputnik-filter-editor-wrapper">
<FilterEditor
errors={errorData}
filter={(this.props.layer as any).filter}
properties={this.props.vectorLayers[(this.props.layer as any)['source-layer']]}
onChange={f => this.changeProperty(null, 'filter', f)}
/>
</div>
</div>
case 'properties':
return <PropertyGroup
errors={errorData}
layer={this.props.layer}
groupFields={fields!}
spec={this.props.spec}
onChange={this.changeProperty.bind(this)}
/>
case 'jsoneditor':
return <FieldJson
layer={this.props.layer}
onChange={(layer) => {
this.props.onLayerChanged(
<FieldType
disabled={true}
error={errorData.type}
value={this.props.layer.type}
onChange={newType => this.props.onLayerChanged(
this.props.layerIndex,
layer
);
}}
/>
default: return <></>
changeType(this.props.layer, newType)
)}
/>
{this.props.layer.type !== "background" && <FieldSource
error={errorData.source}
sourceIds={Object.keys(this.props.sources!)}
value={this.props.layer.source}
onChange={v => this.changeProperty(null, "source", v)}
/>
}
{!NON_SOURCE_LAYERS.includes(this.props.layer.type) &&
<FieldSourceLayer
error={errorData["source-layer"]}
sourceLayerIds={sourceLayerIds}
value={(this.props.layer as any)["source-layer"]}
onChange={v => this.changeProperty(null, "source-layer", v)}
/>
}
<FieldMinZoom
error={errorData.minzoom}
value={this.props.layer.minzoom}
onChange={v => this.changeProperty(null, "minzoom", v)}
/>
<FieldMaxZoom
error={errorData.maxzoom}
value={this.props.layer.maxzoom}
onChange={v => this.changeProperty(null, "maxzoom", v)}
/>
<FieldComment
error={errorData.comment}
value={comment}
onChange={v => this.changeProperty("metadata", "maputnik:comment", v == "" ? undefined : v)}
/>
</div>;
case "filter": return <div>
<div className="maputnik-filter-editor-wrapper">
<FilterEditor
errors={errorData}
filter={(this.props.layer as any).filter}
properties={this.props.vectorLayers[(this.props.layer as any)["source-layer"]]}
onChange={f => this.changeProperty(null, "filter", f)}
/>
</div>
</div>;
case "properties":
return <PropertyGroup
errors={errorData}
layer={this.props.layer}
groupFields={fields!}
spec={this.props.spec}
onChange={this.changeProperty.bind(this)}
/>;
case "jsoneditor":
return <FieldJson
lintType="layer"
value={this.props.layer}
onChange={(layer: LayerSpecification) => {
this.props.onLayerChanged(
this.props.layerIndex,
layer
);
}}
/>;
default: return <></>;
}
}
@@ -296,16 +297,16 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
this.props.onMoveLayer({
oldIndex: this.props.layerIndex,
newIndex: this.props.layerIndex+offset
})
});
}
render() {
const t = this.props.t;
const groupIds: string[] = [];
const layerType = this.props.layer.type
const layerType = this.props.layer.type;
const groups = layoutGroups(layerType, t).filter(group => {
return !(layerType === 'background' && group.type === 'source')
return !(layerType === "background" && group.type === "source");
}).map(group => {
const groupId = group.id;
groupIds.push(groupId);
@@ -318,10 +319,10 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
onActiveToggle={this.onGroupToggle.bind(this, group.title)}
>
{this.renderGroupType(group.type, group.fields)}
</LayerEditorGroup>
})
</LayerEditorGroup>;
});
const layout = this.props.layer.layout || {}
const layout = this.props.layer.layout || {};
const items: {[key: string]: {
text: string,
@@ -356,19 +357,20 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
handler: () => this.moveLayer(+1),
wdKey: "menu-move-layer-down"
}
}
};
function handleSelection(id: string, event: React.SyntheticEvent) {
event.stopPropagation();
items[id].handler();
}
return <IconContext.Provider value={{size: '14px', color: '#8e8e8e'}}>
return <IconContext.Provider value={{size: "14px", color: "#8e8e8e"}}>
<section className="maputnik-layer-editor"
role="main"
aria-label={t("Layer editor")}
data-wd-key="layer-editor"
>
<header>
<header data-wd-key="layer-editor.header">
<div className="layer-header">
<h2 className="layer-header__title">
{t("Layer: {{layerId}}", { layerId: formatLayerId(this.props.layer.id) })}
@@ -394,7 +396,7 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
<MenuItem value={id} className='more-menu__menu__item' data-wd-key={item.wdKey}>
{item.text}
</MenuItem>
</li>
</li>;
})}
</ul>
</Menu>
@@ -411,7 +413,7 @@ class LayerEditorInternal extends React.Component<LayerEditorInternalProps, Laye
{groups}
</Accordion>
</section>
</IconContext.Provider>
</IconContext.Provider>;
}
}

View File

@@ -1,15 +1,11 @@
import React from 'react'
import Icon from '@mdi/react'
import {
mdiMenuDown,
mdiMenuUp
} from '@mdi/js';
import React from "react";
import {MdArrowDropDown, MdArrowDropUp} from "react-icons/md";
import {
AccordionItem,
AccordionItemHeading,
AccordionItemButton,
AccordionItemPanel,
} from 'react-accessible-accordion';
} from "react-accessible-accordion";
type LayerEditorGroupProps = {
@@ -30,22 +26,14 @@ export default class LayerEditorGroup extends React.Component<LayerEditorGroupPr
onClick={_e => this.props.onActiveToggle(!this.props.isActive)}
>
<AccordionItemButton className="maputnik-layer-editor-group__button">
<span style={{flexGrow: 1}}>{this.props.title}</span>
<Icon
path={mdiMenuUp}
size={1}
className="maputnik-layer-editor-group__button__icon maputnik-layer-editor-group__button__icon--up"
/>
<Icon
path={mdiMenuDown}
size={1}
className="maputnik-layer-editor-group__button__icon maputnik-layer-editor-group__button__icon--down"
/>
<span style={{flexGrow: 1, alignContent: "center"}}>{this.props.title}</span>
<MdArrowDropUp size={"2em"} className="maputnik-layer-editor-group__button__icon maputnik-layer-editor-group__button__icon--up"></MdArrowDropUp>
<MdArrowDropDown size={"2em"} className="maputnik-layer-editor-group__button__icon maputnik-layer-editor-group__button__icon--down"></MdArrowDropDown>
</AccordionItemButton>
</AccordionItemHeading>
<AccordionItemPanel>
{this.props.children}
</AccordionItemPanel>
</AccordionItem>
</AccordionItem>;
}
}

View File

@@ -1,39 +1,39 @@
import React, {type JSX} from 'react'
import classnames from 'classnames'
import lodash from 'lodash';
import React, {type JSX} from "react";
import classnames from "classnames";
import lodash from "lodash";
import {
DndContext,
PointerSensor,
useSensor,
useSensors,
closestCenter,
DragEndEvent,
} from '@dnd-kit/core';
type DragEndEvent,
} from "@dnd-kit/core";
import {
SortableContext,
verticalListSortingStrategy,
} from '@dnd-kit/sortable';
} from "@dnd-kit/sortable";
import LayerListGroup from './LayerListGroup'
import LayerListItem from './LayerListItem'
import ModalAdd from './ModalAdd'
import LayerListGroup from "./LayerListGroup";
import LayerListItem from "./LayerListItem";
import ModalAdd from "./modals/ModalAdd";
import type {LayerSpecification, SourceSpecification} from 'maplibre-gl';
import generateUniqueId from '../libs/document-uid';
import { findClosestCommonPrefix, layerPrefix } from '../libs/layer';
import { WithTranslation, withTranslation } from 'react-i18next';
import { OnMoveLayerCallback } from '../libs/definitions';
import type {LayerSpecification, SourceSpecification} from "maplibre-gl";
import generateUniqueId from "../libs/document-uid";
import { findClosestCommonPrefix, layerPrefix } from "../libs/layer";
import { type WithTranslation, withTranslation } from "react-i18next";
import { type MappedError, type OnMoveLayerCallback } from "../libs/definitions";
type LayerListContainerProps = {
layers: LayerSpecification[]
selectedLayerIndex: number
onLayersChange(layers: LayerSpecification[]): unknown
onLayerSelect(...args: unknown[]): unknown
onLayerSelect(index: number): void;
onLayerDestroy?(...args: unknown[]): unknown
onLayerCopy(...args: unknown[]): unknown
onLayerVisibilityToggle(...args: unknown[]): unknown
sources: Record<string, SourceSpecification & {layers: string[]}>;
errors: any[]
errors: MappedError[]
};
type LayerListContainerInternalProps = LayerListContainerProps & WithTranslation;
@@ -48,9 +48,9 @@ type LayerListContainerState = {
class LayerListContainerInternal extends React.Component<LayerListContainerInternalProps, LayerListContainerState> {
static defaultProps = {
onLayerSelect: () => {},
}
};
selectedItemRef: React.RefObject<any>;
scrollContainerRef: React.RefObject<HTMLElement>;
scrollContainerRef: React.RefObject<HTMLElement | null>;
constructor(props: LayerListContainerInternalProps) {
super(props);
@@ -65,7 +65,7 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
isOpen: {
add: false,
}
}
};
}
toggleModal(modalName: string) {
@@ -78,74 +78,74 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
...this.state.isOpen,
[modalName]: !this.state.isOpen[modalName]
}
})
});
}
toggleLayers = () => {
let idx = 0
let idx = 0;
const newGroups: {[key:string]: boolean} = {}
const newGroups: {[key:string]: boolean} = {};
this.groupedLayers().forEach(layers => {
const groupPrefix = layerPrefix(layers[0].id)
const lookupKey = [groupPrefix, idx].join('-')
const groupPrefix = layerPrefix(layers[0].id);
const lookupKey = [groupPrefix, idx].join("-");
if (layers.length > 1) {
newGroups[lookupKey] = this.state.areAllGroupsExpanded
newGroups[lookupKey] = this.state.areAllGroupsExpanded;
}
layers.forEach((_layer) => {
idx += 1
})
idx += 1;
});
});
this.setState({
collapsedGroups: newGroups,
areAllGroupsExpanded: !this.state.areAllGroupsExpanded
})
}
});
};
groupedLayers(): (LayerSpecification & {key: string})[][] {
const groups = []
const groups = [];
const layerIdCount = new Map();
for (let i = 0; i < this.props.layers.length; i++) {
const origLayer = this.props.layers[i];
const previousLayer = this.props.layers[i-1]
const previousLayer = this.props.layers[i-1];
layerIdCount.set(origLayer.id,
layerIdCount.has(origLayer.id) ? layerIdCount.get(origLayer.id) + 1 : 0
);
const layer = {
...origLayer,
key: `layers-list-${origLayer.id}-${layerIdCount.get(origLayer.id)}`,
}
};
if(previousLayer && layerPrefix(previousLayer.id) == layerPrefix(layer.id)) {
const lastGroup = groups[groups.length - 1]
lastGroup.push(layer)
const lastGroup = groups[groups.length - 1];
lastGroup.push(layer);
} else {
groups.push([layer])
groups.push([layer]);
}
}
return groups
return groups;
}
toggleLayerGroup(groupPrefix: string, idx: number) {
const lookupKey = [groupPrefix, idx].join('-')
const newGroups = { ...this.state.collapsedGroups }
const lookupKey = [groupPrefix, idx].join("-");
const newGroups = { ...this.state.collapsedGroups };
if(lookupKey in this.state.collapsedGroups) {
newGroups[lookupKey] = !this.state.collapsedGroups[lookupKey]
newGroups[lookupKey] = !this.state.collapsedGroups[lookupKey];
} else {
newGroups[lookupKey] = false
newGroups[lookupKey] = false;
}
this.setState({
collapsedGroups: newGroups
})
});
}
isCollapsed(groupPrefix: string, idx: number) {
const collapsed = this.state.collapsedGroups[[groupPrefix, idx].join('-')]
return collapsed === undefined ? true : collapsed
const collapsed = this.state.collapsedGroups[[groupPrefix, idx].join("-")];
return collapsed === undefined ? true : collapsed;
}
shouldComponentUpdate (nextProps: LayerListContainerProps, nextState: LayerListContainerState) {
@@ -177,7 +177,7 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
const out = {
...props
} as LayerListContainerProps & { layers?: any };
delete out['layers'];
delete out["layers"];
return out;
}
@@ -200,7 +200,7 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
const options = {
root: this.scrollContainerRef.current,
threshold: 1.0
}
};
const observer = new IntersectionObserver(entries => {
observer.unobserve(target);
if (entries.length > 0 && entries[0].intersectionRatio < 1) {
@@ -215,25 +215,25 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
render() {
const listItems: JSX.Element[] = []
let idx = 0
const listItems: JSX.Element[] = [];
let idx = 0;
const layersByGroup = this.groupedLayers();
layersByGroup.forEach(layers => {
const groupPrefix = layerPrefix(layers[0].id)
const groupPrefix = layerPrefix(layers[0].id);
if(layers.length > 1) {
const grp = <LayerListGroup
data-wd-key={[groupPrefix, idx].join('-')}
data-wd-key={[groupPrefix, idx].join("-")}
aria-controls={layers.map(l => l.key).join(" ")}
key={`group-${groupPrefix}-${idx}`}
title={groupPrefix}
isActive={!this.isCollapsed(groupPrefix, idx) || idx === this.props.selectedLayerIndex}
onActiveToggle={this.toggleLayerGroup.bind(this, groupPrefix, idx)}
/>
listItems.push(grp)
/>;
listItems.push(grp);
}
layers.forEach((layer, idxInGroup) => {
const groupIdx = findClosestCommonPrefix(this.props.layers, idx)
const groupIdx = findClosestCommonPrefix(this.props.layers, idx);
const layerError = this.props.errors.find(error => {
return (
@@ -250,9 +250,9 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
const listItem = <LayerListItem
className={classnames({
'maputnik-layer-list-item-collapsed': layers.length > 1 && this.isCollapsed(groupPrefix, groupIdx) && idx !== this.props.selectedLayerIndex,
'maputnik-layer-list-item-group-last': idxInGroup == layers.length - 1 && layers.length > 1,
'maputnik-layer-list-item--error': !!layerError
"maputnik-layer-list-item-collapsed": layers.length > 1 && this.isCollapsed(groupPrefix, groupIdx) && idx !== this.props.selectedLayerIndex,
"maputnik-layer-list-item-group-last": idxInGroup == layers.length - 1 && layers.length > 1,
"maputnik-layer-list-item--error": !!layerError
})}
key={layer.key}
id={layer.key}
@@ -266,16 +266,17 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
onLayerCopy={this.props.onLayerCopy.bind(this)}
onLayerVisibilityToggle={this.props.onLayerVisibilityToggle.bind(this)}
{...additionalProps}
/>
listItems.push(listItem)
idx += 1
})
})
/>;
listItems.push(listItem);
idx += 1;
});
});
const t = this.props.t;
return <section
className="maputnik-layer-list"
data-wd-key="layer-list"
role="complementary"
aria-label={t("Layers list")}
ref={this.scrollContainerRef}
@@ -285,10 +286,10 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
layers={this.props.layers}
sources={this.props.sources}
isOpen={this.state.isOpen.add}
onOpenToggle={this.toggleModal.bind(this, 'add')}
onOpenToggle={this.toggleModal.bind(this, "add")}
onLayersChange={this.props.onLayersChange}
/>
<header className="maputnik-layer-list-header">
<header className="maputnik-layer-list-header" data-wd-key="layer-list.header">
<span className="maputnik-layer-list-header-title">{t("Layers")}</span>
<span className="maputnik-space" />
<div className="maputnik-default-property">
@@ -309,7 +310,7 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
<div className="maputnik-default-property">
<div className="maputnik-multibutton">
<button
onClick={this.toggleModal.bind(this, 'add')}
onClick={this.toggleModal.bind(this, "add")}
data-wd-key="layer-list:add-layer"
className="maputnik-button maputnik-button-selected">
{t("Add Layer")}
@@ -325,7 +326,7 @@ class LayerListContainerInternal extends React.Component<LayerListContainerInter
{listItems}
</ul>
</div>
</section>
</section>;
}
}
@@ -336,7 +337,7 @@ type LayerListProps = LayerListContainerProps & {
};
const LayerList: React.FC<LayerListProps> = (props) => {
const sensors = useSensors(useSensor(PointerSensor));
const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 5 } }));
const handleDragEnd = (event: DragEndEvent) => {
const {active, over} = event;
@@ -359,6 +360,6 @@ const LayerList: React.FC<LayerListProps> = (props) => {
</SortableContext>
</DndContext>
);
}
};
export default LayerList;

View File

@@ -1,12 +1,12 @@
import React from 'react'
import Collapser from './Collapser'
import React from "react";
import Collapser from "./Collapser";
type LayerListGroupProps = {
title: string
"data-wd-key"?: string
isActive: boolean
onActiveToggle(...args: unknown[]): unknown
'aria-controls'?: string
"aria-controls"?: string
};
export default class LayerListGroup extends React.Component<LayerListGroupProps> {
@@ -18,7 +18,7 @@ export default class LayerListGroup extends React.Component<LayerListGroupProps>
>
<button
className="maputnik-layer-list-group-title"
aria-controls={this.props['aria-controls']}
aria-controls={this.props["aria-controls"]}
aria-expanded={this.props.isActive}
>
{this.props.title}
@@ -29,6 +29,6 @@ export default class LayerListGroup extends React.Component<LayerListGroupProps>
isCollapsed={this.props.isActive}
/>
</div>
</li>
</li>;
}
}

View File

@@ -1,11 +1,11 @@
import React from 'react'
import classnames from 'classnames'
import {MdContentCopy, MdVisibility, MdVisibilityOff, MdDelete} from 'react-icons/md'
import { IconContext } from 'react-icons'
import {useSortable} from '@dnd-kit/sortable'
import {CSS} from '@dnd-kit/utilities'
import React from "react";
import classnames from "classnames";
import {MdContentCopy, MdVisibility, MdVisibilityOff, MdDelete} from "react-icons/md";
import { IconContext } from "react-icons";
import {useSortable} from "@dnd-kit/sortable";
import {CSS} from "@dnd-kit/utilities";
import IconLayer from './IconLayer'
import IconLayer from "./IconLayer";
type DraggableLabelProps = {
@@ -21,11 +21,12 @@ const DraggableLabel: React.FC<DraggableLabelProps> = (props) => {
<IconLayer
className="layer-handle__icon"
type={props.layerType}
style={{ width: "1em", height: "1em", verticalAlign: "middle" }}
/>
<button className="maputnik-layer-list-item-id">
{props.layerId}
</button>
</div>
</div>;
};
type IconActionProps = {
@@ -39,17 +40,17 @@ type IconActionProps = {
class IconAction extends React.Component<IconActionProps> {
renderIcon() {
switch(this.props.action) {
case 'duplicate': return <MdContentCopy />
case 'show': return <MdVisibility />
case 'hide': return <MdVisibilityOff />
case 'delete': return <MdDelete />
case "duplicate": return <MdContentCopy />;
case "show": return <MdVisibility />;
case "hide": return <MdVisibilityOff />;
case "delete": return <MdDelete />;
}
}
render() {
const {classBlockName, classBlockModifier} = this.props;
let classAdditions = '';
let classAdditions = "";
if (classBlockName) {
classAdditions = `maputnik-layer-list-icon-action__${classBlockName}`;
@@ -67,7 +68,7 @@ class IconAction extends React.Component<IconActionProps> {
aria-hidden="true"
>
{this.renderIcon()}
</button>
</button>;
}
}
@@ -79,7 +80,7 @@ type LayerListItemProps = {
isSelected?: boolean
visibility?: string
className?: string
onLayerSelect(...args: unknown[]): unknown
onLayerSelect(index: number): void;
onLayerCopy?(...args: unknown[]): unknown
onLayerDestroy?(...args: unknown[]): unknown
onLayerVisibilityToggle?(...args: unknown[]): unknown
@@ -88,7 +89,7 @@ type LayerListItemProps = {
const LayerListItem = React.forwardRef<HTMLLIElement, LayerListItemProps>((props, ref) => {
const {
isSelected = false,
visibility = 'visible',
visibility = "visible",
onLayerCopy = () => {},
onLayerDestroy = () => {},
onLayerVisibilityToggle = () => {},
@@ -109,12 +110,12 @@ const LayerListItem = React.forwardRef<HTMLLIElement, LayerListItemProps>((props
opacity: isDragging ? 0.5 : 1,
};
const visibilityAction = visibility === 'visible' ? 'show' : 'hide';
const visibilityAction = visibility === "visible" ? "show" : "hide";
// Cast ref to MutableRefObject since we know from the codebase that's what's always passed
const refObject = ref as React.MutableRefObject<HTMLLIElement | null> | null;
return <IconContext.Provider value={{size: '14px'}}>
return <IconContext.Provider value={{size: "14px"}}>
<li
ref={(node) => {
setNodeRef(node);
@@ -140,13 +141,13 @@ const LayerListItem = React.forwardRef<HTMLLIElement, LayerListItemProps>((props
<span style={{flexGrow: 1}} />
<IconAction
wdKey={"layer-list-item:" + props.layerId+":delete"}
action={'delete'}
action={"delete"}
classBlockName="delete"
onClick={_e => onLayerDestroy!(props.layerIndex)}
/>
<IconAction
wdKey={"layer-list-item:" + props.layerId+":copy"}
action={'duplicate'}
action={"duplicate"}
classBlockName="duplicate"
onClick={_e => onLayerCopy!(props.layerIndex)}
/>
@@ -158,7 +159,7 @@ const LayerListItem = React.forwardRef<HTMLLIElement, LayerListItemProps>((props
onClick={_e => onLayerVisibilityToggle!(props.layerIndex)}
/>
</li>
</IconContext.Provider>
</IconContext.Provider>;
});
export default LayerListItem;

View File

@@ -1,67 +1,56 @@
import React, {type JSX} from 'react'
import {createRoot} from 'react-dom/client'
import MapLibreGl, {LayerSpecification, LngLat, Map, MapOptions, SourceSpecification, StyleSpecification} from 'maplibre-gl'
import MaplibreInspect from '@maplibre/maplibre-gl-inspect'
import colors from '@maplibre/maplibre-gl-inspect/lib/colors'
import MapMaplibreGlLayerPopup from './MapMaplibreGlLayerPopup'
import MapMaplibreGlFeaturePropertyPopup, { InspectFeature } from './MapMaplibreGlFeaturePropertyPopup'
import Color from 'color'
import ZoomControl from '../libs/zoomcontrol'
import { HighlightedLayer, colorHighlightedLayer } from '../libs/highlight'
import 'maplibre-gl/dist/maplibre-gl.css'
import '../maplibregl.css'
import '../libs/maplibre-rtl'
import MaplibreGeocoder, { MaplibreGeocoderApi, MaplibreGeocoderApiConfig } from '@maplibre/maplibre-gl-geocoder';
import '@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css';
import { withTranslation, WithTranslation } from 'react-i18next'
import i18next from 'i18next'
import React from "react";
import {createRoot} from "react-dom/client";
import MapLibreGl, {type LayerSpecification, type LngLat, type Map, type MapOptions, type SourceSpecification, type StyleSpecification} from "maplibre-gl";
import MaplibreInspect from "@maplibre/maplibre-gl-inspect";
import colors from "@maplibre/maplibre-gl-inspect/lib/colors";
import MapMaplibreGlLayerPopup from "./MapMaplibreGlLayerPopup";
import MapMaplibreGlFeaturePropertyPopup, { type InspectFeature } from "./MapMaplibreGlFeaturePropertyPopup";
import Color from "color";
import ZoomControl from "../libs/zoomcontrol";
import { type HighlightedLayer, colorHighlightedLayer } from "../libs/highlight";
import "maplibre-gl/dist/maplibre-gl.css";
import "../maplibregl.css";
import "../libs/maplibre-rtl";
import MaplibreGeocoder, { type MaplibreGeocoderApi, type MaplibreGeocoderApiConfig } from "@maplibre/maplibre-gl-geocoder";
import "@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css";
import { withTranslation, type WithTranslation } from "react-i18next";
import i18next from "i18next";
import { Protocol } from "pmtiles";
function renderPopup(
popupElement: JSX.Element,
mountNode: HTMLElement,
popup: MapLibreGl.Popup
): HTMLElement {
const root = createRoot(mountNode);
popup.once('close', () => root.unmount());
root.render(popupElement);
return mountNode as HTMLElement;
}
function buildInspectStyle(originalMapStyle: StyleSpecification, coloredLayers: HighlightedLayer[], highlightedLayer?: HighlightedLayer) {
const backgroundLayer = {
"id": "background",
"type": "background",
"paint": {
"background-color": '#1c1f24',
"background-color": "#1c1f24",
}
} as LayerSpecification
} as LayerSpecification;
const layer = colorHighlightedLayer(highlightedLayer)
const layer = colorHighlightedLayer(highlightedLayer);
if(layer) {
coloredLayers.push(layer)
coloredLayers.push(layer);
}
const sources: {[key:string]: SourceSpecification} = {}
const sources: {[key:string]: SourceSpecification} = {};
Object.keys(originalMapStyle.sources).forEach(sourceId => {
const source = originalMapStyle.sources[sourceId]
if(source.type !== 'raster' && source.type !== 'raster-dem') {
sources[sourceId] = source
const source = originalMapStyle.sources[sourceId];
if(source.type !== "raster" && source.type !== "raster-dem") {
sources[sourceId] = source;
}
})
});
const inspectStyle = {
...originalMapStyle,
sources: sources,
layers: [backgroundLayer].concat(coloredLayers as LayerSpecification[])
}
return inspectStyle
};
return inspectStyle;
}
type MapMaplibreGlInternalProps = {
onDataChange?(event: {map: Map | null}): unknown
onLayerSelect(...args: unknown[]): unknown
onLayerSelect(index: number): void
mapStyle: StyleSpecification
inspectModeEnabled: boolean
highlightedLayer?: HighlightedLayer
@@ -89,20 +78,20 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
onLayerSelect: () => {},
onChange: () => {},
options: {} as MapOptions,
}
container: HTMLDivElement | null = null
};
container: HTMLDivElement | null = null;
constructor(props: MapMaplibreGlInternalProps) {
super(props)
super(props);
this.state = {
map: null,
inspect: null,
geocoder: null,
zoomControl: null,
}
i18next.on('languageChanged', () => {
};
i18next.on("languageChanged", () => {
this.forceUpdate();
})
});
}
@@ -131,7 +120,7 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
}
if(this.state.inspect && this.props.inspectModeEnabled !== this.state.inspect._showInspectMap) {
this.state.inspect.toggleInspector()
this.state.inspect.toggleInspector();
}
if (this.state.inspect && this.props.inspectModeEnabled) {
this.state.inspect.setOriginalStyle(styleWithTokens);
@@ -163,7 +152,7 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
const center = map.getCenter();
const zoom = map.getZoom();
this.props.onChange({center, zoom});
}
};
mapViewChange();
map.showTileBoundaries = mapOpts.showTileBoundaries!;
@@ -173,12 +162,13 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
const geocoder = this.initGeocoder(map);
const zoomControl = new ZoomControl();
map.addControl(zoomControl, 'top-right');
map.addControl(zoomControl, "top-right");
const nav = new MapLibreGl.NavigationControl({visualizePitch:true});
map.addControl(nav, 'top-right');
map.addControl(nav, "top-right");
const tmpNode = document.createElement('div');
const tmpNode = document.createElement("div");
const root = createRoot(tmpNode);
const inspectPopup = new MapLibreGl.Popup({
closeOnClick: false
@@ -192,30 +182,28 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
showInspectButton: false,
blockHoverPopupOnClick: true,
assignLayerColor: (layerId: string, alpha: number) => {
return Color(colors.brightColor(layerId, alpha)).desaturate(0.5).string()
return Color(colors.brightColor(layerId, alpha)).desaturate(0.5).string();
},
buildInspectStyle: (originalMapStyle: StyleSpecification, coloredLayers: HighlightedLayer[]) => buildInspectStyle(originalMapStyle, coloredLayers, this.props.highlightedLayer),
renderPopup: (features: InspectFeature[]) => {
if(this.props.inspectModeEnabled) {
return renderPopup(
<MapMaplibreGlFeaturePropertyPopup features={features} />,
tmpNode,
inspectPopup
);
inspectPopup.once("open", () => {
root.render(<MapMaplibreGlFeaturePropertyPopup features={features} />);
});
return tmpNode;
} else {
return renderPopup(
<MapMaplibreGlLayerPopup
inspectPopup.once("open", () => {
root.render(<MapMaplibreGlLayerPopup
features={features}
onLayerSelect={this.onLayerSelectById}
zoom={this.state.zoom}
/>,
tmpNode,
inspectPopup
);
/>,);
});
return tmpNode;
}
}
})
map.addControl(inspect)
});
map.addControl(inspect);
map.on("style.load", () => {
this.setState({
@@ -225,18 +213,18 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
zoomControl,
zoom: map.getZoom()
});
})
});
map.on("data", e => {
if(e.dataType !== 'tile') return
if(e.dataType !== "tile") return;
this.props.onDataChange!({
map: this.state.map
})
})
});
});
map.on("error", e => {
console.log("ERROR", e);
})
});
map.on("zoom", _e => {
this.setState({
@@ -251,7 +239,7 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
onLayerSelectById = (id: string) => {
const index = this.props.mapStyle.layers.findIndex(layer => layer.id === id);
this.props.onLayerSelect(index);
}
};
initGeocoder(map: Map) {
const geocoderConfig = {
@@ -269,15 +257,15 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
(feature.bbox[3] - feature.bbox[1]) / 2
];
const point = {
type: 'Feature',
type: "Feature",
geometry: {
type: 'Point',
type: "Point",
coordinates: center
},
place_name: feature.properties.display_name,
properties: feature.properties,
text: feature.properties.display_name,
place_type: ['place'],
place_type: ["place"],
center
};
features.push(point);
@@ -294,7 +282,7 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
placeholder: this.props.t("Search"),
maplibregl: MapLibreGl,
});
map.addControl(geocoder, 'top-left');
map.addControl(geocoder, "top-left");
return geocoder;
}
@@ -306,9 +294,9 @@ class MapMaplibreGlInternal extends React.Component<MapMaplibreGlInternalProps,
className="maputnik-map__map"
role="region"
aria-label={t("Map view")}
ref={x => this.container = x}
ref={x => {this.container = x;}}
data-wd-key="maplibre:map"
></div>
></div>;
}
}

View File

@@ -1,17 +1,17 @@
import React from 'react'
import type { GeoJSONFeatureWithSourceLayer } from '@maplibre/maplibre-gl-inspect'
import React from "react";
import type { GeoJSONFeatureWithSourceLayer } from "@maplibre/maplibre-gl-inspect";
export type InspectFeature = GeoJSONFeatureWithSourceLayer & {
inspectModeCounter?: number
counter?: number
}
};
function displayValue(value: string | number | Date | object | undefined) {
if (typeof value === 'undefined' || value === null) return value;
if (typeof value === "undefined" || value === null) return value;
if (value instanceof Date) return value.toLocaleString();
if (typeof value === 'object' ||
typeof value === 'number' ||
typeof value === 'string') return value.toString();
if (typeof value === "object" ||
typeof value === "number" ||
typeof value === "string") return value.toString();
return value;
}
@@ -19,21 +19,21 @@ function renderKeyValueTableRow(key: string, value: string | undefined) {
return <tr key={key}>
<td className="maputnik-popup-table-cell">{key}</td>
<td className="maputnik-popup-table-cell">{value}</td>
</tr>
</tr>;
}
function renderFeature(feature: InspectFeature, idx: number) {
return <React.Fragment key={idx}>
<tr>
<td colSpan={2} className="maputnik-popup-layer-id">{feature.layer['source']}: {feature.layer['source-layer']}{feature.inspectModeCounter && <span> × {feature.inspectModeCounter}</span>}</td>
<td colSpan={2} className="maputnik-popup-layer-id">{feature.layer["source"]}: {feature.layer["source-layer"]}{feature.inspectModeCounter && <span> × {feature.inspectModeCounter}</span>}</td>
</tr>
{renderKeyValueTableRow("$type", feature.geometry.type)}
{renderKeyValueTableRow("$id", displayValue(feature.id))}
{Object.keys(feature.properties).map(propertyName => {
const property = feature.properties[propertyName];
return renderKeyValueTableRow(propertyName, displayValue(property))
return renderKeyValueTableRow(propertyName, displayValue(property));
})}
</React.Fragment>
</React.Fragment>;
}
function removeDuplicatedFeatures(features: InspectFeature[]) {
@@ -41,22 +41,22 @@ function removeDuplicatedFeatures(features: InspectFeature[]) {
features.forEach(feature => {
const featureIndex = uniqueFeatures.findIndex(feature2 => {
return feature.layer['source-layer'] === feature2.layer['source-layer']
&& JSON.stringify(feature.properties) === JSON.stringify(feature2.properties)
})
return feature.layer["source-layer"] === feature2.layer["source-layer"]
&& JSON.stringify(feature.properties) === JSON.stringify(feature2.properties);
});
if(featureIndex === -1) {
uniqueFeatures.push(feature)
uniqueFeatures.push(feature);
} else {
if('inspectModeCounter' in uniqueFeatures[featureIndex]) {
uniqueFeatures[featureIndex].inspectModeCounter!++
if("inspectModeCounter" in uniqueFeatures[featureIndex]) {
uniqueFeatures[featureIndex].inspectModeCounter!++;
} else {
uniqueFeatures[featureIndex].inspectModeCounter = 2
uniqueFeatures[featureIndex].inspectModeCounter = 2;
}
}
})
});
return uniqueFeatures
return uniqueFeatures;
}
type FeaturePropertyPopupProps = {
@@ -65,16 +65,16 @@ type FeaturePropertyPopupProps = {
class FeaturePropertyPopup extends React.Component<FeaturePropertyPopupProps> {
render() {
const features = removeDuplicatedFeatures(this.props.features)
return <div className="maputnik-feature-property-popup">
const features = removeDuplicatedFeatures(this.props.features);
return <div className="maputnik-feature-property-popup" dir="ltr" data-wd-key="feature-property-popup">
<table className="maputnik-popup-table">
<tbody>
{features.map(renderFeature)}
</tbody>
</table>
</div>
</div>;
}
}
export default FeaturePropertyPopup
export default FeaturePropertyPopup;

View File

@@ -1,29 +1,29 @@
import React from 'react'
import IconLayer from './IconLayer'
import type {InspectFeature} from './MapMaplibreGlFeaturePropertyPopup';
import React from "react";
import IconLayer from "./IconLayer";
import type {InspectFeature} from "./MapMaplibreGlFeaturePropertyPopup";
function groupFeaturesBySourceLayer(features: InspectFeature[]) {
const sources: {[key: string]: InspectFeature[]} = {}
const sources: {[key: string]: InspectFeature[]} = {};
const returnedFeatures: {[key: string]: number} = {}
const returnedFeatures: {[key: string]: number} = {};
features.forEach(feature => {
const sourceKey = feature.layer['source-layer'] as string;
const sourceKey = feature.layer["source-layer"] as string;
if(Object.prototype.hasOwnProperty.call(returnedFeatures, feature.layer.id)) {
returnedFeatures[feature.layer.id]++
returnedFeatures[feature.layer.id]++;
const featureObject = sources[sourceKey].find((f: InspectFeature) => f.layer.id === feature.layer.id)
const featureObject = sources[sourceKey].find((f: InspectFeature) => f.layer.id === feature.layer.id);
featureObject!.counter = returnedFeatures[feature.layer.id]
featureObject!.counter = returnedFeatures[feature.layer.id];
} else {
sources[sourceKey] = sources[sourceKey] || []
sources[sourceKey].push(feature)
sources[sourceKey] = sources[sourceKey] || [];
sources[sourceKey].push(feature);
returnedFeatures[feature.layer.id] = 1
returnedFeatures[feature.layer.id] = 1;
}
})
});
return sources
return sources;
}
type FeatureLayerPopupProps = {
@@ -66,7 +66,7 @@ class FeatureLayerPopup extends React.Component<FeatureLayerPopupProps> {
}
render() {
const sources = groupFeaturesBySourceLayer(this.props.features)
const sources = groupFeaturesBySourceLayer(this.props.features);
const items = Object.keys(sources).map(vectorLayerId => {
const layers = sources[vectorLayerId].map((feature: InspectFeature, idx: number) => {
@@ -83,7 +83,7 @@ class FeatureLayerPopup extends React.Component<FeatureLayerPopupProps> {
<label
className="maputnik-popup-layer__label"
onClick={() => {
this.props.onLayerSelect(feature.layer.id)
this.props.onLayerSelect(feature.layer.id);
}}
>
{feature.layer.type &&
@@ -96,19 +96,19 @@ class FeatureLayerPopup extends React.Component<FeatureLayerPopupProps> {
{feature.layer.id}
{feature.counter && <span> × {feature.counter}</span>}
</label>
</div>
})
</div>;
});
return <div key={vectorLayerId}>
<div className="maputnik-popup-layer-id">{vectorLayerId}</div>
{layers}
</div>
})
</div>;
});
return <div className="maputnik-feature-layer-popup">
return <div className="maputnik-feature-layer-popup" data-wd-key="feature-layer-popup" dir="ltr">
{items}
</div>
</div>;
}
}
export default FeatureLayerPopup
export default FeatureLayerPopup;

View File

@@ -1,16 +1,16 @@
import React from 'react'
import {throttle} from 'lodash';
import { WithTranslation, withTranslation } from 'react-i18next';
import React from "react";
import {throttle} from "lodash";
import { type WithTranslation, withTranslation } from "react-i18next";
import MapMaplibreGlLayerPopup from './MapMaplibreGlLayerPopup';
import MapMaplibreGlLayerPopup from "./MapMaplibreGlLayerPopup";
import 'ol/ol.css'
import "ol/ol.css";
//@ts-ignore
import {apply} from 'ol-mapbox-style';
import {Map, View, Overlay} from 'ol';
import {apply} from "ol-mapbox-style";
import {Map, View, Overlay} from "ol";
import {toLonLat} from 'ol/proj';
import type {StyleSpecification} from 'maplibre-gl';
import {toLonLat} from "ol/proj";
import type {StyleSpecification} from "maplibre-gl";
function renderCoords (coords: string[]) {
@@ -19,8 +19,8 @@ function renderCoords (coords: string[]) {
}
else {
return <span className="maputnik-coords">
{coords.map((coord) => String(coord).padStart(7, "\u00A0")).join(', ')}
</span>
{coords.map((coord) => String(coord).padStart(7, "\u00A0")).join(", ")}
</span>;
}
}
@@ -29,7 +29,7 @@ type MapOpenLayersInternalProps = {
mapStyle: object
accessToken?: string
style?: object
onLayerSelect(...args: unknown[]): unknown
onLayerSelect(layerId: string): void
debugToolbox: boolean
replaceAccessTokens(...args: unknown[]): unknown
onChange(...args: unknown[]): unknown
@@ -48,7 +48,7 @@ class MapOpenLayersInternal extends React.Component<MapOpenLayersInternalProps,
onMapLoaded: () => {},
onDataChange: () => {},
onLayerSelect: () => {},
}
};
updateStyle: any;
map: any;
container: HTMLDivElement | null = null;
@@ -101,15 +101,15 @@ class MapOpenLayersInternal extends React.Component<MapOpenLayersInternalProps,
})
});
map.on('pointermove', (evt) => {
map.on("pointermove", (evt) => {
const coords = toLonLat(evt.coordinate);
this.setState({
cursor: [
coords[0].toFixed(2),
coords[1].toFixed(2)
]
})
})
});
});
const onMoveEnd = () => {
const zoom = map.getView().getZoom();
@@ -122,12 +122,12 @@ class MapOpenLayersInternal extends React.Component<MapOpenLayersInternalProps,
lat: center[1],
},
});
}
};
onMoveEnd();
map.on('moveend', onMoveEnd);
map.on("moveend", onMoveEnd);
map.on('postrender', (_e) => {
map.on("postrender", (_e) => {
const center = toLonLat(map.getView().getCenter()!);
this.setState({
center: [
@@ -150,13 +150,13 @@ class MapOpenLayersInternal extends React.Component<MapOpenLayersInternalProps,
closeOverlay = (e: any) => {
e.target.blur();
this.overlay!.setPosition(undefined);
}
};
render() {
const t = this.props.t;
return <div className="maputnik-ol-container">
<div
ref={x => this.popupContainer = x}
ref={x => {this.popupContainer = x;}}
style={{background: "black"}}
className="maputnik-popup"
>
@@ -193,14 +193,14 @@ class MapOpenLayersInternal extends React.Component<MapOpenLayersInternalProps,
}
<div
className="maputnik-ol"
ref={x => this.container = x}
ref={x => {this.container = x;}}
role="region"
aria-label={t("Map view")}
style={{
...this.props.style,
}}>
</div>
</div>
</div>;
}
}

View File

@@ -1,38 +1,35 @@
import React from 'react'
import React from "react";
import FieldFunction from './FieldFunction'
import type {LayerSpecification} from 'maplibre-gl'
import FieldFunction from "./FieldFunction";
import type {LayerSpecification} from "maplibre-gl";
import { type MappedLayerErrors } from "../libs/definitions";
const iconProperties = ['background-pattern', 'fill-pattern', 'line-pattern', 'fill-extrusion-pattern', 'icon-image']
const iconProperties = ["background-pattern", "fill-pattern", "line-pattern", "fill-extrusion-pattern", "icon-image"];
/** Extract field spec by {@fieldName} from the {@layerType} in the
* style specification from either the paint or layout group */
function getFieldSpec(spec: any, layerType: LayerSpecification["type"], fieldName: string) {
const groupName = getGroupName(spec, layerType, fieldName)
const group = spec[groupName + '_' + layerType]
const fieldSpec = group[fieldName]
const groupName = getGroupName(spec, layerType, fieldName);
const group = spec[groupName + "_" + layerType];
const fieldSpec = group[fieldName];
if(iconProperties.indexOf(fieldName) >= 0) {
return {
...fieldSpec,
values: spec.$root.sprite.values
}
};
}
if(fieldName === 'text-font') {
if(fieldName === "text-font") {
return {
...fieldSpec,
values: spec.$root.glyphs.values
}
};
}
return fieldSpec
return fieldSpec;
}
function getGroupName(spec: any, layerType: LayerSpecification["type"], fieldName: string) {
const paint = spec['paint_' + layerType] || {}
if (fieldName in paint) {
return 'paint'
} else {
return 'layout'
}
function getGroupName(spec: any, layerType: LayerSpecification["type"], fieldName: string): "paint" | "layout" {
const paint = spec["paint_" + layerType] || {};
return (fieldName in paint) ? "paint" : "layout";
}
type PropertyGroupProps = {
@@ -40,26 +37,26 @@ type PropertyGroupProps = {
groupFields: string[]
onChange(...args: unknown[]): unknown
spec: any
errors?: {[key: string]: {message: string}}
errors?: MappedLayerErrors
};
export default class PropertyGroup extends React.Component<PropertyGroupProps> {
onPropertyChange = (property: string, newValue: any) => {
const group = getGroupName(this.props.spec, this.props.layer.type, property)
this.props.onChange(group ,property, newValue)
}
const group = getGroupName(this.props.spec, this.props.layer.type, property);
this.props.onChange(group ,property, newValue);
};
render() {
const {errors} = this.props;
const fields = this.props.groupFields.map(fieldName => {
const fieldSpec = getFieldSpec(this.props.spec, this.props.layer.type, fieldName)
const fieldSpec = getFieldSpec(this.props.spec, this.props.layer.type, fieldName);
const paint = this.props.layer.paint || {}
const layout = this.props.layer.layout || {}
const paint = this.props.layer.paint || {};
const layout = this.props.layer.layout || {};
const fieldValue = fieldName in paint
? paint[fieldName as keyof typeof paint]
: layout[fieldName as keyof typeof layout]
const fieldType = fieldName in paint ? 'paint' : 'layout';
: layout[fieldName as keyof typeof layout];
const fieldType = fieldName in paint ? "paint" : "layout";
return <FieldFunction
errors={errors}
@@ -69,11 +66,11 @@ export default class PropertyGroup extends React.Component<PropertyGroupProps> {
value={fieldValue}
fieldType={fieldType}
fieldSpec={fieldSpec}
/>
})
/>;
});
return <div className="maputnik-property-group">
{fields}
</div>
</div>;
}
}

View File

@@ -1,4 +1,4 @@
import React from 'react'
import React from "react";
type ScrollContainerProps = {
children?: React.ReactNode
@@ -8,6 +8,6 @@ export default class ScrollContainer extends React.Component<ScrollContainerProp
render() {
return <div className="maputnik-scroll-container">
{this.props.children}
</div>
</div>;
}
}

View File

@@ -1,14 +1,14 @@
import React from 'react'
import React from "react";
import {otherFilterOps} from '../libs/filterops'
import InputString from './InputString'
import InputAutocomplete from './InputAutocomplete'
import InputSelect from './InputSelect'
import {otherFilterOps} from "../libs/filterops";
import InputString from "./InputString";
import InputAutocomplete from "./InputAutocomplete";
import InputSelect from "./InputSelect";
function tryParseInt(v: string | number) {
if (v === '') return v
if (isNaN(v as number)) return v
return parseFloat(v as string)
if (v === "") return v;
if (isNaN(v as number)) return v;
return parseFloat(v as string);
}
function tryParseBool(v: string | boolean) {
@@ -43,23 +43,23 @@ type SingleFilterEditorProps = {
export default class SingleFilterEditor extends React.Component<SingleFilterEditorProps> {
static defaultProps = {
properties: {},
}
};
onFilterPartChanged(filterOp: string, propertyName: string, filterArgs: string[]) {
let newFilter = [filterOp, propertyName, ...filterArgs.map(parseFilter)]
if(filterOp === 'has' || filterOp === '!has') {
newFilter = [filterOp, propertyName]
let newFilter = [filterOp, propertyName, ...filterArgs.map(parseFilter)];
if(filterOp === "has" || filterOp === "!has") {
newFilter = [filterOp, propertyName];
} else if(filterArgs.length === 0) {
newFilter = [filterOp, propertyName, '']
newFilter = [filterOp, propertyName, ""];
}
this.props.onChange(newFilter)
this.props.onChange(newFilter);
}
render() {
const f = this.props.filter
const filterOp = f[0]
const propertyName = f[1]
const filterArgs = f.slice(2)
const f = this.props.filter;
const filterOp = f[0];
const propertyName = f[1];
const filterArgs = f.slice(2);
return <div className="maputnik-filter-editor-single">
<div className="maputnik-filter-editor-property">
@@ -82,11 +82,11 @@ export default class SingleFilterEditor extends React.Component<SingleFilterEdit
<div className="maputnik-filter-editor-args">
<InputString
aria-label="value"
value={filterArgs.join(',')}
onChange={(v: string) => this.onFilterPartChanged(filterOp, propertyName, v.split(','))}
value={filterArgs.join(",")}
onChange={(v: string) => this.onFilterPartChanged(filterOp, propertyName, v.split(","))}
/>
</div>
}
</div>
</div>;
}
}

View File

@@ -1,6 +1,6 @@
import React from 'react'
import { WithTranslation, withTranslation } from 'react-i18next';
import './SmallError.scss';
import React from "react";
import { type WithTranslation, withTranslation } from "react-i18next";
import "./SmallError.scss";
type SmallErrorInternalProps = {

View File

@@ -1,43 +0,0 @@
import Block from './Block'
import InputSpec, { SpecFieldProps as InputFieldSpecProps } from './InputSpec'
import Fieldset from './Fieldset'
const typeMap = {
color: () => Block,
enum: ({fieldSpec}: any) => (Object.keys(fieldSpec.values).length <= 3 ? Fieldset : Block),
boolean: () => Block,
array: () => Fieldset,
resolvedImage: () => Block,
number: () => Block,
string: () => Block,
formatted: () => Block,
padding: () => Block,
};
export type SpecFieldProps = InputFieldSpecProps & {
name?: string
};
const SpecField: React.FC<SpecFieldProps> = (props) => {
const fieldType = props.fieldSpec?.type;
const typeBlockFn = typeMap[fieldType!];
let TypeBlock;
if (typeBlockFn) {
TypeBlock = typeBlockFn(props);
}
else {
console.warn("No such type for '%s'", fieldType);
TypeBlock = Block;
}
return (
<TypeBlock label={props.label} action={props.action} fieldSpec={props.fieldSpec}>
<InputSpec {...props} />
</TypeBlock>
);
};
export default SpecField;

View File

@@ -1,20 +1,22 @@
import React from 'react'
import {mdiFunctionVariant, mdiTableRowPlusAfter} from '@mdi/js';
import latest from '@maplibre/maplibre-gl-style-spec/dist/latest.json'
import React from "react";
import {PiListPlusBold} from "react-icons/pi";
import {TbMathFunction} from "react-icons/tb";
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import InputButton from './InputButton'
import InputSpec from './InputSpec'
import InputNumber from './InputNumber'
import InputString from './InputString'
import InputSelect from './InputSelect'
import Block from './Block'
import docUid from '../libs/document-uid'
import sortNumerically from '../libs/sort-numerically'
import {findDefaultFromSpec} from '../libs/spec-helper';
import { WithTranslation, withTranslation } from 'react-i18next';
import InputButton from "./InputButton";
import InputSpec from "./InputSpec";
import InputNumber from "./InputNumber";
import InputString from "./InputString";
import InputSelect from "./InputSelect";
import Block from "./Block";
import docUid from "../libs/document-uid";
import sortNumerically from "../libs/sort-numerically";
import {findDefaultFromSpec} from "../libs/spec-helper";
import { type WithTranslation, withTranslation } from "react-i18next";
import labelFromFieldName from '../libs/label-from-field-name'
import DeleteStopButton from './_DeleteStopButton'
import labelFromFieldName from "../libs/label-from-field-name";
import DeleteStopButton from "./_DeleteStopButton";
import { type MappedLayerErrors } from "../libs/definitions";
@@ -30,7 +32,7 @@ function setStopRefs(props: DataPropertyInternalProps, state: DataPropertyState)
}
newRefs[idx] = docUid("stop-");
}
})
});
}
return newRefs;
@@ -46,7 +48,7 @@ type DataPropertyInternalProps = {
fieldType?: string
fieldSpec?: object
value?: DataPropertyValue
errors?: object
errors?: MappedLayerErrors
} & WithTranslation;
type DataPropertyState = {
@@ -59,17 +61,17 @@ type DataPropertyValue = {
base?: number
type?: string
stops: Stop[]
}
};
export type Stop = [{
zoom: number
value: number
}, number]
}, number];
class DataPropertyInternal extends React.Component<DataPropertyInternalProps, DataPropertyState> {
state = {
refs: {} as {[key: number]: string}
}
};
componentDidMount() {
const newRefs = setStopRefs(this.props, this.state);
@@ -77,7 +79,7 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
if(newRefs) {
this.setState({
refs: newRefs
})
});
}
}
@@ -93,20 +95,20 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
getFieldFunctionType(fieldSpec: any) {
if (fieldSpec.expression.interpolated) {
return "exponential"
return "exponential";
}
if (fieldSpec.type === "number") {
return "interval"
return "interval";
}
return "categorical"
return "categorical";
}
getDataFunctionTypes(fieldSpec: any) {
if (fieldSpec.expression.interpolated) {
return ["interpolate", "categorical", "interval", "exponential", "identity"]
return ["interpolate", "categorical", "interval", "exponential", "identity"];
}
else {
return ["categorical", "interval", "identity"]
return ["categorical", "interval", "identity"];
}
}
@@ -117,7 +119,7 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
return {
ref: this.state.refs[idx],
data: stop
}
};
})
// Sort by zoom
.sort((a, b) => sortNumerically(a.data[0].zoom, b.data[0].zoom));
@@ -127,7 +129,7 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
mappedWithRef
.forEach((stop, idx) =>{
newRefs[idx] = stop.ref;
})
});
this.setState({
refs: newRefs
@@ -144,7 +146,7 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
};
}
else {
const stopValue = value.type === 'categorical' ? '' : 0;
const stopValue = value.type === "categorical" ? "" : 0;
value = {
property: "",
type: value.type,
@@ -154,13 +156,13 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
[{zoom: 10, value: stopValue}, findDefaultFromSpec(this.props.fieldSpec as any)]
],
...value,
}
};
}
this.props.onChange!(fieldName, value);
}
};
changeStop(changeIdx: number, stopData: { zoom: number | undefined, value: number }, value: number) {
const stops = this.props.value?.stops.slice(0) || []
const stops = this.props.value?.stops.slice(0) || [];
// const changedStop = stopData.zoom === undefined ? stopData.value : stopData
stops[changeIdx] = [
{
@@ -175,20 +177,20 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
const changedValue = {
...this.props.value,
stops: orderedStops,
}
this.onChange(this.props.fieldName, changedValue)
};
this.onChange(this.props.fieldName, changedValue);
}
changeBase(newValue: number | undefined) {
const changedValue = {
...this.props.value,
base: newValue
}
};
if (changedValue.base === undefined) {
delete changedValue["base"];
}
this.props.onChange!(this.props.fieldName, changedValue)
this.props.onChange!(this.props.fieldName, changedValue);
}
changeDataType(propVal: string) {
@@ -205,43 +207,43 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
changeDataProperty(propName: "property" | "default", propVal: any) {
if (propVal) {
this.props.value![propName] = propVal
this.props.value![propName] = propVal;
}
else {
delete this.props.value![propName]
delete this.props.value![propName];
}
this.onChange(this.props.fieldName, this.props.value)
this.onChange(this.props.fieldName, this.props.value);
}
render() {
const t = this.props.t;
if (typeof this.props.value?.type === "undefined") {
this.props.value!.type = this.getFieldFunctionType(this.props.fieldSpec)
this.props.value!.type = this.getFieldFunctionType(this.props.fieldSpec);
}
let dataFields;
if (this.props.value?.stops) {
dataFields = this.props.value.stops.map((stop, idx) => {
const zoomLevel = typeof stop[0] === 'object' ? stop[0].zoom : undefined;
const zoomLevel = typeof stop[0] === "object" ? stop[0].zoom : undefined;
const key = this.state.refs[idx];
const dataLevel = typeof stop[0] === 'object' ? stop[0].value : stop[0];
const value = stop[1]
const deleteStopBtn = <DeleteStopButton onClick={this.props.onDeleteStop?.bind(this, idx)} />
const dataLevel = typeof stop[0] === "object" ? stop[0].value : stop[0];
const value = stop[1];
const deleteStopBtn = <DeleteStopButton onClick={this.props.onDeleteStop?.bind(this, idx)} />;
const dataProps = {
'aria-label': t("Input value"),
"aria-label": t("Input value"),
label: t("Data value"),
value: dataLevel as any,
onChange: (newData: string | number | undefined) => this.changeStop(idx, { zoom: zoomLevel, value: newData as number }, value)
}
};
let dataInput;
if(this.props.value?.type === "categorical") {
dataInput = <InputString {...dataProps} />
dataInput = <InputString {...dataProps} />;
}
else {
dataInput = <InputNumber {...dataProps} />
dataInput = <InputNumber {...dataProps} />;
}
let zoomInput = null;
@@ -254,7 +256,7 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
min={0}
max={22}
/>
</div>
</div>;
}
return <tr key={key}>
@@ -276,8 +278,8 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
<td>
{deleteStopBtn}
</td>
</tr>
})
</tr>;
});
}
return <div className="maputnik-data-spec-block">
@@ -360,23 +362,21 @@ class DataPropertyInternal extends React.Component<DataPropertyInternalProps, Da
className="maputnik-add-stop"
onClick={this.props.onAddStop?.bind(this)}
>
<svg style={{width:"14px", height:"14px", verticalAlign: "text-bottom"}} viewBox="0 0 24 24">
<path fill="currentColor" d={mdiTableRowPlusAfter} />
</svg> {t("Add stop")}
<PiListPlusBold style={{ verticalAlign: "text-bottom" }} />
{t("Add stop")}
</InputButton>
}
<InputButton
className="maputnik-add-stop"
onClick={this.props.onExpressionClick?.bind(this)}
>
<svg style={{width:"14px", height:"14px", verticalAlign: "text-bottom"}} viewBox="0 0 24 24">
<path fill="currentColor" d={mdiFunctionVariant} />
</svg> {t("Convert to expression")}
<TbMathFunction style={{ verticalAlign: "text-bottom" }} />
{t("Convert to expression")}
</InputButton>
</div>
</div>
</fieldset>
</div>
</div>;
}
}

View File

@@ -1,8 +1,8 @@
import React from 'react'
import React from "react";
import InputButton from './InputButton'
import {MdDelete} from 'react-icons/md'
import { WithTranslation, withTranslation } from 'react-i18next';
import InputButton from "./InputButton";
import {MdDelete} from "react-icons/md";
import { type WithTranslation, withTranslation } from "react-i18next";
type DeleteStopButtonInternalProps = {
@@ -19,7 +19,7 @@ class DeleteStopButtonInternal extends React.Component<DeleteStopButtonInternalP
title={t("Remove zoom level from stop")}
>
<MdDelete />
</InputButton>
</InputButton>;
}
}

View File

@@ -1,38 +1,35 @@
import React from 'react'
import {MdDelete, MdUndo} from 'react-icons/md'
import stringifyPretty from 'json-stringify-pretty-compact'
import { WithTranslation, withTranslation } from 'react-i18next';
import React from "react";
import {MdDelete, MdUndo} from "react-icons/md";
import { type WithTranslation, withTranslation } from "react-i18next";
import Block from './Block'
import InputButton from './InputButton'
import labelFromFieldName from '../libs/label-from-field-name'
import FieldJson from './FieldJson'
import Block from "./Block";
import InputButton from "./InputButton";
import labelFromFieldName from "../libs/label-from-field-name";
import FieldJson from "./FieldJson";
import type { StylePropertySpecification } from "maplibre-gl";
import { type MappedLayerErrors } from "../libs/definitions";
type ExpressionPropertyInternalProps = {
onDelete?(...args: unknown[]): unknown
fieldName: string
fieldType?: string
fieldSpec?: object
fieldSpec?: StylePropertySpecification
value?: any
errors?: {[key: string]: {message: string}}
onChange?(...args: unknown[]): unknown
errors?: MappedLayerErrors
onDelete?(...args: unknown[]): unknown
onChange(value: object): void
onUndo?(...args: unknown[]): unknown
canUndo?(...args: unknown[]): unknown
onFocus?(...args: unknown[]): unknown
onBlur?(...args: unknown[]): unknown
} & WithTranslation;
type ExpressionPropertyState = {
jsonError: boolean
};
class ExpressionPropertyInternal extends React.Component<ExpressionPropertyInternalProps, ExpressionPropertyState> {
class ExpressionPropertyInternal extends React.Component<ExpressionPropertyInternalProps> {
static defaultProps = {
errors: {},
onFocus: () => {},
onBlur: () => {},
}
};
constructor(props: ExpressionPropertyInternalProps) {
super(props);
@@ -41,21 +38,8 @@ class ExpressionPropertyInternal extends React.Component<ExpressionPropertyInter
};
}
onJSONInvalid = (_err: Error) => {
this.setState({
jsonError: true,
})
}
onJSONValid = () => {
this.setState({
jsonError: false,
})
}
render() {
const {t, errors, fieldName, fieldType, value, canUndo} = this.props;
const {jsonError} = this.state;
const {t, value, canUndo} = this.props;
const undoDisabled = canUndo ? !canUndo() : true;
const deleteStopBtn = (
@@ -81,61 +65,28 @@ class ExpressionPropertyInternal extends React.Component<ExpressionPropertyInter
</InputButton>
</>
);
const fieldKey = fieldType === undefined ? fieldName : `${fieldType}.${fieldName}`;
const fieldError = errors![fieldKey];
const errorKeyStart = `${fieldKey}[`;
const foundErrors = [];
function getValue(data: any) {
return stringifyPretty(data, {indent: 2, maxLength: 38})
let error = undefined;
if (this.props.errors) {
const fieldKey = this.props.fieldType ? this.props.fieldType + "." + this.props.fieldName : this.props.fieldName;
error = this.props.errors[fieldKey];
}
if (jsonError) {
foundErrors.push({message: "Invalid JSON"});
}
else {
Object.entries(errors!)
.filter(([key, _error]) => {
return key.startsWith(errorKeyStart);
})
.forEach(([_key, error]) => {
return foundErrors.push(error);
})
if (fieldError) {
foundErrors.push(fieldError);
}
}
return <Block
// this feels like an incorrect type...? `foundErrors` is an array of objects, not a single object
error={foundErrors as any}
fieldSpec={this.props.fieldSpec}
label={t(labelFromFieldName(this.props.fieldName))}
action={deleteStopBtn}
wideMode={true}
error={error}
>
<FieldJson
mode={{name: "mgl"}}
lint={{
context: "expression",
spec: this.props.fieldSpec,
}}
lintType="expression"
spec={this.props.fieldSpec}
className="maputnik-expression-editor"
onFocus={this.props.onFocus}
onBlur={this.props.onBlur}
onJSONInvalid={this.onJSONInvalid}
onJSONValid={this.onJSONValid}
layer={value}
lineNumbers={false}
maxHeight={200}
lineWrapping={true}
getValue={getValue}
value={value}
onChange={this.props.onChange}
/>
</Block>
</Block>;
}
}

Some files were not shown because too many files have changed in this diff Show More