From 32ed92b7ecc53cfdd7a2c05cfff8b5507ed4cf24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:54:01 +0000 Subject: [PATCH 01/37] chore(deps-dev): Bump the react group with 2 updates (#2116) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the react group with 2 updates: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) and [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). Updates `@vitejs/plugin-react` from 6.1.0 to 6.1.1
Release notes

Sourced from @​vitejs/plugin-react's releases.

plugin-react@6.1.1

Add compiler.logDiagnostics option

Recoverable React Compiler diagnostics are no longer logged by default. Set compiler.logDiagnostics to true to log them through Vite. Fatal diagnostics are always logged and fail the transform.

Respect environment sourcemap option for React Compiler transform when builder.sharedPlugins is enabled (#1439)

The React Compiler transform was using the top-level sourcemap option instead of the environment sourcemap option. This caused a problem when the experimental builder.sharedPlugins was enabled.

Changelog

Sourced from @​vitejs/plugin-react's changelog.

6.1.1 (2026-08-28)

Add compiler.logDiagnostics option

Recoverable React Compiler diagnostics are no longer logged by default. Set compiler.logDiagnostics to true to log them through Vite. Fatal diagnostics are always logged and fail the transform.

Respect environment sourcemap option for React Compiler transform when builder.sharedPlugins is enabled (#1439)

The React Compiler transform was using the top-level sourcemap option instead of the environment sourcemap option. This caused a problem when the experimental builder.sharedPlugins was enabled.

Commits

Updates `eslint-plugin-react-refresh` from 0.5.4 to 0.5.5
Release notes

Sourced from eslint-plugin-react-refresh's releases.

v0.5.5

Changelog

Sourced from eslint-plugin-react-refresh's changelog.

0.5.5

Commits

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) ---
Dependabot commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d68f354..09a84a0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,13 +89,13 @@ "@types/react-dom": "^19.2.5", "@types/string-hash": "^1.1.3", "@types/wicg-file-system-access": "^2023.10.7", - "@vitejs/plugin-react": "^6.1.0", + "@vitejs/plugin-react": "^6.1.1", "@vitest/coverage-v8": "^4.1.11", "cors": "^2.8.6", "eslint": "^10.9.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", - "eslint-plugin-react-refresh": "^0.5.4", + "eslint-plugin-react-refresh": "^0.5.5", "i18next-cli": "^1.71.2", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", @@ -3379,9 +3379,9 @@ "license": "ISC" }, "node_modules/@vitejs/plugin-react": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.0.tgz", - "integrity": "sha512-qd2BzUBehkov86WFhg0JkEFEYyCLG9uPCe6qWTY/kRlss9OvJrOF2UbIWT7p+8IzZHkEu0DNGHc4HSv+JdDLsw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.1.tgz", + "integrity": "sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==", "dev": true, "license": "MIT", "dependencies": { @@ -5358,9 +5358,9 @@ } }, "node_modules/eslint-plugin-react-refresh": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.4.tgz", - "integrity": "sha512-7bqTKz7T0r+HKWFarNXByDE9/5+73wI2ru+M3zuqGbR7s/b/5/pQJXZoufWlrngqGqoZto73ZkGumCdLxk+4rw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.5.tgz", + "integrity": "sha512-vG7yLURXNvCHy0FBdbZRwIu0BLPJMlUUJS2Ep7ud9w1YCLftFZtuEjyjhym0Qq9yuZ6LJUitNlu/hMk0gakXAw==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index dbb1dbd7..23cc40e0 100644 --- a/package.json +++ b/package.json @@ -124,13 +124,13 @@ "@types/react-dom": "^19.2.5", "@types/string-hash": "^1.1.3", "@types/wicg-file-system-access": "^2023.10.7", - "@vitejs/plugin-react": "^6.1.0", + "@vitejs/plugin-react": "^6.1.1", "@vitest/coverage-v8": "^4.1.11", "cors": "^2.8.6", "eslint": "^10.9.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", - "eslint-plugin-react-refresh": "^0.5.4", + "eslint-plugin-react-refresh": "^0.5.5", "i18next-cli": "^1.71.2", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", From ceb2bb54cd45f1dccbc899c7c7bc143d7701a732 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:55:13 +0000 Subject: [PATCH 02/37] chore(deps): Bump github/codeql-action/init from 4.37.8 to 4.37.9 (#2118) Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.37.8 to 4.37.9.
Release notes

Sourced from github/codeql-action/init's releases.

v4.37.9

  • Update default CodeQL bundle version to 2.26.4. #4106
Changelog

Sourced from github/codeql-action/init's changelog.

CodeQL Action Changelog

See the releases page for the relevant changes to the CodeQL CLI and language packs.

[UNRELEASED]

No user facing changes.

4.37.9 - 26 Aug 2026

  • Update default CodeQL bundle version to 2.26.4. #4106

4.37.8 - 21 Aug 2026

No user facing changes.

4.37.7 - 13 Aug 2026

  • Update default CodeQL bundle version to 2.26.3. #4085

4.37.6 - 04 Aug 2026

  • Changed the default filepath for the new remote file address format that was introduced in CodeQL Action 4.37.0 / 3.37.0 to .github/codeql-config.yml to align it with the suggested path that is used elsewhere. #4070

4.37.5 - 03 Aug 2026

  • Fixed a bug where a network error while streaming the download of the CodeQL bundle could terminate the init Action instead of falling back to downloading the bundle before extracting it. #4061

4.37.4 - 29 Jul 2026

  • This version of the CodeQL Action adds support for the tools input for the codeql-action/init step to be specified using a github-codeql-tools repository property. This feature will gradually be rolled out following the release of this version. Once rolled out, this allows for the CodeQL CLI version that is used in GitHub-managed workflows, such as Default Setup, to be set to a custom value. For example, customers who run into issues with rate limits when a new CodeQL CLI version is released can set the value to toolcache to always use the CodeQL CLI version that is available in the runner toolcache. For Advanced Setup workflows, the value provided for tools in the workflow definition always takes precedence unless the value of the repository property starts with !. #4037
  • Update default CodeQL bundle version to 2.26.2. #4051

4.37.3 - 22 Jul 2026

No user facing changes.

4.37.2 - 21 Jul 2026

  • The new address format for the config-file input that was introduced in CodeQL Action 4.37.0 is now enabled by default. In addition to the format described there, the remote= prefix can now be used to explicitly indicate that the input refers to a remote file. All previous input formats continue to be accepted as well. #4023
  • The CodeQL Action can now make use of configured private registries in Default Setup to retrieve CodeQL configuration files from remote repositories that require authentication. This will allow customers to store their CodeQL configuration in a single repository that can then be referenced by Default Setup workflows in other repositories. We expect to roll this and other, related changes out to everyone in July. #4007

4.37.1 - 16 Jul 2026

  • Upcoming breaking change: Add a deprecation warning for customers using CodeQL version 2.20.6 and earlier. These versions of CodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise Server 3.16, and will be unsupported by the next minor release of the CodeQL Action. #3956
  • Update default CodeQL bundle version to 2.26.1. #4019

4.37.0 - 08 Jul 2026

  • Update default CodeQL bundle version to 2.26.0. #3995

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action/init&package-manager=github_actions&previous-version=4.37.8&new-version=4.37.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 07e98314..1739fad9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -42,7 +42,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8 + uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. From e76d948d3e4e550409dcd26faff6be69e1f1860c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 14:08:20 +0000 Subject: [PATCH 03/37] chore(deps-dev): Bump i18next-cli from 1.71.2 to 1.71.3 (#2117) Bumps [i18next-cli](https://github.com/i18next/i18next-cli) from 1.71.2 to 1.71.3.
Changelog

Sourced from i18next-cli's changelog.

1.71.3

  • fix: fallbackNS accounting now works when the fallback namespace lives in its own file outside a merged output (mergeNamespaces: true), e.g. split out and hidden via ignoreNamespaces: status and extract look up a fallback namespace missing from the merged file at its per-namespace path, and a function output resolves the merged file without a namespace (matching what extract writes), so hybrid layouts are expressible via an output function. When a fallbackNS is listed in ignoreNamespaces but its translations cannot be found, status now warns instead of silently reporting the keys as absent (#287).
Commits
  • 507f361 1.71.3
  • 5329192 fix: resolve fallbackNS from a split-out namespace file when hidden via ignor...
  • See full diff in compare view

Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09a84a0d..53e680eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,7 +96,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.5", - "i18next-cli": "^1.71.2", + "i18next-cli": "^1.71.3", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", "nyc": "^18.0.0", @@ -6739,9 +6739,9 @@ } }, "node_modules/i18next-cli": { - "version": "1.71.2", - "resolved": "https://registry.npmjs.org/i18next-cli/-/i18next-cli-1.71.2.tgz", - "integrity": "sha512-yohuW82U5OSFxaJYRzHKVIEuee90CuXMFLJ5QPvduqo2QL7pKPXq9ViV+Em4dv83mkySJ+RcX3IE3rA6cxjhbQ==", + "version": "1.71.3", + "resolved": "https://registry.npmjs.org/i18next-cli/-/i18next-cli-1.71.3.tgz", + "integrity": "sha512-HH8ZoLltCIKB5EYllBPp6Yu2CBqqstrhN6Pz0uElxilAZLxLLSvq3NNPTcbfkBfPbAlKLdBipOs6zuQI6nUnyA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 23cc40e0..1b620dea 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.5", - "i18next-cli": "^1.71.2", + "i18next-cli": "^1.71.3", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", "nyc": "^18.0.0", From 3543f0e3724f9d55cbf6a5ef3a4b213aa88e796b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 15:30:49 +0000 Subject: [PATCH 04/37] chore(deps): Bump qs from 6.14.2 to 6.16.0 (#2121) Bumps [qs](https://github.com/ljharb/qs) from 6.14.2 to 6.16.0.
Changelog

Sourced from qs's changelog.

6.16.0

  • [New] stringify: add a depth option to bound recursion depth (default Infinity)
  • [Fix] stringify: serialize Date values when a filter is provided
  • [Fix] parse: enforce arrayLimit on comma groups under []= when throwOnLimitExceeded is set
  • [Fix] parse: flatten a collection appended to an overflowed array (#571)
  • [Fix] utils: isBuffer: do not invoke a non-callable constructor.isBuffer
  • [Fix] stringify: do not let allowEmptyArrays skip cycle detection (or drop own keys) on an empty array with own properties
  • [Fix] stringify: encode dots in a top-level key with a primitive value when encodeDotInKeys is set (#562)
  • [Docs] threat model: clarify stringify deep-nesting DoS is caller-bounded
  • [Docs] clarify arrayLimit is a representation threshold, not an element-count cap
  • [Tests] parse: remove a test that pinned []= comma groups escaping arrayLimit
  • [Tests] stringify: pin current encodeDotInKeys separator-dot behavior
  • [Dev Deps] update @ljharb/eslint-config, eslint
  • [Dev Deps] update eslint, evalmd

6.15.3

  • [Fix] parse: enforce throwOnLimitExceeded for cumulative array growth via combine/merge
  • [Fix] utils: respect encoding of surrogate pairs across chunks (#559)
  • [Robustness] parse: throw the arrayLimit error before splitting oversized comma values
  • [Robustness] utils.merge / utils.assign: avoid invoking __proto__ setter when copying own properties
  • [Robustness] utils: enforce arrayLimit consistently across merge's array paths
  • [Perf] utils: make compact O(n) via a side-channel visited-set instead of Array.indexOf
  • [Deps] update side-channel
  • [Dev Deps] update eslint, mock-property, tape
  • [Tests] parse: characterize current lenient handling of unbalanced bracket keys (#558)

6.15.2

  • [Fix] stringify: skip null/undefined entries in arrayFormat: 'comma' + encodeValuesOnly instead of crashing in encoder
  • [Fix] stringify: use configured delimiter after charsetSentinel (#555)
  • [Fix] stringify: apply formatter to encoded key under strictNullHandling (#554)
  • [Fix] stringify: skip null/undefined filter-array entries instead of crashing in encoder (#551)
  • [Fix] parse: handle nested bracket groups and add regression tests (#530); changes output for some unbalanced bracket keys (see #558)
  • [readme] fix grammar (#550)
  • [Dev Deps] update @ljharb/eslint-config
  • [Tests] add regression tests for keys containing percent-encoded bracket text

6.15.1

  • [Fix] parse: parameterLimit: Infinity with throwOnLimitExceeded: true silently drops all parameters
  • [Deps] update @ljharb/eslint-config
  • [Dev Deps] update @ljharb/eslint-config, iconv-lite
  • [Tests] increase coverage

6.15.0

  • [New] parse: add strictMerge option to wrap object/primitive conflicts in an array (#425, #122)
  • [Fix] duplicates option should not apply to bracket notation keys (#514)
Commits
  • bb9379e v6.16.0
  • 62fd254 [Fix] stringify: serialize Date values when a filter is provided
  • 8859c37 [Fix] parse: enforce arrayLimit on comma groups under []= when `throwOn...
  • 8079adc [Tests] parse: remove a test that pinned []= comma groups escaping `array...
  • d56f48c [Fix] parse: flatten a collection appended to an overflowed array
  • e83d321 [Fix] utils: isBuffer: do not invoke a non-callable constructor.isBuffer
  • 7e87a07 [Dev Deps] update @ljharb/eslint-config, eslint
  • 9a76af2 [Dev Deps] update eslint, evalmd
  • 3a890d4 [Dev Deps] update eslint, evalmd
  • b433a9b [Fix] stringify: do not let allowEmptyArrays skip cycle detection (or dro...
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=qs&package-manager=npm_and_yarn&previous-version=6.14.2&new-version=6.16.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) ---
Dependabot commands and options
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 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).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 53e680eb..30292759 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10576,12 +10576,13 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" }, "engines": { "node": ">=0.6" @@ -11427,14 +11428,14 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -11446,13 +11447,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" From 97e6c8cffffc776f5ea7b126be65ae32b568a819 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 15:42:50 +0000 Subject: [PATCH 05/37] chore(deps-dev): Bump browserslist from 4.28.1 to 4.28.8 (#2122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.1 to 4.28.8.
Release notes

Sourced from browserslist's releases.

4.28.8

  • Fixed including kaios in baseline queries (by @​Jaybhade).

4.28.7

4.28.6

4.28.5

4.28.4

  • Fixed SyntaxError regression of 4.28.3.

4.28.3

  • Fixed baseline query case-insensitivity (by @​swwind).

4.28.2

Changelog

Sourced from browserslist's changelog.

4.28.8

  • Fixed including kaios in baseline queries (by @​Jaybhade).

4.28.7

4.28.6

4.28.5

4.28.4

  • Fixed SyntaxError regression of 4.28.3.

4.28.3

  • Fixed baseline query case-insensitivity (by @​swwind).

4.28.2

Commits
  • f2f2e6c Release 4.28.8 version
  • d0787c8 Update dependencies
  • fcf8fa9 Merge pull request #939 from Jaybhade/fix/baseline-kaios-without-downstream
  • 57ecd64 fix: support "including kaios" without downstream
  • 093a0f6 Update EM banner
  • b637868 Release 4.28.7 version
  • 313f465 Update dependencies
  • c935c5a Fix regexp performance
  • d7e9e65 Rewrite structure parsing to make it always fast
  • ec4a55e Fix import order
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for browserslist since your current version.


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=browserslist&package-manager=npm_and_yarn&previous-version=4.28.1&new-version=4.28.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) ---
Dependabot commands and options
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 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).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 51 +++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30292759..e9727af6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3967,9 +3967,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.11.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz", + "integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4014,9 +4014,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", "dev": true, "funding": [ { @@ -4034,11 +4034,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" }, "bin": { "browserslist": "cli.js" @@ -4206,9 +4206,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001776", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001776.tgz", - "integrity": "sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw==", + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", "dev": true, "funding": [ { @@ -4905,9 +4905,9 @@ "license": "ISC" }, "node_modules/electron-to-chromium": { - "version": "1.5.302", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", - "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "version": "1.5.420", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz", + "integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==", "dev": true, "license": "ISC" }, @@ -9356,11 +9356,14 @@ } }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz", + "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/nopt": { "version": "3.0.6", @@ -12739,9 +12742,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz", + "integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==", "dev": true, "funding": [ { From 380251c17072ffe2bc17b463fcf5f2b33287a02b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 15:46:49 +0000 Subject: [PATCH 06/37] chore(deps-dev): Bump @humanfs/node from 0.16.7 to 0.16.8 (#2123) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
Release notes

Sourced from @​humanfs/node's releases.

node: v0.16.8

0.16.8 (2026-04-17)

Bug Fixes

  • Include type dependencies at runtime (956ce7a), closes #145

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @​humanfs/core bumped from ^0.19.1 to ^0.19.2
Changelog

Sourced from @​humanfs/node's changelog.

0.16.8 (2026-04-17)

Bug Fixes

  • Ensure symlinks are copied as symlinks in copy() and copyAll() (22bbaa44)
  • Include type dependencies at runtime (956ce7a), closes #145

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @​humanfs/core bumped from ^0.19.1 to ^0.19.2
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@humanfs/node&package-manager=npm_and_yarn&previous-version=0.16.7&new-version=0.16.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) ---
Dependabot commands and options
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 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).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index e9727af6..e0cc1af5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -940,29 +940,43 @@ } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", From e5cf62f3b59075a39ed629f46ee30c260ce64b7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 23:48:10 +0000 Subject: [PATCH 07/37] chore(deps): Bump fast-uri from 3.1.5 to 3.1.7 (#2124) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to 3.1.7.
Release notes

Sourced from fast-uri's releases.

v3.1.7

⚠️ Security Warning

This is a security release that fixes the following high-severity security advisories:

Users of the v3.x release line should upgrade to v3.1.7.

Full Changelog: https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7

v3.1.6

⚠️ Security Warning

This release addresses the following high-severity security advisories:

Users of the v3.x release line should upgrade to v3.1.6.

Full Changelog: https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6

Commits
  • 412e40a Bumped v3.1.7
  • 9f4c943 fix: backport port and IP-literal validation to v3.x (#216)
  • 1eb3ce4 fix: treat unterminated bracket hosts as reg-names again (#214)
  • 6f970b2 Bumped v3.1.6
  • d941579 fix: never run IDN canonicalization on bracketed IP literals
  • c0f0279 test: adapt decoded-scheme handler assertion to 3.x (no mailto scheme)
  • 37f3417 Merge commit from fork
  • 607bfbe Merge commit from fork
  • ae92a4c Merge commit from fork
  • 444ecda Merge commit from fork
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.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) ---
Dependabot commands and options
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 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).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e0cc1af5..13a1ed89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5738,9 +5738,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", - "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", "dev": true, "funding": [ { From 981e075e7c65d63087015fd2ed9c6ecf320fadff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 19:51:26 +0000 Subject: [PATCH 08/37] chore(deps): Bump fflate from 0.8.2 to 0.8.3 (#2125) Bumps [fflate](https://github.com/101arrowz/fflate) from 0.8.2 to 0.8.3.
Release notes

Sourced from fflate's releases.

v0.8.3

  • Fix buffer over-read for Zip64 extra fields
  • Support sync flushes (Z_SYNC_FLUSH in zlib)
    • Allows for immediate decompression of all pushed bytes
    • Enables DEFLATE stream concatenation
  • Fix zip/zipSync when using cross-realm Uint8Array
  • Improve Zip64 support for streamed or undersized archives
  • Update performance estimates in README
  • Fix typings for TypeScript v5.7+
  • Reduce memory consumption after compression stream completion
Changelog

Sourced from fflate's changelog.

0.8.3

  • Fix buffer over-read for Zip64 extra fields
  • Support sync flushes (Z_SYNC_FLUSH in zlib)
    • Allows for immediate decompression of all pushed bytes
    • Enables DEFLATE stream concatenation
  • Fix zip/zipSync when using cross-realm Uint8Array
  • Improve Zip64 support for streamed or undersized archives
  • Update performance estimates in README
  • Fix typings for TypeScript v5.7+
  • Reduce memory consumption after compression stream completion
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fflate&package-manager=npm_and_yarn&previous-version=0.8.2&new-version=0.8.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) ---
Dependabot commands and options
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 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).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13a1ed89..120e3bf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5803,9 +5803,9 @@ } }, "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", "license": "MIT" }, "node_modules/figures": { From f8022d9b95bd30a2f98a94383752befa2873ec5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:33:00 +0000 Subject: [PATCH 09/37] chore(deps): Bump @codemirror/state from 6.7.1 to 6.7.2 (#2128) Bumps [@codemirror/state](https://github.com/codemirror/state) from 6.7.1 to 6.7.2.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/state&package-manager=npm_and_yarn&previous-version=6.7.1&new-version=6.7.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 120e3bf8..743a0b5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@codemirror/lang-json": "^6.0.2", "@codemirror/lint": "^6.9.7", - "@codemirror/state": "^6.7.1", + "@codemirror/state": "^6.7.2", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.43.9", "@dnd-kit/core": "^6.3.1", @@ -508,9 +508,9 @@ } }, "node_modules/@codemirror/state": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.1.tgz", - "integrity": "sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.2.tgz", + "integrity": "sha512-U3RiPX62Wl/Gx4ftQ7UxLlloSfsFTQqKa+7vFBYteZGCzkp6oBqcsD7iSwniWRGobCAmDcwZSY+Six3+3ztdfg==", "license": "MIT", "dependencies": { "@marijn/find-cluster-break": "^1.0.0" diff --git a/package.json b/package.json index 1b620dea..7118feaa 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@codemirror/lang-json": "^6.0.2", "@codemirror/lint": "^6.9.7", - "@codemirror/state": "^6.7.1", + "@codemirror/state": "^6.7.2", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.43.9", "@dnd-kit/core": "^6.3.1", From 9ac26b6fc98cd39e70c7eb29c10fcbc52ae19a95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:33:27 +0000 Subject: [PATCH 10/37] chore(deps): Bump react-i18next from 17.0.12 to 17.0.13 in the react group (#2126) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the react group with 1 update: [react-i18next](https://github.com/i18next/react-i18next). Updates `react-i18next` from 17.0.12 to 17.0.13
Changelog

Sourced from react-i18next's changelog.

17.0.13

  • fix(types): the selector-form keyPrefix overload of useTranslation() is now available under enableSelector: 'strict'. useTranslation was gated on true | 'optimize' only, so under 'strict' it resolved to the legacy signature and the selector overload disappeared entirely (keyPrefix: ($) => $.ns.foo failed with Type '($: any) => any' is not assignable to type 'undefined'). Trans already handled all three modes. Companion to the same fix for getFixedT in i18next#2446. Thanks @​hovelopin (#1930).
Commits
  • addf646 17.0.13
  • 7c634ee changelog v17.0.13
  • 5ceefb0 fix(types): allow selector keyPrefix in useTranslation under enableSelector '...
  • aa7ba52 chore(examples): require activesupport >= 7.2.3.1 in the RN Gemfiles
  • ec0bb4e chore(examples): drop react_native_windows and the RN Gemfile.locks
  • aa5fc43 build
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-i18next&package-manager=npm_and_yarn&previous-version=17.0.12&new-version=17.0.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) ---
Dependabot commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 743a0b5c..90fd354a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "react-collapse": "^5.1.1", "react-color": "^2.19.3", "react-dom": "^19.2.8", - "react-i18next": "^17.0.12", + "react-i18next": "^17.0.13", "react-icons": "^5.7.0", "react-markdown": "^10.1.0", "reconnecting-websocket": "^4.4.0", @@ -10791,9 +10791,9 @@ } }, "node_modules/react-i18next": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-17.0.12.tgz", - "integrity": "sha512-lFWPEGkxQ6RhusdUkysFBD58VHfSSzvHBzqMgN0SvfVpdQGfwtNkStTqdy08/sJd7s807qqutgx93fRpD0DJ3Q==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-17.0.13.tgz", + "integrity": "sha512-Cc1PscmblIHA1kljTqDwrcVMI21ydgmUzw0UAeQBe7pAOgfuRLfzXze4EUBQoeDiICzFIXXhHFoZxuetNg5D0Q==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.7", diff --git a/package.json b/package.json index 7118feaa..e76bce31 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "react-collapse": "^5.1.1", "react-color": "^2.19.3", "react-dom": "^19.2.8", - "react-i18next": "^17.0.12", + "react-i18next": "^17.0.13", "react-icons": "^5.7.0", "react-markdown": "^10.1.0", "reconnecting-websocket": "^4.4.0", From 57e5a446a08877dee1a06d31e3ed6f434e90183f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:33:44 +0000 Subject: [PATCH 11/37] chore(deps): Bump @codemirror/view from 6.43.9 to 6.43.10 (#2130) Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.43.9 to 6.43.10.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@codemirror/view&package-manager=npm_and_yarn&previous-version=6.43.9&new-version=6.43.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 90fd354a..7f70bd6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@codemirror/lint": "^6.9.7", "@codemirror/state": "^6.7.2", "@codemirror/theme-one-dark": "^6.1.3", - "@codemirror/view": "^6.43.9", + "@codemirror/view": "^6.43.10", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", @@ -529,9 +529,9 @@ } }, "node_modules/@codemirror/view": { - "version": "6.43.9", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.9.tgz", - "integrity": "sha512-sTuUzTpPMFebRhg6dawChoKKgndIwfjmJgKVxBefPElcU2NwQ6AFroupk0SFqEerQyZOGRfDNnSN8Dw/lMAsXw==", + "version": "6.43.10", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.10.tgz", + "integrity": "sha512-vVWLvd4fKWYN/pMcwUrg6dWeublxmSz+V+52ZjW3h64IVN9cRUYLk5Km4JDT9vifxAFfDtNOIFxKYENthcolJQ==", "license": "MIT", "dependencies": { "@codemirror/state": "^6.7.0", diff --git a/package.json b/package.json index e76bce31..ebf9f6a4 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@codemirror/lint": "^6.9.7", "@codemirror/state": "^6.7.2", "@codemirror/theme-one-dark": "^6.1.3", - "@codemirror/view": "^6.43.9", + "@codemirror/view": "^6.43.10", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", From 36967426d85763d33ede9484c8e80a508a0c7bb7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:34:38 +0000 Subject: [PATCH 12/37] chore(deps): Bump i18next from 26.4.0 to 26.4.1 (#2127) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [//]: # (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 [i18next](https://github.com/i18next/i18next) from 26.4.0 to 26.4.1.
Release notes

Sourced from i18next's releases.

v26.4.1

  • fix(types): the selector-form keyPrefix overload of getFixedT() is now available under enableSelector: 'strict'. Its constraint was gated on true | 'optimize' only, so under 'strict' it collapsed to never, the overload dropped out, and the returned t silently lost its keyPrefix scope (t(($) => $.deep) failed with Property 'deep' does not exist on type '{}'). The same call already typechecked under true and 'optimize'. Thanks @​hovelopin (#2446).
Changelog

Sourced from i18next's changelog.

26.4.1

  • fix(types): the selector-form keyPrefix overload of getFixedT() is now available under enableSelector: 'strict'. Its constraint was gated on true | 'optimize' only, so under 'strict' it collapsed to never, the overload dropped out, and the returned t silently lost its keyPrefix scope (t(($) => $.deep) failed with Property 'deep' does not exist on type '{}'). The same call already typechecked under true and 'optimize'. Thanks @​hovelopin (#2446).
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=26.4.0&new-version=26.4.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f70bd6b..fe926aa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "downshift": "^9.4.0", "events": "^3.3.0", "file-saver": "^2.0.5", - "i18next": "^26.4.0", + "i18next": "^26.4.1", "i18next-browser-languagedetector": "^8.2.1", "i18next-resources-to-backend": "^1.2.3", "json-stringify-pretty-compact": "^4.0.0", @@ -6716,9 +6716,9 @@ } }, "node_modules/i18next": { - "version": "26.4.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.4.0.tgz", - "integrity": "sha512-rsmK5bFqsD1AetSFSIa43wtNR4WpvvH4p0tLEsTxkC7QTrfdFm06nbQ95bh8Og4wwaCnUEcm9DVYL2cgxitiQg==", + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.4.1.tgz", + "integrity": "sha512-9YbX5E6gd1H+yaOSX3izCsPj5iWXyH7X4oC+iuHHJJw8AeHglzOK5SJf+1CHxaYKYigcea+8jvzSxqYx46YvyA==", "funding": [ { "type": "individual", diff --git a/package.json b/package.json index ebf9f6a4..fa7d9014 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "downshift": "^9.4.0", "events": "^3.3.0", "file-saver": "^2.0.5", - "i18next": "^26.4.0", + "i18next": "^26.4.1", "i18next-browser-languagedetector": "^8.2.1", "i18next-resources-to-backend": "^1.2.3", "json-stringify-pretty-compact": "^4.0.0", From d4a090722d25002e7ca8862661c6275bcb9572fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:35:07 +0000 Subject: [PATCH 13/37] chore(deps-dev): Bump typescript-eslint from 8.68.0 to 8.69.0 (#2131) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.68.0 to 8.69.0.
Release notes

Sourced from typescript-eslint's releases.

v8.69.0

8.69.0 (2026-08-31)

🚀 Features

  • eslint-plugin: [no-misused-promises] add flagUnions option for checkConditionals (#12603)

🩹 Fixes

  • eslint-plugin: [no-mixed-enums] use scope analysis instead of type checking for merged namespaces (#12731)
  • eslint-plugin: [unified-signatures] compare type parameters by constraint instead of name (#12741)
  • eslint-plugin: [no-meaningless-void-operator] report void on non-call expressions (#12727)
  • website: respect allowJs playground config (#12744)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Changelog

Sourced from typescript-eslint's changelog.

8.69.0 (2026-08-31)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript-eslint&package-manager=npm_and_yarn&previous-version=8.68.0&new-version=8.69.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 130 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 66 insertions(+), 66 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe926aa3..23e81310 100644 --- a/package-lock.json +++ b/package-lock.json @@ -107,7 +107,7 @@ "stylelint-config-recommended-scss": "^17.0.1", "stylelint-scss": "^7.2.0", "typescript": "^6.0.3", - "typescript-eslint": "^8.68.0", + "typescript-eslint": "^8.69.0", "uuid": "^14.0.2", "vite": "^8.2.2", "vite-plugin-istanbul": "^9.0.1", @@ -3105,17 +3105,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.68.0.tgz", - "integrity": "sha512-WASHDpCm6qO5jj9g1a+8NiW5+GCkAyLReR56/4VruYmNgfUmqpxOfZ2Yfb8xGfJPWv5Qi6LSD8sXdces3vbp/Q==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.69.0.tgz", + "integrity": "sha512-t5jQTKPIgVW1PE6dR6H6Qz5gm8zjMlX5/2gRaOGd9eO6V7J+tQc6iWKukEe7dY8u9HyYasQ0yfF0/FSSTEO2gA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.68.0", - "@typescript-eslint/type-utils": "8.68.0", - "@typescript-eslint/utils": "8.68.0", - "@typescript-eslint/visitor-keys": "8.68.0", + "@typescript-eslint/scope-manager": "8.69.0", + "@typescript-eslint/type-utils": "8.69.0", + "@typescript-eslint/utils": "8.69.0", + "@typescript-eslint/visitor-keys": "8.69.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -3128,15 +3128,15 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.68.0", + "@typescript-eslint/parser": "^8.69.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", - "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.8.tgz", + "integrity": "sha512-YYNsSlXBjMk92SKnkwvB5LOVSa6OznlFUGcsvrFgNJbJCd0M1XKeFVRc8ZByeCqz32FivYNHJVooLmdqrmvp/Q==", "dev": true, "license": "MIT", "engines": { @@ -3144,16 +3144,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.68.0.tgz", - "integrity": "sha512-fHq2VC1kpyYfvEcbiMjOpySY4WS7voEp89yAThrHRX5sm9j2lzYppCb2umFMEed4fWcyeLjHxrz0mpjNBaBxMQ==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.69.0.tgz", + "integrity": "sha512-l4b0DhWioGg6Gt2ebGlvfkFMOjRsauxtsnDRwUSRX1qHq3HdTfQHV8wW9zEXeciai6HfeaKOedQn2Zoofx3WBw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.68.0", - "@typescript-eslint/types": "8.68.0", - "@typescript-eslint/typescript-estree": "8.68.0", - "@typescript-eslint/visitor-keys": "8.68.0", + "@typescript-eslint/scope-manager": "8.69.0", + "@typescript-eslint/types": "8.69.0", + "@typescript-eslint/typescript-estree": "8.69.0", + "@typescript-eslint/visitor-keys": "8.69.0", "debug": "^4.4.3" }, "engines": { @@ -3169,14 +3169,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.68.0.tgz", - "integrity": "sha512-5GQtWZCXFcFYux955pvoS02WLc49pXNlvIxocKjS0clvwo3in1RdlzVKyiqQH9vE5AKWFLTaUgeQkOrTS+0Qxw==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.69.0.tgz", + "integrity": "sha512-yi4obFrHMmnsesWehHbkg9zMA7Jt8cXT+mKM08G999pH1yT6nqgsHx7MYm0uY1wAj8CqiBXYRJ7WAT0QdQHQXg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.68.0", - "@typescript-eslint/types": "^8.68.0", + "@typescript-eslint/tsconfig-utils": "^8.69.0", + "@typescript-eslint/types": "^8.69.0", "debug": "^4.4.3" }, "engines": { @@ -3191,14 +3191,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.68.0.tgz", - "integrity": "sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.69.0.tgz", + "integrity": "sha512-ewfspqWvSxKSOaplqAUNbaSFO0eB6w1EtQ+esfYFRm3614Ty4uNtExkcbgd6nWsXphbqKyf9ZYdbZdv2xEoWEQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.68.0", - "@typescript-eslint/visitor-keys": "8.68.0" + "@typescript-eslint/types": "8.69.0", + "@typescript-eslint/visitor-keys": "8.69.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3209,9 +3209,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.68.0.tgz", - "integrity": "sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.69.0.tgz", + "integrity": "sha512-xNqK7YTDZsLniQMV/4rpFR8Z5JlqeRvVjuG1YgF/mdPVH84HSD19L8CczMA0qg2RfwEV231GHH3VnToJDo4MfQ==", "dev": true, "license": "MIT", "engines": { @@ -3226,15 +3226,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.68.0.tgz", - "integrity": "sha512-X77zqoY1EjeWGs/0JNxeaMfp5C5lIz4Tw8y66F1Ne8Faq6g424sBNYM6xBAqElfGZPLpWS+CZAp0DXyKDzWiHg==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.69.0.tgz", + "integrity": "sha512-ZfoJAVg3JZndQEpEl9petVlxau3lRuElc4HRMuAlLCf8to04/iHz692RUSNmXKDjEuJmIL+KZ2/BsOcBc16dsA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.68.0", - "@typescript-eslint/typescript-estree": "8.68.0", - "@typescript-eslint/utils": "8.68.0", + "@typescript-eslint/types": "8.69.0", + "@typescript-eslint/typescript-estree": "8.69.0", + "@typescript-eslint/utils": "8.69.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -3251,9 +3251,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.68.0.tgz", - "integrity": "sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.69.0.tgz", + "integrity": "sha512-K3VrubUPhlo9VDBS6QdI8YB5j7ClpqLRdefcz6PFrhnwicehBweqQ9Evhl4l+FYz0HdDmMqIiSX0aldGRYtDCA==", "dev": true, "license": "MIT", "engines": { @@ -3265,16 +3265,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.68.0.tgz", - "integrity": "sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.69.0.tgz", + "integrity": "sha512-AdFkgqck3Vudb/kWnxlyafU/4aBhHrbQ9locP2N4psXTy5mOBg0SHJumnLvx7r6g1gV4DKvUFwV2nJZBoqOD8w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.68.0", - "@typescript-eslint/tsconfig-utils": "8.68.0", - "@typescript-eslint/types": "8.68.0", - "@typescript-eslint/visitor-keys": "8.68.0", + "@typescript-eslint/project-service": "8.69.0", + "@typescript-eslint/tsconfig-utils": "8.69.0", + "@typescript-eslint/types": "8.69.0", + "@typescript-eslint/visitor-keys": "8.69.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -3332,16 +3332,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.68.0.tgz", - "integrity": "sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.69.0.tgz", + "integrity": "sha512-tUbx60BBqQa31kXF5MCsOOLL5E/WzUuxIn7YpAvq+eaUlqvk8/NXnXMBNAdLCr0icjkzem7iUA5QqWHe/hJ1aw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.68.0", - "@typescript-eslint/types": "8.68.0", - "@typescript-eslint/typescript-estree": "8.68.0" + "@typescript-eslint/scope-manager": "8.69.0", + "@typescript-eslint/types": "8.69.0", + "@typescript-eslint/typescript-estree": "8.69.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3356,13 +3356,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.68.0.tgz", - "integrity": "sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.69.0.tgz", + "integrity": "sha512-+rmdgPA+EXkNgKYvHvFfhrs35utXbwaC5PGpDquSXcoXQDKUA5UjV0LmTucG/4JXkM31BTu4TilHtrN8IVBe8w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.68.0", + "@typescript-eslint/types": "8.69.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -12583,16 +12583,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.68.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.68.0.tgz", - "integrity": "sha512-MHy0Y0ynqeEbx/S45+i/bBssdy3X6KNBfmJAP35GrgtNxu2TQ5K5xsFDhAnmsq1jvpdoZOPG1LGtJo0HWqYCrQ==", + "version": "8.69.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.69.0.tgz", + "integrity": "sha512-B3MltX0VqjUBNEe3b3sSuiRbfa6XrfHFtBiPamjT5AsW/dfq+y+bc0wyuS9DxAS1LyzCxRp2+rxzpLUvqM2BvA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.68.0", - "@typescript-eslint/parser": "8.68.0", - "@typescript-eslint/typescript-estree": "8.68.0", - "@typescript-eslint/utils": "8.68.0" + "@typescript-eslint/eslint-plugin": "8.69.0", + "@typescript-eslint/parser": "8.69.0", + "@typescript-eslint/typescript-estree": "8.69.0", + "@typescript-eslint/utils": "8.69.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index fa7d9014..2a40db5d 100644 --- a/package.json +++ b/package.json @@ -142,7 +142,7 @@ "stylelint-config-recommended-scss": "^17.0.1", "stylelint-scss": "^7.2.0", "typescript": "^6.0.3", - "typescript-eslint": "^8.68.0", + "typescript-eslint": "^8.69.0", "uuid": "^14.0.2", "vite": "^8.2.2", "vite-plugin-istanbul": "^9.0.1", From 18e2d00bdc2b6a7dea52d2824155d6eb690bbf80 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:36:36 +0000 Subject: [PATCH 14/37] chore(deps-dev): Bump i18next-cli from 1.71.3 to 1.72.1 (#2129) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [i18next-cli](https://github.com/i18next/i18next-cli) from 1.71.3 to 1.72.1.
Changelog

Sourced from i18next-cli's changelog.

1.72.1

  • fix: the interactive instrument prompt crashed because it still used inquirer's list prompt type, which was removed in inquirer 13; switched to select (#288).

1.72.0

  • feat: locize-sync --changed-only [--base <ref>] syncs and AI-auto-translates only the keys that changed on the current git branch vs. the base branch — ideal for translating just a pull request's diff instead of the whole project. The source-language files are diffed against the merge-base with the base branch (auto-detected via origin/HEAD, main, master, or set with --base); key creation, value updates and auto-translation are restricted to those keys, and deletions are skipped. Changed keys are scoped per namespace file, and when any plural variant of a key changed, all its plural forms are included (target languages often need more CLDR plural forms than the source). Also configurable via locize.changedOnly / locize.changedOnlyBase. Requires git and locize-cli >= 12.7.
  • feat: sync --changed-only [--base <ref>] applies the same branch-diff scoping to the local synchronizer: only primary-language keys added or modified on the branch are propagated to the secondary language files, and obsolete keys are left in place. Works with JSON, JSON5 and YAML translation files (JS/TS resource modules cannot be parsed from git history and fail with a clear message). Unusable git setups (git missing, not a repository, unresolvable base ref) fail the command with actionable errors that mention actions/checkout fetch-depth: 0 for shallow CI clones.
Commits
  • 83c5cd3 1.72.1
  • 13a73a9 docs: changelog for 1.72.1
  • c5811e5 fix: change prompt type from 'list' to 'select' in runInstrumenter function (...
  • 4d5853a 1.72.0
  • 9d9ee53 feat: --changed-only on sync and locize-sync scopes syncing to the git branch...
  • d89dfd1 Pre-approve npx i18next-cli in the skill's allowed-tools
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next-cli&package-manager=npm_and_yarn&previous-version=1.71.3&new-version=1.72.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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23e81310..59566cdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,7 +96,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.5", - "i18next-cli": "^1.71.3", + "i18next-cli": "^1.72.1", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", "nyc": "^18.0.0", @@ -6753,9 +6753,9 @@ } }, "node_modules/i18next-cli": { - "version": "1.71.3", - "resolved": "https://registry.npmjs.org/i18next-cli/-/i18next-cli-1.71.3.tgz", - "integrity": "sha512-HH8ZoLltCIKB5EYllBPp6Yu2CBqqstrhN6Pz0uElxilAZLxLLSvq3NNPTcbfkBfPbAlKLdBipOs6zuQI6nUnyA==", + "version": "1.72.1", + "resolved": "https://registry.npmjs.org/i18next-cli/-/i18next-cli-1.72.1.tgz", + "integrity": "sha512-4ryXcgNas4HGIh4aztnfichnbcbfI268T6KGHBgotSQ+DHYa1ULMN7QMOYbPwMtkxda2wqBHzjFY3DhD6Pm8AA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 2a40db5d..91cab1da 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.5", - "i18next-cli": "^1.71.3", + "i18next-cli": "^1.72.1", "istanbul": "^0.4.5", "istanbul-lib-coverage": "^3.2.2", "nyc": "^18.0.0", From d1ddd91172dc59ae6fabd6f4789694be19e9b7a9 Mon Sep 17 00:00:00 2001 From: Robert Orthofer Date: Fri, 4 Sep 2026 21:08:13 +0200 Subject: [PATCH 15/37] fix openlayers naming (#2115) ## Launch Checklist Small naming change from "Open Layers" to "OpenLayers". Because of the unwanted space, the translations, while quite amusing, have been incorrect and misleading. - [x] Briefly describe the changes in this PR. - [ ] Link to related issues. - [ ] Include before/after visuals or gifs if this PR includes visual changes. - [ ] Write tests for all new functionality. - [ ] Add an entry to `CHANGELOG.md` under the `## main` section. Co-authored-by: Harel M --- src/components/modals/ModalSettings.tsx | 2 +- src/locales/de/translation.json | 2 +- src/locales/fr/translation.json | 2 +- src/locales/he/translation.json | 2 +- src/locales/it/translation.json | 2 +- src/locales/ja/translation.json | 2 +- src/locales/ko/translation.json | 2 +- src/locales/tr/translation.json | 2 +- src/locales/zh/translation.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/modals/ModalSettings.tsx b/src/components/modals/ModalSettings.tsx index f718ed29..b418d152 100644 --- a/src/components/modals/ModalSettings.tsx +++ b/src/components/modals/ModalSettings.tsx @@ -322,7 +322,7 @@ class ModalSettingsInternal extends React.Component data-wd-key="modal:settings.maputnik:renderer" options={[ ["mlgljs", "MapLibreGL JS"], - ["ol", t("Open Layers (experimental)")], + ["ol", t("OpenLayers (experimental)")], ]} value={metadata["maputnik:renderer"] || "mlgljs"} onChange={(value) => onChangeMetadataProperty("maputnik:renderer", value)} diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index 9ffa501e..9975a2be 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "Keine globalen Zustandsvariablen definiert. Füge Variablen hinzu, um wiederverwendbare Werte in deinem Stil zu erstellen.", "Open": "Öffnen", "Open a local JSON style from your computer.": "Öffne einen lokalen JSON Stil von deinem Computer.", - "Open Layers (experimental)": "Ebenen öffnen (experimentell)", + "OpenLayers (experimental)": "OpenLayers (experimentell)", "Open local Style": "Lokalen Stil öffnen", "Open modal": "Modale Fenster öffnen", "Open one of the publicly available styles to start from.": "Öffne einen der öffentlich verfügbaren Stile, um zu starten.", diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json index f48cda4f..2f3a0c57 100644 --- a/src/locales/fr/translation.json +++ b/src/locales/fr/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "Aucune variable d'état global définie. Ajoutez des variables pour créer des valeurs réutilisables dans votre style.", "Open": "Ouvrir", "Open a local JSON style from your computer.": "Ouvrir un style JSON local depuis votre ordinateur.", - "Open Layers (experimental)": "Open Layers (expérimental)", + "OpenLayers (experimental)": "OpenLayers (expérimental)", "Open local Style": "Ouvrir un style local", "Open modal": "Ouvrir (modale)", "Open one of the publicly available styles to start from.": "Ouvrez l'un des styles publics disponibles pour commencer.", diff --git a/src/locales/he/translation.json b/src/locales/he/translation.json index ce2f7c26..2317b91a 100644 --- a/src/locales/he/translation.json +++ b/src/locales/he/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "לא הוגדרו משתני מצב גלובלי. הוסף משתנים כדי ליצור ערכים שניתן לעשות בהם שימוש חוזר בסטייל שלך.", "Open": "פתיחה", "Open a local JSON style from your computer.": "פתיחת סטייל JSON מקומי מהמחשב שלך.", - "Open Layers (experimental)": "Open Layers (experimental)", + "OpenLayers (experimental)": "OpenLayers (experimental)", "Open local Style": "פתיחת סטייל מקומי", "Open modal": "פתיחת חלונית", "Open one of the publicly available styles to start from.": "פתיחת אחד הסטייליםפ הציבוריים על מנת להתחיל מהם.", diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index f2580af0..178957cc 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "Nessuna variabile di stato globale definita. Aggiungi variabili per creare valori riutilizzabili nel tuo stile.", "Open": "Apri", "Open a local JSON style from your computer.": "Apri uno stile JSON dal tuo computer.", - "Open Layers (experimental)": "Apri livelli (sperimentale)", + "OpenLayers (experimental)": "OpenLayers (sperimentale)", "Open local Style": "Apri stile locale", "Open modal": "Apri finestra modale", "Open one of the publicly available styles to start from.": "Apro uno degli stili pubblici a partire da.", diff --git a/src/locales/ja/translation.json b/src/locales/ja/translation.json index 8390a346..9a9a781f 100644 --- a/src/locales/ja/translation.json +++ b/src/locales/ja/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "グローバルステート変数が定義されていません。スタイルで再利用可能な値を作成するには、変数を追加してください。", "Open": "開く", "Open a local JSON style from your computer.": "コンピュータからローカルJSONスタイルを開きます。", - "Open Layers (experimental)": "Open Layers (実験的)", + "OpenLayers (experimental)": "OpenLayers (実験的)", "Open local Style": "ローカルスタイルを開く", "Open modal": "モーダルを開く", "Open one of the publicly available styles to start from.": "公開スタイルを選んで開始しましょう。", diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index 62f28388..6452e84a 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "전역 상태 변수가 정의되지 않았습니다. 스타일에서 재사용 가능한 값을 생성하려면 변수를 추가하세요.", "Open": "열기", "Open a local JSON style from your computer.": "컴퓨터에서 로컬 JSON 스타일을 엽니다.", - "Open Layers (experimental)": "레이어 열기 (실험적)", + "OpenLayers (experimental)": "OpenLayers (실험적)", "Open local Style": "로컬 스타일 열기", "Open modal": "모달 열기", "Open one of the publicly available styles to start from.": "공개 스타일 중 하나를 선택하여 시작하세요.", diff --git a/src/locales/tr/translation.json b/src/locales/tr/translation.json index 773aff6b..e3b175e5 100644 --- a/src/locales/tr/translation.json +++ b/src/locales/tr/translation.json @@ -122,7 +122,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "Genel durum değişkeni tanımlanmadı. Stilinizde yeniden kullanılabilir değerler oluşturmak için değişken ekleyin.", "Open": "Aç", "Open a local JSON style from your computer.": "Bilgisayarınızdan yerel bir JSON stili açın.", - "Open Layers (experimental)": "Open Layers (deneysel)", + "OpenLayers (experimental)": "OpenLayers (deneysel)", "Open local Style": "Yerel Stili Aç", "Open modal": "Modalı aç", "Open one of the publicly available styles to start from.": "Başlamak için herkese açık stillerden birini açın.", diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index 0c531bf5..b051af3e 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -121,7 +121,7 @@ "No global state variables defined. Add variables to create reusable values in your style.": "未定义全局状态变量。添加变量以在样式中创建可重用的值。", "Open": "打开", "Open a local JSON style from your computer.": "从您的计算机打开本地JSON样式。", - "Open Layers (experimental)": "开放图层(实验性)", + "OpenLayers (experimental)": "OpenLayers(实验性)", "Open local Style": "打开本地样式", "Open modal": "打开模态框", "Open one of the publicly available styles to start from.": "打开一个公开可用的样式开始。", From 01bd751d5f978a5c2c44857d8f441c35701852a7 Mon Sep 17 00:00:00 2001 From: John Carmack Date: Fri, 4 Sep 2026 13:55:48 -0700 Subject: [PATCH 16/37] ci: keep the CodeQL actions on one version (#2133) CodeQL has been failing on main since #2105: `init` is on v4.37.9 while `autobuild` and `analyze` are on v4.37.8, and the action rejects a config written by a newer version ("Loaded a configuration file for version '4.37.9', but running version '4.37.8'"). Dependabot bumps the three steps in separate pull requests, so #2119 and #2120 each still fail on their own and main has gone red at every partial bump (08-19, 08-28, today). This moves the two steps to v4.37.9, the same commit dependabot picked in #2119 and #2120, and groups `github/codeql-action*` in dependabot so the three bump together from now on. Supersedes #2119 and #2120. ## Launch Checklist - [x] Briefly describe the changes in this PR. - [ ] Add an entry to `CHANGELOG.md` under the `## main` section (not applicable, CI only). --- .github/dependabot.yml | 4 ++++ .github/workflows/codeql-analysis.yml | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2a73bc43..03f68d2d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -31,6 +31,10 @@ updates: directory: "/" schedule: interval: "daily" + groups: + codeql-action: + patterns: + - "github/codeql-action*" cooldown: default-days: 3 # no semver support for github-actions diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 1739fad9..08d8f307 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -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@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8 + uses: github/codeql-action/autobuild@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 # ℹ️ 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@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8 + uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 From fce879bfaaef541515b9df683d6d3f367f34e36d Mon Sep 17 00:00:00 2001 From: John Carmack Date: Fri, 4 Sep 2026 14:19:04 -0700 Subject: [PATCH 17/37] ci: cancel superseded pull request runs (#2132) --- .github/workflows/ci.yml | 4 ++++ .github/workflows/codeql-analysis.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec5a8c05..7515d866 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,10 @@ on: push: branches: [ main ] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build-node: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 08d8f307..e228bd18 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -20,6 +20,10 @@ on: schedule: - cron: '17 0 * * 6' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: analyze: name: Analyze From 64b4e5a67c8f8cf897a086064df62f056d59db03 Mon Sep 17 00:00:00 2001 From: Jamal Ali Date: Sat, 5 Sep 2026 20:23:39 +0400 Subject: [PATCH 18/37] feat(i18n): add Azerbaijani language support and translations (#2134) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Launch Checklist - [x] Adds Azerbaijani (`az`) as a supported UI language, following the same pattern as the existing Turkish (`tr`) locale. - [x] `src/locales/az/translation.json` — full translation, 202 keys (matches `tr`/`de` key set exactly). - [x] Registered `az` in `i18next.config.ts` (`locales` array) and `src/i18n.ts` (`supportedLanguages`), alphabetically ordered. - [x] Added `az` row to the `src/locales/README.md` contributors table. - [ ] Link to related issues. - [ ] Include before/after visuals or gifs if this PR includes visual changes. (N/A — translation-only change, no UI layout changes.) - [ ] Write tests for all new functionality. (N/A — no new functionality, translation strings only.) - [ ] Add an entry to `CHANGELOG.md` under the `## main` section. (Not done — the prior Turkish locale PR (#1886) did not add a CHANGELOG entry either, so following existing precedent.) Terminology used consistently throughout: Layer → Qat, Style → Üslub, Source → Mənbə, Zoom → Yaxınlaşma, Filter → Süzgəc. --- i18next.config.ts | 2 +- src/i18n.ts | 1 + src/locales/README.md | 1 + src/locales/az/translation.json | 204 ++++++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+), 1 deletion(-) create mode 100644 src/locales/az/translation.json diff --git a/i18next.config.ts b/i18next.config.ts index d71d175b..5c98c307 100644 --- a/i18next.config.ts +++ b/i18next.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from "i18next-cli"; export default defineConfig({ - locales: ["de", "fr", "he", "it", "ja", "ko", "tr", "zh"], + locales: ["az", "de", "fr", "he", "it", "ja", "ko", "tr", "zh"], extract: { input: ["src/**/*.{js,jsx,ts,tsx}"], output: "src/locales/{{language}}/{{namespace}}.json", diff --git a/src/i18n.ts b/src/i18n.ts index 8d0030c1..3997763b 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -4,6 +4,7 @@ import resourcesToBackend from "i18next-resources-to-backend"; import { initReactI18next } from "react-i18next"; export const supportedLanguages = { + "az": "Azərbaycan", "de": "Deutsch", "en": "English", "fr": "Français", diff --git a/src/locales/README.md b/src/locales/README.md index 05542f0f..2a4d1a0b 100644 --- a/src/locales/README.md +++ b/src/locales/README.md @@ -46,6 +46,7 @@ The following users can help you with the relevant languages: | ISO Code | Language | User | |----------|--------------------|--------------------------------------------| +| az | Azerbaijani | [@jamalkamaladdin](https://github.com/jamalkamaladdin) | | de | German | [@josxha](https://github.com/josxha) | | en | English | [@HarelM](https://github.com/HarelM) | | fr | French | [@lhapaipai](https://github.com/lhapaipai) | diff --git a/src/locales/az/translation.json b/src/locales/az/translation.json new file mode 100644 index 00000000..0de21f00 --- /dev/null +++ b/src/locales/az/translation.json @@ -0,0 +1,204 @@ +{ + "<0>Open in OSM. Opens the current view on openstreetmap.org": "<0>OSM-də aç. Cari görünüşü openstreetmap.org saytında açır", + "Achromatopsia filter": "Axromatopsiya süzgəci", + "Active Sources": "Aktiv Mənbələr", + "Add a new source to your style. You can only choose the source type and id at creation time!": "Üslubunuza yeni mənbə əlavə edin. Mənbə növünü və ID-ni yalnız yaradılma zamanı seçə bilərsiniz!", + "Add filter": "Süzgəc əlavə et", + "Add Layer": "Qat Əlavə Et", + "Add New Source": "Yeni Mənbə Əlavə Et", + "Add one of the publicly available sources to your style.": "Üslubunuza ictimai mənbələrdən birini əlavə edin.", + "Add Source": "Mənbə Əlavə Et", + "Add stop": "Dayanacaq əlavə et", + "Add value": "Dəyər əlavə et", + "Add Variable": "Dəyişən Əlavə Et", + "any filter matches": "istənilən süzgəc uyğun gəlirsə", + "API key for Stadia Maps.": "Stadia Maps üçün API açarı.", + "Base": "Baza", + "Bearing": "İstiqamət", + "Cancel": "Ləğv et", + "Center": "Mərkəz", + "Choose Public Source": "İctimai Mənbə Seç", + "Choose the default Maputnik renderer for this style.": "Bu üslub üçün defolt Maputnik renderer-ini seçin.", + "Click to close the editor": "Redaktoru bağlamaq üçün klikləyin", + "Close": "Bağla", + "Close modal": "Modalı bağla", + "Close popup": "Popapı bağla", + "Cluster": "Klaster", + "Code Editor": "Kod Redaktoru", + "Collapse": "Yığ", + "Color accessibility": "Rəng əlçatanlığı", + "Comment...": "Şərh...", + "Comments": "Şərhlər", + "Comments for the current layer. This is non-standard and not in the spec.": "Cari qat üçün şərhlər. Bu, standart deyil və spesifikasiyada yoxdur.", + "Convert property into a elevation function": "Xassəni hündürlük funksiyasına çevir", + "Convert property into a zoom function": "Xassəni yaxınlaşma funksiyasına çevir", + "Convert property to data function": "Xassəni məlumat funksiyasına çevir", + "Convert to expression": "İfadəyə çevir", + "Coord bottom left": "Koordinat aşağı sol", + "Coord bottom right": "Koordinat aşağı sağ", + "Coord top left": "Koordinat yuxarı sol", + "Coord top right": "Koordinat yuxarı sağ", + "CORS policy won't allow fetching resources served over http from https, use a <1>https:// domain": "CORS siyasəti https-dən http üzərindən verilən resursların alınmasına icazə vermir, <1>https:// domenindən istifadə edin", + "Create HTML": "HTML Yarat", + "Data Sources": "Məlumat Mənbələri", + "Data Sources modal": "Məlumat Mənbələri modalı", + "Data value": "Məlumat dəyəri", + "Debug": "Sazlama", + "Debug modal": "Sazlama modalı", + "Decrease the pitch by 10 degrees.": "Meyli 10 dərəcə azalt.", + "Decrease the rotation by 15 degrees.": "Fırlanmanı 15 dərəcə azalt.", + "Decrease the zoom level by 1.": "Yaxınlaşma səviyyəsini 1 azalt.", + "Decrease the zoom level by 2.": "Yaxınlaşma səviyyəsini 2 azalt.", + "Default": "Defolt", + "Delete": "Sil", + "Delete expression": "İfadəni sil", + "Delete filter block": "Süzgəc blokunu sil", + "Deuteranopia filter": "Deuteranopiya süzgəci", + "Drag and drop a style JSON file here or click to browse": "Üslub JSON faylını buraya sürükləyib buraxın və ya seçmək üçün klikləyin", + "Duplicate": "Dublikat et", + "Encoding": "Kodlaşdırma", + "Enter URL...": "URL daxil edin...", + "every filter matches": "bütün süzgəclər uyğun gəlirsə", + "Expand": "Genişlət", + "Export modal": "İxrac modalı", + "Filter": "Süzgəc", + "Focus map": "Xəritəyə fokuslan", + "Function": "Funksiya", + "Gallery Styles": "Qalereya Üslubları", + "General layout properties": "Ümumi düzülüş xassələri", + "GeoJSON": "GeoJSON", + "GeoJSON (JSON)": "GeoJSON (JSON)", + "GeoJSON (URL)": "GeoJSON (URL)", + "GeoJSON URL": "GeoJSON URL", + "Global State": "Qlobal Vəziyyət", + "Global State Variables": "Qlobal Vəziyyət Dəyişənləri", + "Glyphs URL": "Şriftlər URL-i", + "Help": "Kömək", + "Hide": "Gizlət", + "Icon layout properties": "İkon düzülüş xassələri", + "Icon paint properties": "İkon boyama xassələri", + "If the Map is in focused you can use the following shortcuts": "Xəritə fokusdadırsa aşağıdakı qısayollardan istifadə edə bilərsiniz", + "Image": "Şəkil", + "Image URL": "Şəkil URL-i", + "Increase the pitch by 10 degrees.": "Meyli 10 dərəcə artır.", + "Increase the rotation by 15 degrees.": "Fırlanmanı 15 dərəcə artır.", + "Increase the zoom level by 1.": "Yaxınlaşma səviyyəsini 1 artır.", + "Increase the zoom level by 2.": "Yaxınlaşma səviyyəsini 2 artır.", + "Input a data property to base styles off of.": "Üslubların əsaslanacağı məlumat xassəsini daxil edin.", + "Input value": "Giriş dəyəri", + "Inspect": "Yoxla", + "JSON Editor": "JSON Redaktoru", + "Key": "Açar", + "Layer": "Qat", + "Layer editor": "Qat redaktoru", + "Layer ID already exists": "Qat ID artıq mövcuddur", + "Layers": "Qatlar", + "Layers list": "Qatlar siyahısı", + "Layout properties": "Düzülüş xassələri", + "Learn More": "Ətraflı Öyrən", + "Light anchor": "İşıq lövbəri", + "Light color": "İşıq rəngi", + "Light intensity": "İşıq intensivliyi", + "Light position": "İşıq mövqeyi", + "Links": "Keçidlər", + "Load from a URL. Note that the URL must have <1>CORS enabled.": "URL-dən yüklə. Qeyd edin ki, URL-də <1>CORS aktiv olmalıdır.", + "Load from URL": "URL-dən yüklə", + "Loading": "Yüklənir", + "Loading style": "Üslub yüklənir", + "LocationIQ Access Token": "LocationIQ Giriş Tokeni", + "Map": "Xəritə", + "Map view": "Xəritə görünüşü", + "MapTiler Access Token": "MapTiler Giriş Tokeni", + "Maputnik on GitHub": "GitHub-da Maputnik", + "Max Zoom": "Maks. Yaxınlaşma", + "Min Zoom": "Min. Yaxınlaşma", + "Move layer down": "Qatı aşağı köçür", + "Move layer up": "Qatı yuxarı köçür", + "Must provide protocol: <1>http:// or <3>https://": "Protokol göstərilməlidir: <1>http:// və ya <3>https://", + "Must provide protocol: <1>https://": "Protokol göstərilməlidir: <1>https://", + "Name": "Ad", + "Nested filters are not supported.": "İç-içə süzgəclər dəstəklənmir.", + "no filter matches": "heç bir süzgəc uyğun gəlmirsə", + "No global state variables defined. Add variables to create reusable values in your style.": "Heç bir qlobal vəziyyət dəyişəni təyin edilməyib. Üslubunuzda təkrar istifadə oluna bilən dəyərlər yaratmaq üçün dəyişən əlavə edin.", + "Open": "Aç", + "Open a local JSON style from your computer.": "Kompüterinizdən yerli JSON üslubunu açın.", + "OpenLayers (experimental)": "OpenLayers (eksperimental)", + "Open local Style": "Yerli Üslubu Aç", + "Open modal": "Modalı aç", + "Open one of the publicly available styles to start from.": "Başlamaq üçün ictimai üslublardan birini açın.", + "Open Style": "Üslubu Aç", + "Options": "Seçimlər", + "Output value": "Çıxış dəyəri", + "Owner": "Sahib", + "Owner ID of the style. Used by Mapbox or future style APIs.": "Üslubun sahib ID-si. Mapbox və ya gələcək üslub API-ləri tərəfindən istifadə olunur.", + "Paint properties": "Boyama xassələri", + "Pan down by 100 pixels.": "100 piksel aşağı sürüşdür.", + "Pan left by 100 pixels.": "100 piksel sola sürüşdür.", + "Pan right by 100 pixels.": "100 piksel sağa sürüşdür.", + "Pan up by 100 pixels.": "100 piksel yuxarı sürüşdür.", + "Pitch": "Meyl", + "PMTiles URL": "PMTiles URL", + "Press <1>ESC to lose focus of any active elements, then press one of:": "İstənilən aktiv elementin fokusunu itirmək üçün <1>ESC düyməsini basın, sonra bunlardan birini basın:", + "Projection": "Proyeksiya", + "Protanopia filter": "Protanopiya süzgəci", + "Public access token for LocationIQ services.": "LocationIQ xidmətləri üçün ictimai giriş tokeni.", + "Public access token for MapTiler Cloud.": "MapTiler Cloud üçün ictimai giriş tokeni.", + "Public access token for Thunderforest services.": "Thunderforest xidmətləri üçün ictimai giriş tokeni.", + "Raster (Tile URLs)": "Rastr (Kafel URL-ləri)", + "Raster (TileJSON URL)": "Rastr (TileJSON URL)", + "Raster DEM (TileJSON URL)": "Rastr DEM (TileJSON URL)", + "Raster DEM (XYZ URLs)": "Rastr DEM (XYZ URL-ləri)", + "Remove '{{sourceId}}' source": "'{{sourceId}}' mənbəsini sil", + "Remove array item": "Massiv elementini sil", + "Remove variable": "Dəyişəni sil", + "Remove zoom level from stop": "Dayanacaqdan yaxınlaşma səviyyəsini sil", + "Revert from expression": "İfadədən geri qaytar", + "Save": "Yadda saxla", + "Save as": "Fərqli yadda saxla", + "Save Style": "Üslubu Yadda Saxla", + "Save the JSON style to your computer.": "JSON üslubunu kompüterinizə yadda saxlayın.", + "Scheme Type": "Sxem Növü", + "Search": "Axtar", + "Select a type of data scale (default is 'categorical').": "Məlumat şkalasının növünü seçin (defolt 'categorical'dır).", + "Shortcuts": "Qısayollar", + "Shortcuts menu": "Qısayollar menyusu", + "Show": "Göstər", + "Source": "Mənbə", + "Source ID": "Mənbə ID", + "Source Layer": "Mənbə Qatı", + "Source Type": "Mənbə Növü", + "Sources": "Mənbələr", + "Sprite URL": "Sprite URL-i", + "Stadia Maps API Key": "Stadia Maps API Açarı", + "Stops": "Dayanacaqlar", + "Style Renderer": "Üslub Renderer-i", + "Style Settings": "Üslub Parametrləri", + "Style Settings modal": "Üslub Parametrləri modalı", + "Style URL": "Üslub URL-i", + "Switch to filter editor.": "Süzgəc redaktoruna keç.", + "switch to layer": "qata keç", + "Terrain exaggeration": "Relyef şişirdilməsi", + "Terrain source": "Relyef mənbəyi", + "Text layout properties": "Mətn düzülüş xassələri", + "Text paint properties": "Mətn boyama xassələri", + "Thunderforest Access Token": "Thunderforest Giriş Tokeni", + "Tile Size": "Kafel Ölçüsü", + "Tile URL": "Kafel URL-i", + "TileJSON URL": "TileJSON URL", + "Toggle inspect": "Yoxlamanı aç/bağla", + "Transition delay": "Keçid gecikməsi", + "Transition duration": "Keçid müddəti", + "Tritanopia filter": "Tritanopiya süzgəci", + "Type": "Növ", + "Unique ID that identifies the source and is used in the layer to reference the source.": "Mənbəni müəyyən edən və qatda mənbəyə istinad üçün istifadə olunan unikal ID.", + "Upgrade to expression": "İfadəyə yüksəlt", + "Value": "Dəyər", + "Vector (PMTiles)": "Vektor (PMTiles)", + "Vector (Tile URLs)": "Vektor (Kafel URL-ləri)", + "Vector (TileJSON URL)": "Vektor (TileJSON URL)", + "Video": "Video", + "Video URL": "Video URL-i", + "View": "Görünüş", + "You've entered an old style filter.": "Köhnə üslub süzgəci daxil etmisiniz.", + "Zoom": "Yaxınlaşma" +} From c0f76dfff80039bd498859b41d02e4b44cc4d426 Mon Sep 17 00:00:00 2001 From: Jamal Ali Date: Sun, 6 Sep 2026 01:12:24 +0400 Subject: [PATCH 19/37] fix(layer-list): title visibility button with the action it performs (#2135) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixes #1675 ## Problem In the layer list, the show/hide button's `title` tooltip named the layer's current visibility instead of what a click does. A visible layer's button read `show` while clicking it hides the layer, and a hidden layer's button read `hide` while clicking it shows the layer — exactly reversed. `LayerListItem.tsx` derived a single value from the layer state: ```ts const visibilityAction = visibility === "visible" ? "show" : "hide"; ``` and passed it to `IconAction` as `action`, which `IconAction` used for three different things: choosing the icon, building the `--show`/`--hide` CSS modifier, and rendering `title={this.props.action}`. The first two are correct as a state indicator; only the tooltip needs the opposite verb. ## Change - `IconAction` gets an optional `title` prop and falls back to `action` when it is not given, so the delete and duplicate buttons are unchanged. - `LayerListItem` keeps `visibilityAction` (icon + `maputnik-layer-list-icon-action__visibility--hide` CSS modifier, which `_layer.scss` relies on to keep the button visible for hidden layers) and adds `visibilityTitle` for the inverted tooltip. No icon, class name or click behaviour changes. ## Test New regression test in `e2e/layers-list.spec.ts`: it asserts the button is titled `hide` while the layer is visible, clicks it, and asserts it is titled `show` once the layer is hidden. Against the unpatched component the first assertion fails with `Expected: "hide"` / `Received: "show"`, reproducing the reported behaviour. `npm run lint`, `npx tsc --noEmit`, `npx vitest run` (50 tests) and `npx playwright test e2e/layers-list.spec.ts` (28 tests) all pass. ## Note The tooltips in this component (`delete`, `duplicate`, `show`, `hide`) are plain English literals and are not run through `t()` today, so this change keeps them as-is rather than introducing translation keys for one button. Also worth flagging separately: these buttons carry `aria-hidden="true"`, so the `title` never reaches assistive technology at all — out of scope here, but it means the label is a mouse-hover tooltip only. --- e2e/layers-list.spec.ts | 10 +++++++++- src/components/LayerListItem.tsx | 12 ++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/e2e/layers-list.spec.ts b/e2e/layers-list.spec.ts index 56c3529b..85cdd4a1 100644 --- a/e2e/layers-list.spec.ts +++ b/e2e/layers-list.spec.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, test } from "./utils/fixtures"; +import { beforeEach, describe, expect, test } from "./utils/fixtures"; import { MaputnikDriver } from "./maputnik-driver"; describe("layers list", () => { @@ -47,6 +47,14 @@ describe("layers list", () => { }); }); + test("should title the visibility button with the action it performs", async () => { + const key = "layer-list-item:" + id + ":toggle-visibility"; + // A visible layer is about to be hidden, and a hidden one to be shown. + await expect(get.elementByTestId(key)).toHaveAttribute("title", "hide"); + await when.click(key); + await expect(get.elementByTestId(key)).toHaveAttribute("title", "show"); + }); + describe("when clicking hide", () => { beforeEach(async () => { await when.click("layer-list-item:" + id + ":toggle-visibility"); diff --git a/src/components/LayerListItem.tsx b/src/components/LayerListItem.tsx index 94fd1f95..f4d9d475 100644 --- a/src/components/LayerListItem.tsx +++ b/src/components/LayerListItem.tsx @@ -32,6 +32,8 @@ const DraggableLabel: React.FC = (props) => { type IconActionProps = { action: string + /** Tooltip text, for buttons whose action reads differently from their icon. */ + title?: string onClick(...args: unknown[]): unknown wdKey?: string classBlockName?: string @@ -62,7 +64,7 @@ class IconAction extends React.Component { return