Files
editor/package.json
T
dependabot[bot] 5822012b87 chore(deps): Bump maplibre-gl from 6.7.0 to 6.8.0 (#2156)
Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from
6.7.0 to 6.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>v6.8.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add <code>map.getStyleUrl()</code>, which returns the URL the style
was loaded from, or <code>null</code> when the style was given as an
object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/7109">#7109</a>)
(by <a
href="https://github.com/bradymadden97"><code>@​bradymadden97</code></a>
and <a href="https://github.com/giswqs"><code>@​giswqs</code></a>)</li>
<li>Sample terrain render-to-texture output through mipmaps with
trilinear filtering, so draped layers stop shimmering and aliasing at
high pitch (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8328">#8328</a>,
continues <a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/7673">#7673</a>)
(by <a
href="https://github.com/AveryanAlex"><code>@​AveryanAlex</code></a>)</li>
<li>Build the <code>Intl.Segmenter</code> instances used for text
shaping on first use instead of at import, shaving several milliseconds
off loading MapLibre on the main thread (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8337">#8337</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Link shader programs before reading their compile status, so the
driver can overlap the compiles and the main thread waits less on shader
compilation (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8338">#8338</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Build the default <code>Marker</code> pin once and clone it per
marker, so creating many default markers takes roughly half the
constructor time (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8340">#8340</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Add SDF rendering support for fill patterns, using
<code>fill-color</code> as the foreground color (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/7747">#7747</a>)
(by <a
href="https://github.com/bradymadden97"><code>@​bradymadden97</code></a>
and <a
href="https://github.com/deniial00"><code>@​deniial00</code></a>)</li>
<li>Warn once when the canvas is clamped to <code>maxCanvasSize</code>,
which previously lowered the rendered resolution silently (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8200">#8200</a>)
(by <a
href="https://github.com/str0kes"><code>@​str0kes</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix a marker's popup jumping to another world copy when the marker
is moved across the antimeridian on a zoomed-out map (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/5655">#5655</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8326">#8326</a>,
continues <a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/5956">#5956</a>)
(by <a
href="https://github.com/yuiseki"><code>@​yuiseki</code></a>)</li>
<li>Fix terrain drape textures not being refreshed after zoom changes,
causing stale rendering at the new zoom level (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8251">#8251</a>)
(by <a href="https://github.com/patte"><code>@​patte</code></a>)</li>
<li>Fix a gap between the sky and the ground at high pitch while globe
transitions to mercator (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/7382">#7382</a>)
(by <a
href="https://github.com/birkskyum"><code>@​birkskyum</code></a>)</li>
<li>Treat an empty tile response (e.g. HTTP 204) as no data: raster-DEM
tiles now load without elevation instead of failing with a <code>dem
dimension mismatch</code> error, and empty raster tiles render as
transparent (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/1551">#1551</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</code></a>)</li>
<li>Validate the <code>before</code> layer in <code>map.moveLayer</code>
before reordering, so passing the id of a layer that does not exist
leaves the layer order untouched instead of dropping the moved layer out
of it (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8301">#8301</a>)
(by <a href="https://github.com/lazerg"><code>@​lazerg</code></a>)</li>
<li>Fix visible seams between hillshade tiles when using linear
interpolation. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8302">#8302</a>)
(by <a
href="https://github.com/Turbo87"><code>@​Turbo87</code></a>)</li>
<li>Fix the map freezing when a render task throws an error (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6093">#6093</a>)
(by <a
href="https://github.com/UberMouse"><code>@​UberMouse</code></a>)</li>
<li>Fix <code>getCameraAltitude()</code> returning <code>NaN</code>
under <code>globe</code> and <code>vertical-perspective</code>, which
disabled marker terrain occlusion and the camera terrain check; the
altitude now follows the sphere (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6584">#6584</a>)
(by <a
href="https://github.com/bigmistqke"><code>@​bigmistqke</code></a> and
<a href="https://github.com/patte"><code>@​patte</code></a>)</li>
<li>Draw an elevated symbol on globe when the symbol itself is in view
but the ground under it is behind the horizon; occlusion now follows the
line of sight to the elevated point (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8253">#8253</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</code></a>)</li>
<li>Fix <code>setTiles</code> producing stale tile URLs when
<code>loadTile</code> runs in the same frame (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8323">#8323</a>)
(by <a
href="https://github.com/johncarmack1984"><code>@​johncarmack1984</code></a>
and <a
href="https://github.com/nostrorom"><code>@​nostrorom</code></a>)</li>
<li>Keep the tile under an elevated symbol from being culled near the
horizon, so a symbol with a large <code>symbol-height-offset</code>
stays visible until it is behind the planet (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8316">#8316</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</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>6.8.0</h2>
<h3> Features and improvements</h3>
<ul>
<li>Add <code>map.getStyleUrl()</code>, which returns the URL the style
was loaded from, or <code>null</code> when the style was given as an
object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/7109">#7109</a>)
(by <a
href="https://github.com/bradymadden97"><code>@​bradymadden97</code></a>
and <a href="https://github.com/giswqs"><code>@​giswqs</code></a>)</li>
<li>Sample terrain render-to-texture output through mipmaps with
trilinear filtering, so draped layers stop shimmering and aliasing at
high pitch (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8328">#8328</a>,
continues <a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/7673">#7673</a>)
(by <a
href="https://github.com/AveryanAlex"><code>@​AveryanAlex</code></a>)</li>
<li>Build the <code>Intl.Segmenter</code> instances used for text
shaping on first use instead of at import, shaving several milliseconds
off loading MapLibre on the main thread (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8337">#8337</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Link shader programs before reading their compile status, so the
driver can overlap the compiles and the main thread waits less on shader
compilation (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8338">#8338</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Build the default <code>Marker</code> pin once and clone it per
marker, so creating many default markers takes roughly half the
constructor time (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8340">#8340</a>)
(by <a
href="https://github.com/cherenkov"><code>@​cherenkov</code></a>)</li>
<li>Add SDF rendering support for fill patterns, using
<code>fill-color</code> as the foreground color (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/7747">#7747</a>)
(by <a
href="https://github.com/bradymadden97"><code>@​bradymadden97</code></a>
and <a
href="https://github.com/deniial00"><code>@​deniial00</code></a>)</li>
<li>Warn once when the canvas is clamped to <code>maxCanvasSize</code>,
which previously lowered the rendered resolution silently (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8200">#8200</a>)
(by <a
href="https://github.com/str0kes"><code>@​str0kes</code></a>)</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix a marker's popup jumping to another world copy when the marker
is moved across the antimeridian on a zoomed-out map (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/5655">#5655</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8326">#8326</a>,
continues <a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/5956">#5956</a>)
(by <a
href="https://github.com/yuiseki"><code>@​yuiseki</code></a>)</li>
<li>Fix terrain drape textures not being refreshed after zoom changes,
causing stale rendering at the new zoom level (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8251">#8251</a>)
(by <a href="https://github.com/patte"><code>@​patte</code></a>)</li>
<li>Fix a gap between the sky and the ground at high pitch while globe
transitions to mercator (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/7382">#7382</a>)
(by <a
href="https://github.com/birkskyum"><code>@​birkskyum</code></a>)</li>
<li>Treat an empty tile response (e.g. HTTP 204) as no data: raster-DEM
tiles now load without elevation instead of failing with a <code>dem
dimension mismatch</code> error, and empty raster tiles render as
transparent (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/1551">#1551</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</code></a>)</li>
<li>Read the map container's dimensions before mutating it in
<code>Map#_setupContainer</code>, avoiding a forced synchronous layout
reflow on every map initialization (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8307">#8307</a>)
(by <a href="https://github.com/lazerg"><code>@​lazerg</code></a>)</li>
<li>Validate the <code>before</code> layer in <code>map.moveLayer</code>
before reordering, so passing the id of a layer that does not exist
leaves the layer order untouched instead of dropping the moved layer out
of it (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8301">#8301</a>)
(by <a href="https://github.com/lazerg"><code>@​lazerg</code></a>)</li>
<li>Fix visible seams between hillshade tiles when using linear
interpolation. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8302">#8302</a>)
(by <a
href="https://github.com/Turbo87"><code>@​Turbo87</code></a>)</li>
<li>Fix the map freezing when a render task throws an error (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6093">#6093</a>)
(by <a
href="https://github.com/UberMouse"><code>@​UberMouse</code></a>)</li>
<li>Fix <code>getCameraAltitude()</code> returning <code>NaN</code>
under <code>globe</code> and <code>vertical-perspective</code>, which
disabled marker terrain occlusion and the camera terrain check; the
altitude now follows the sphere (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/6584">#6584</a>)
(by <a
href="https://github.com/bigmistqke"><code>@​bigmistqke</code></a> and
<a href="https://github.com/patte"><code>@​patte</code></a>)</li>
<li>Draw an elevated symbol on globe when the symbol itself is in view
but the ground under it is behind the horizon; occlusion now follows the
line of sight to the elevated point (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8253">#8253</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</code></a>)</li>
<li>Fix <code>setTiles</code> producing stale tile URLs when
<code>loadTile</code> runs in the same frame (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/8323">#8323</a>)
(by <a
href="https://github.com/johncarmack1984"><code>@​johncarmack1984</code></a>
and <a
href="https://github.com/nostrorom"><code>@​nostrorom</code></a>)</li>
<li>Keep the tile under an elevated symbol from being culled near the
horizon, so a symbol with a large <code>symbol-height-offset</code>
stays visible until it is behind the planet (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8316">#8316</a>)
(by <a
href="https://github.com/clement-igonet"><code>@​clement-igonet</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/9df21da874e49ee4943aecb3350db9dfd98e7d1b"><code>9df21da</code></a>
Bump js version to 6.8.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8371">#8371</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/05302adadc681543ee15ff60290bb70b8348a978"><code>05302ad</code></a>
fix: compute pixelsPerMeter in the transform helper so
getCameraAltitude() wo...</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/cf1781cb5ea3af00f9f9665649431d89ebd0856e"><code>cf1781c</code></a>
test: serve the browser tests' tiles and styles from local fixtures (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8367">#8367</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/055db89755ae902f4a1840308b270bc0313b0784"><code>055db89</code></a>
refactor: unify bucket dependency finalization through addFeatures (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8347">#8347</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/045a3ce58615fcb0ac155ac309bf9dbf23d1cbd6"><code>045a3ce</code></a>
Warn when the canvas is clamped to maxCanvasSize (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8275">#8275</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/d2d0371abacb40e6b8f3136af1eba5e93deecdb1"><code>d2d0371</code></a>
Keep tiles under elevated symbols from being culled near the horizon (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8319">#8319</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/0b33607be5d0ac25844696a7ba2eac1d8ea9dfe3"><code>0b33607</code></a>
chore(deps-dev): bump puppeteer from 25.9.0 to 25.10.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8359">#8359</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/86d30b0234131b16d1b77681c946be53f88dc91a"><code>86d30b0</code></a>
chore(deps-dev): bump devtools-protocol from 0.0.1687809 to 0.0.1692173
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8354">#8354</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/9a0884f180d7f591323183ff6694af0a2805803e"><code>9a0884f</code></a>
chore(deps-dev): bump cspell from 10.2.0 to 10.2.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8360">#8360</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-gl-js/commit/3d42c642babf9d31d8fea3967f62c78d1facc2c5"><code>3d42c64</code></a>
chore(deps-dev): bump postcss from 8.5.26 to 8.5.28 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/8362">#8362</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-gl-js/compare/v6.7.0...v6.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=6.7.0&new-version=6.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 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>
2026-09-11 13:55:02 +00:00

152 lines
5.0 KiB
JSON

{
"name": "maputnik",
"version": "3.1.0",
"description": "A MapLibre GL visual style editor",
"type": "module",
"main": "''",
"scripts": {
"copy-rtl-text-plugin": "mkdir -p public && cp -p node_modules/@mapbox/mapbox-gl-rtl-text/dist/mapbox-gl-rtl-text.js public/",
"start": "npm run copy-rtl-text-plugin && vite",
"build": "npm run copy-rtl-text-plugin && tsc && vite build --mode=production",
"build-desktop": "npm run copy-rtl-text-plugin && tsc && vite build --mode=desktop && cd desktop && make",
"build-linux": "npm run copy-rtl-text-plugin && tsc && vite build --mode=desktop && cd desktop && make bin/linux/maputnik",
"i18n:extract": "npx i18next-cli extract",
"lint": "eslint",
"test": "playwright test",
"test-e2e": "playwright test",
"test-unit": "vitest",
"test-unit-ci": "vitest run --coverage --reporter=json",
"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"
},
"repository": {
"type": "git",
"url": "https://github.com/maplibre/maputnik"
},
"author": "Lukas Martinelli",
"license": "MIT",
"homepage": "https://github.com/maplibre/maputnik#readme",
"dependencies": {
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lint": "^6.9.7",
"@codemirror/state": "^6.7.4",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.43.11",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@mapbox/mapbox-gl-rtl-text": "^0.4.0",
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
"@maplibre/maplibre-gl-inspect": "^1.9.0",
"@maplibre/maplibre-gl-style-spec": "^26.4.2",
"array-move": "^4.0.0",
"buffer": "^6.0.3",
"classnames": "^2.5.1",
"codemirror": "^6.0.2",
"color": "^5.0.3",
"detect-browser": "^5.3.0",
"downshift": "^9.4.0",
"events": "^3.3.0",
"file-saver": "^2.0.5",
"i18next": "^26.4.2",
"i18next-browser-languagedetector": "^8.2.1",
"i18next-resources-to-backend": "^1.2.3",
"json-stringify-pretty-compact": "^4.0.0",
"json-to-ast": "^2.1.0",
"lodash": "^4.18.1",
"lodash.capitalize": "^4.2.1",
"lodash.clamp": "^4.0.3",
"lodash.clonedeep": "^4.5.0",
"lodash.get": "^4.4.2",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"maplibre-gl": "^6.8.0",
"maputnik-design": "github:maputnik/design#172b06c",
"ol": "^10.10.0",
"ol-mapbox-style": "^13.4.3",
"pmtiles": "^4.5.0",
"prop-types": "^15.8.1",
"react": "^19.2.8",
"react-accessible-accordion": "^5.0.1",
"react-aria-menubutton": "^8.0.0",
"react-aria-modal": "^5.0.2",
"react-collapse": "^5.1.1",
"react-color": "^2.19.3",
"react-dom": "^19.2.8",
"react-i18next": "^17.0.13",
"react-icons": "^5.7.0",
"react-markdown": "^10.1.0",
"reconnecting-websocket": "^4.4.0",
"slugify": "^1.6.9",
"string-hash": "^1.1.3",
"url": "^0.11.4"
},
"jshintConfig": {
"esversion": 6
},
"stylelint": {
"extends": "stylelint-config-recommended-scss",
"rules": {
"no-descending-specificity": null,
"media-feature-name-no-unknown": [
true,
{
"ignoreMediaFeatureNames": [
"prefers-reduced-motion"
]
}
]
}
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
"@playwright/test": "^1.63.0",
"@stylistic/eslint-plugin": "^5.10.0",
"@types/codemirror": "^5.60.18",
"@types/color": "^4.2.1",
"@types/cors": "^2.8.19",
"@types/file-saver": "^2.0.7",
"@types/geojson": "^7946.0.16",
"@types/json-to-ast": "^2.1.4",
"@types/lodash.capitalize": "^4.2.9",
"@types/lodash.clamp": "^4.0.9",
"@types/lodash.clonedeep": "^4.5.9",
"@types/lodash.get": "^4.4.9",
"@types/lodash.isequal": "^4.5.8",
"@types/lodash.throttle": "^4.1.9",
"@types/randomcolor": "^0.5.9",
"@types/react": "^19.2.18",
"@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": "^19.2.7",
"@types/string-hash": "^1.1.3",
"@types/wicg-file-system-access": "^2023.10.7",
"@vitejs/plugin-react": "^6.1.1",
"@vitest/coverage-v8": "^5.0.0",
"cors": "^2.8.6",
"eslint": "^10.10.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.6",
"i18next-cli": "^1.73.1",
"istanbul": "^0.4.5",
"istanbul-lib-coverage": "^3.2.2",
"nyc": "^18.0.0",
"postcss": "^8.5.28",
"react-hot-loader": "^4.13.1",
"sass": "^1.104.0",
"stylelint": "^17.15.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-scss": "^7.2.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.70.0",
"uuid": "^14.0.2",
"vite": "^8.2.2",
"vite-plugin-istanbul": "^9.0.1",
"vitest": "^5.0.0"
}
}