Files
openobserve/web/package.json
T
dependabot[bot] 455b021106 chore(deps): bump qs, cypress and express in /web (#13433)
Bumps [qs](https://github.com/ljharb/qs) to 6.15.3 and updates ancestor
dependencies [qs](https://github.com/ljharb/qs),
[cypress](https://github.com/cypress-io/cypress) and
[express](https://github.com/expressjs/express). These dependencies need
to be updated together.

Updates `qs` from 6.14.2 to 6.15.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ljharb/qs/blob/main/CHANGELOG.md">qs's
changelog</a>.</em></p>
<blockquote>
<h2><strong>6.15.3</strong></h2>
<ul>
<li>[Fix] <code>parse</code>: enforce <code>throwOnLimitExceeded</code>
for cumulative array growth via
<code>combine</code>/<code>merge</code></li>
<li>[Fix] <code>utils</code>: respect encoding of surrogate pairs across
chunks (<a
href="https://redirect.github.com/ljharb/qs/issues/559">#559</a>)</li>
<li>[Robustness] <code>parse</code>: throw the <code>arrayLimit</code>
error before splitting oversized comma values</li>
<li>[Robustness] <code>utils.merge</code> / <code>utils.assign</code>:
avoid invoking <code>__proto__</code> setter when copying own
properties</li>
<li>[Robustness] <code>utils</code>: enforce <code>arrayLimit</code>
consistently across <code>merge</code>'s array paths</li>
<li>[Perf] <code>utils</code>: make <code>compact</code> O(n) via a
side-channel visited-set instead of <code>Array.indexOf</code></li>
<li>[Deps] update <code>side-channel</code></li>
<li>[Dev Deps] update <code>eslint</code>, <code>mock-property</code>,
<code>tape</code></li>
<li>[Tests] <code>parse</code>: characterize current lenient handling of
unbalanced bracket keys (<a
href="https://redirect.github.com/ljharb/qs/issues/558">#558</a>)</li>
</ul>
<h2><strong>6.15.2</strong></h2>
<ul>
<li>[Fix] <code>stringify</code>: skip null/undefined entries in
<code>arrayFormat: 'comma'</code> + <code>encodeValuesOnly</code>
instead of crashing in <code>encoder</code></li>
<li>[Fix] <code>stringify</code>: use configured <code>delimiter</code>
after <code>charsetSentinel</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/555">#555</a>)</li>
<li>[Fix] <code>stringify</code>: apply <code>formatter</code> to
encoded key under <code>strictNullHandling</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/554">#554</a>)</li>
<li>[Fix] <code>stringify</code>: skip null/undefined filter-array
entries instead of crashing in <code>encoder</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/551">#551</a>)</li>
<li>[Fix] <code>parse</code>: handle nested bracket groups and add
regression tests (<a
href="https://redirect.github.com/ljharb/qs/issues/530">#530</a>)</li>
<li>[readme] fix grammar (<a
href="https://redirect.github.com/ljharb/qs/issues/550">#550</a>)</li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li>[Tests] add regression tests for keys containing percent-encoded
bracket text</li>
</ul>
<h2><strong>6.15.1</strong></h2>
<ul>
<li>[Fix] <code>parse</code>: <code>parameterLimit: Infinity</code> with
<code>throwOnLimitExceeded: true</code> silently drops all
parameters</li>
<li>[Deps] update <code>@ljharb/eslint-config</code></li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code>,
<code>iconv-lite</code></li>
<li>[Tests] increase coverage</li>
</ul>
<h2><strong>6.15.0</strong></h2>
<ul>
<li>[New] <code>parse</code>: add <code>strictMerge</code> option to
wrap object/primitive conflicts in an array (<a
href="https://redirect.github.com/ljharb/qs/issues/425">#425</a>, <a
href="https://redirect.github.com/ljharb/qs/issues/122">#122</a>)</li>
<li>[Fix] <code>duplicates</code> option should not apply to bracket
notation keys (<a
href="https://redirect.github.com/ljharb/qs/issues/514">#514</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ljharb/qs/commit/18d085e919dae70c8f1b200ab99323058edab2c2"><code>18d085e</code></a>
v6.15.3</li>
<li><a
href="https://github.com/ljharb/qs/commit/c38af42039d8cbf83f3e0d486c924eaa5a5d1712"><code>c38af42</code></a>
[Deps] update <code>side-channel</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/adce539489fcd34cc10830cf8c4a43e90b9300b0"><code>adce539</code></a>
[Dev Deps] update <code>eslint</code>, <code>mock-property</code>,
<code>tape</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/74a0f6a83af59245b4fa78785fbe709438580c97"><code>74a0f6a</code></a>
[Robustness] <code>utils</code>: enforce <code>arrayLimit</code>
consistently across <code>merge</code>'s arra...</li>
<li><a
href="https://github.com/ljharb/qs/commit/f4938f594a0a2773d3c99c0c6f5c96f30d909a2c"><code>f4938f5</code></a>
[Tests] <code>parse</code>: characterize current lenient handling of
unbalanced bracket ...</li>
<li><a
href="https://github.com/ljharb/qs/commit/5d5f723afe55a861c52cff6327f62269df35fdd1"><code>5d5f723</code></a>
[Perf] <code>utils</code>: make <code>compact</code> O(n) via a
side-channel visited-set instead of...</li>
<li><a
href="https://github.com/ljharb/qs/commit/52afe00abdb36416ee01c8d5243919b47a59af67"><code>52afe00</code></a>
[Robustness] <code>parse</code>: throw the <code>arrayLimit</code> error
before splitting oversized...</li>
<li><a
href="https://github.com/ljharb/qs/commit/963e538c740961a35ecaa0b38ee1f5c16697e208"><code>963e538</code></a>
[Fix] <code>parse</code>: enforce <code>throwOnLimitExceeded</code> for
cumulative array growth via...</li>
<li><a
href="https://github.com/ljharb/qs/commit/59da434d5de8c3d2564e4d75aeedde2e8af72369"><code>59da434</code></a>
[Fix] <code>utils</code>: respect encoding of surrogate pairs across
chunks</li>
<li><a
href="https://github.com/ljharb/qs/commit/9532969635a4bc96506370b28dd28dcab446e7ee"><code>9532969</code></a>
[Robustness] <code>utils.merge</code> / <code>utils.assign</code>: avoid
invoking <code>__proto__</code> sette...</li>
<li>Additional commits viewable in <a
href="https://github.com/ljharb/qs/compare/v6.14.2...v6.15.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `cypress` from 15.8.2 to 15.19.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.19.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-19-0">https://docs.cypress.io/app/references/changelog#15-19-0</a></p>
<h2>v15.18.1</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-18-1">https://docs.cypress.io/app/references/changelog#15-18-1</a></p>
<h2>v15.18.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-18-0">https://docs.cypress.io/app/references/changelog#15-18-0</a></p>
<h2>v15.17.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-17-0">https://docs.cypress.io/app/references/changelog#15-17-0</a></p>
<h2>v15.16.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-16-0">https://docs.cypress.io/app/references/changelog#15-16-0</a></p>
<h2>v15.15.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-15-0">https://docs.cypress.io/app/references/changelog#15-15-0</a></p>
<h2>v15.14.2</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-14-2">https://docs.cypress.io/app/references/changelog#15-14-2</a></p>
<h2>v15.14.1</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-14-1">https://docs.cypress.io/app/references/changelog#15-14-1</a></p>
<h2>v15.14.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-14-0">https://docs.cypress.io/app/references/changelog#15-14-0</a></p>
<h2>v15.13.1</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-13-1">https://docs.cypress.io/app/references/changelog#15-13-1</a></p>
<h2>v15.13.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-13-0">https://docs.cypress.io/app/references/changelog#15-13-0</a></p>
<h2>v15.12.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-12-0">https://docs.cypress.io/app/references/changelog#15-12-0</a></p>
<h2>v15.11.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-11-0">https://docs.cypress.io/app/references/changelog#15-11-0</a></p>
<h2>v15.10.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-10-0">https://docs.cypress.io/app/references/changelog#15-10-0</a></p>
<h2>v15.9.0</h2>
<p>Changelog: <a
href="https://docs.cypress.io/app/references/changelog#15-9-0">https://docs.cypress.io/app/references/changelog#15-9-0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cypress-io/cypress/commit/d19a47c2421485e2352b89e3167a0a3237c2d21c"><code>d19a47c</code></a>
test: migrate dev-server e2e specs to the reporter iframe (<a
href="https://redirect.github.com/cypress-io/cypress/issues/34301">#34301</a>)</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/dd72f31efdf30291f0aa7387ad290afecbdbebde"><code>dd72f31</code></a>
chore: Update Chrome (stable) to 150.0.7871.128 (<a
href="https://redirect.github.com/cypress-io/cypress/issues/34293">#34293</a>)</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/388f6e09f568571f11ee221c6a52254dec600752"><code>388f6e0</code></a>
chore: retrieve SSL.com CodeSignTool for Windows signing from github CDN
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/34">#34</a>...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/3ff59601d1f07fffba90881b9514ed48d8f12e75"><code>3ff5960</code></a>
perf: render command log in an isolated iframe to prevent renderer crash
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/34">#34</a>...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/37a899cab005044b6b98576de87de2b6c810e31f"><code>37a899c</code></a>
fix: allow chaining assertions after should('exist') on raw DOM elements
(<a
href="https://redirect.github.com/cypress-io/cypress/issues/34">#34</a>...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/bfe83a15d38a06b715b40cbb1b53b2443ff02f3a"><code>bfe83a1</code></a>
chore: clean up the server cookie automation converters and various
automatio...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/72cef528bff59f94843afcd4482ce1d5d260c302"><code>72cef52</code></a>
chore: Update Chrome (stable) to 150.0.7871.124 and Chrome (beta) to
151.0.79...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/6792160d0eda19fe04dd9c9a93da42c8fcf6af1e"><code>6792160</code></a>
chore: bump websocket-driver to 0.7.5 to resolve critical Snyk
vulnerability ...</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/de06a0731b305b4bbd82d20cceb994fdc51e3acc"><code>de06a07</code></a>
test: fix cy-in-cy studio AI test to exercise authenticated flow (<a
href="https://redirect.github.com/cypress-io/cypress/issues/34278">#34278</a>)</li>
<li><a
href="https://github.com/cypress-io/cypress/commit/9e7e850e1693e1c2a4d2d66dbb92149eaef62244"><code>9e7e850</code></a>
feat: upgrade chai to 4.5.0 and expose new assertion aliases (<a
href="https://redirect.github.com/cypress-io/cypress/issues/34178">#34178</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/cypress-io/cypress/compare/v15.8.2...v15.19.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `express` from 4.22.1 to 4.22.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/releases">express's
releases</a>.</em></p>
<blockquote>
<h2>v4.22.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: restore &gt;20 array parsing for <code>req.query</code>
repeated keys (<a
href="https://github.com/expressjs/express/commit/8d09bfe6d88983da5c3e12cfdd54782c4dc675db"><code>8d09bfe6</code></a>)
<ul>
<li>This also unifies array-cap behavior across notations. Indexed
notation (<code>a[0]=...</code>) was historically capped at qs's default
<code>arrayLimit</code> of 20 even in older qs versions; after this
change it also allows up to 1000 items.</li>
</ul>
</li>
<li>deps: qs@~6.15.1</li>
<li>deps: body-parser@~1.20.5</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/suuuuuuminnnnnn"><code>@​suuuuuuminnnnnn</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/7021">expressjs/express#7021</a></li>
<li><a href="https://github.com/SAY-5"><code>@​SAY-5</code></a> made
their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/7181">expressjs/express#7181</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/v4.22.1...v4.22.2">https://github.com/expressjs/express/compare/v4.22.1...v4.22.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/blob/v4.22.2/History.md">express's
changelog</a>.</em></p>
<blockquote>
<h1>4.22.2 / 2026-05-011</h1>
<ul>
<li>fix: restore &gt;20 array parsing for <code>req.query</code>
repeated keys (<a
href="https://github.com/expressjs/express/commit/8d09bfe6d88983da5c3e12cfdd54782c4dc675db"><code>8d09bfe6</code></a>)
<ul>
<li>This also unifies array-cap behavior across notations. Indexed
notation (<code>a[0]=...</code>) was historically capped at qs's default
<code>arrayLimit</code> of 20 even in older qs versions; after this
change it also allows up to 1000 items.</li>
</ul>
</li>
<li>deps: qs@~6.15.1</li>
<li>deps: body-parser@~1.20.5</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/expressjs/express/commit/df0abc9333a3398b97b71f6ea7cd77d5ea3e9f97"><code>df0abc9</code></a>
4.22.2</li>
<li><a
href="https://github.com/expressjs/express/commit/836d36668ea750f78b4373b4de79bbd22634e6ec"><code>836d366</code></a>
<code>4.x</code> update qs to 6.15.1, body-parser 1.20.5 (<a
href="https://redirect.github.com/expressjs/express/issues/7224">#7224</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/8d09bfe6d88983da5c3e12cfdd54782c4dc675db"><code>8d09bfe</code></a>
fix: restore array parsing for req.query repeated keys (<a
href="https://redirect.github.com/expressjs/express/issues/7181">#7181</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/d39e8ad1778a0b8a606a5a7b17096d0cc5ec722d"><code>d39e8ad</code></a>
deps: body-parser@~1.20.4 (<a
href="https://redirect.github.com/expressjs/express/issues/7021">#7021</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/efe85d9fdc9e3a62f7a1121b4f5f484862298b48"><code>efe85d9</code></a>
deps: qs@^6.14.1 (<a
href="https://redirect.github.com/expressjs/express/issues/6972">#6972</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/f62378e1bc776259c0a471476c2dc043a02ac762"><code>f62378e</code></a>
📝 add note to history</li>
<li>See full diff in <a
href="https://github.com/expressjs/express/compare/v4.22.1...v4.22.2">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore 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/openobserve/openobserve/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 03:15:11 +00:00

165 lines
5.9 KiB
JSON

{
"name": "zinc-observe-web",
"version": "0.1.0",
"license": "AGPL-3.0",
"private": true,
"type": "module",
"engines": {
"node": ">=20"
},
"scripts": {
"dev": "vite --base /web/",
"devcloud": "NODE_ENV=devcloud vite --mode=devcloud",
"build-alpha1": "run-p type-check build-only-alpha1",
"build-cloud-prod": "run-p type-check build-only-cloud-prod",
"build": "run-p type-check build-only",
"postbuild": "run-p copy",
"preview": "vite preview",
"copy": "cd dist && mkdir src && cd src && mkdir assets && cd .. && cd .. && cp -r src/assets/* dist/src/assets/",
"test:unit": "vitest --environment jsdom --root src/",
"test:unit:coverage": "NODE_OPTIONS='--max_old_space_size=8192' vitest --coverage --run",
"test:coverage:check": "./coverage.sh check",
"test:e2e": "start-server-and-test preview :4173 'cypress run --e2e'",
"test:e2e:dev": "start-server-and-test 'vite dev --port 4173' :4173 'cypress open --e2e'",
"build-only": "vite build",
"build-only-alpha1": "vite build --mode=alpha1",
"build-only-cloud-prod": "vite build --mode=production",
"type-check": "NODE_OPTIONS=--max-old-space-size=8192 vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
"type-check:app": "NODE_OPTIONS=--max-old-space-size=12288 vue-tsc --noEmit -p tsconfig.app.json --composite false",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
"lint:ci": "eslint \"src/**/*.vue\" --no-fix",
"lint:styles": "stylelint \"src/**/*.{css,vue}\"",
"lint:tokens": "node scripts/check-css-tokens.mjs",
"lint:token-purity": "node scripts/check-token-purity.mjs",
"lint:design": "node scripts/check-design-consistency.mjs",
"lint:design:strict": "node scripts/check-design-consistency.mjs --strict",
"verify": "npm run type-check:app && npm run lint:ci && npm run lint:styles && npm run lint:tokens && npm run lint:token-purity && npm run lint:design:strict",
"verify:all": "npm run verify && npm run test:coverage:check"
},
"dependencies": {
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@joakimono/echarts-extension-leaflet": "^1.1.0",
"@openobserve/browser-logs": "0.4.0-beta.7",
"@openobserve/browser-rum": "0.4.0-beta.7",
"@openobserve/node-sql-parser": "^0.1.5",
"@openobserve/rrweb-player": "^0.2.1",
"@rudderstack/analytics-js": "3.6.0",
"@tanstack/vue-form": "^1.29.1",
"@tanstack/vue-table": "^8.21.3",
"@tanstack/vue-virtual": "^3.13.16",
"@types/js-yaml": "^4.0.9",
"@vue-flow/background": "^1.3.2",
"@vue-flow/controls": "^1.1.3",
"@vue-flow/core": "^1.48.1",
"acorn": "^8.15.0",
"acorn-walk": "^8.3.4",
"cron-parser": "^5.4.0",
"d3-force": "^3.0.0",
"d3-scale": "^4.0.2",
"date-fns": "^4.1.0",
"date-fns-tz": "^3.2.0",
"dompurify": "^3.4.12",
"echarts": "^6.1.0",
"echarts-gl": "^2.1.0",
"escodegen": "^2.1.0",
"flag-icons": "^7.5.0",
"gridstack": "^12.4.2",
"highlight.js": "^11.11.1",
"js-beautify": "^1.15.4",
"js-cookie": "^3.0.7",
"js-yaml": "^4.3.0",
"json-2-csv": "^5.5.11",
"jszip": "^3.10.1",
"leaflet": "^1.9.4",
"lodash-es": "^4.18.1",
"lucide-vue-next": "^0.562.0",
"luxon": "^3.7.2",
"marked": "^17.0.1",
"moment": "^2.30.1",
"moment-timezone": "^0.6.0",
"monaco-editor": "^0.52.2",
"node-polyfill-webpack-plugin": "^4.0.0",
"reka-ui": "^2.9.6",
"reodotdev": "^1.0.0",
"rollup-plugin-node-polyfills": "^0.2.1",
"rollup-plugin-polyfill-node": "^0.13.0",
"sql-formatter": "^15.6.12",
"tw-animate-css": "^1.4.0",
"uuid": "^14.0.0",
"vue": "^3.5.26",
"vue-drag-resize": "^1.5.4",
"vue-draggable-next": "^2.3.0",
"vue-i18n": "^11.2.8",
"vue-router": "^4.6.4",
"vuex": "^4.1.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@cypress/vue": "^6.0.2",
"@cypress/webpack-dev-server": "^5.4.1",
"@iconify-json/majesticons": "^1.2.4",
"@iconify-json/material-symbols": "^1.2.72",
"@iconify-json/mdi": "^1.2.3",
"@iconify-json/octicon": "^1.2.25",
"@iconify-json/si": "^1.2.17",
"@rushstack/eslint-patch": "^1.15.0",
"@tailwindcss/postcss": "^4.1.18",
"@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.18",
"@types/d3-force": "^3.0.10",
"@types/d3-scale": "^4.0.9",
"@types/fs-extra": "^11.0.4",
"@types/js-cookie": "^3.0.6",
"@types/jsdom": "^27.0.0",
"@types/leaflet": "^1.9.21",
"@types/lodash-es": "^4.17.12",
"@types/luxon": "^3.7.1",
"@types/node": "^25.0.3",
"@types/uuid": "^11.0.0",
"@vitejs/plugin-vue": "^6.0.3",
"@vitejs/plugin-vue-jsx": "^5.1.3",
"@vitest/coverage-v8": "^4.0.16",
"@vitest/ui": "^4.0.16",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.6.0",
"@vue/test-utils": "^2.4.6",
"@vue/tsconfig": "^0.8.1",
"autoprefixer": "^10.4.23",
"c8": "^10.1.3",
"cypress": "^15.19.0",
"cypress-localstorage-commands": "^2.2.8",
"dotenv": "^17.2.3",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-formatter-unix": "^9.0.1",
"eslint-plugin-cypress": "^5.2.0",
"eslint-plugin-vue": "^10.6.2",
"fs-extra": "^11.3.3",
"happy-dom": "^20.8.9",
"jsdom": "^27.4.0",
"msw": "^2.12.7",
"npm-run-all": "^4.1.5",
"postcss": "^8.5.10",
"postcss-html": "^1.8.1",
"prettier": "^3.7.4",
"rollup-plugin-analyzer": "^4.0.0",
"rollup-plugin-visualizer": "^6.0.5",
"sass": "^1.97.1",
"sass-loader": "^16.0.6",
"start-server-and-test": "^2.1.3",
"stylelint": "^17.14.0",
"tailwindcss": "^4.1.18",
"typescript": "~5.9.3",
"unplugin-icons": "^23.0.1",
"vite": "^7.3.2",
"vite-plugin-istanbul": "^7.2.1",
"vite-plugin-monaco-editor": "^1.1.0",
"vitest": "^4.0.16",
"vitest-canvas-mock": "^1.1.3",
"vue-tsc": "^3.2.1"
},
"overrides": {
"axios": "1.13.2"
}
}