Files
editor/package.json
T
dependabot[bot] c64452c1bd chore(deps): Bump i18next from 26.5.3 to 26.5.6 (#2264)
Bumps [i18next](https://github.com/i18next/i18next) from 26.5.3 to
26.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v26.5.6</h2>
<ul>
<li>fix: <code>cloneInstance({ forkResourceStore: true })</code> now
copies the resources at every level. It copied them only down to the
namespace objects, so nested keys and arrays stayed shared with the
original instance: <code>addResource()</code> with a nested key
(<code>fork.addResource('en', 'translation', 'greeting.hello',
'Hi')</code>) or a deep <code>addResourceBundle()</code> on the fork
also changed the original instance and every other fork. Flat keys were
already isolated. Forking a large store takes a bit longer: with 300k
keys in nested groups, about 11 ms instead of 3 ms per fork. Clones
without <code>forkResourceStore</code> still share the store as before.
Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2456">#2456</a>,
follow-up to <a
href="https://redirect.github.com/i18next/i18next/issues/2270">#2270</a>).</li>
</ul>
<h2>v26.5.5</h2>
<ul>
<li>fix: with the default <code>skipOnVariables: true</code>, a
<code>{{placeholder}}</code> inside a value inserted with an unescaped
<code>{{- var}}</code> now stays literal, as it already did for
<code>{{var}}</code>. The escape pass ran after the unescaped values
were written and scanned them again, so <code>t('{{- a}}', { a: '{{b}}',
b: 'c' })</code> returned <code>'c'</code> instead of
<code>'{{b}}'</code>. With pre-built HTML that carries user text, like
<code>t('You may contact {{name}} at {{- emailHTML}}.', { name,
emailHTML })</code>, that text could pull another variable of the same
<code>t()</code> call into the output. Results with
<code>skipOnVariables: false</code>, and values without placeholders,
are unchanged. Compatibility note: a <code>{{- var}}</code> value whose
placeholders were meant to be filled from the same <code>t()</code> call
now keeps them literally; <code>skipOnVariables: false</code> restores
the old behavior. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2455">#2455</a>,
reported in <a
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814611747">#1595</a>).</li>
</ul>
<h2>v26.5.4</h2>
<ul>
<li>fix: with the default <code>skipOnVariables: true</code>, a
<code>{{placeholder}}</code> inside an interpolated value now stays
literal also when the same placeholder appears later in the translation.
Each value was written with <code>String.replace</code>, which replaces
the first copy of the placeholder text, and that could be the copy
inside an earlier value: <code>t('{{name}} has {{count}} items', { name:
'{{count}}', count: 5 })</code> returned <code>'5 has {{count}}
items'</code> instead of <code>'{{count}} has 5 items'</code>. The value
is now written at the position of the matched placeholder. Results with
<code>skipOnVariables: false</code> are unchanged. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2454">#2454</a>,
reported in <a
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814609503">#1595</a>).</li>
<li>fix: with <code>useRawValueToEscape: true</code>, a non-string value
in an unescaped <code>{{- var}}</code> placeholder or with
<code>escapeValue: false</code> no longer throws <code>val.replace is
not a function</code>; it is converted to a string like any other
value.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>26.5.6</h2>
<ul>
<li>fix: <code>cloneInstance({ forkResourceStore: true })</code> now
copies the resources at every level. It copied them only down to the
namespace objects, so nested keys and arrays stayed shared with the
original instance: <code>addResource()</code> with a nested key
(<code>fork.addResource('en', 'translation', 'greeting.hello',
'Hi')</code>) or a deep <code>addResourceBundle()</code> on the fork
also changed the original instance and every other fork. Flat keys were
already isolated. Forking a large store takes a bit longer: with 300k
keys in nested groups, about 11 ms instead of 3 ms per fork. Clones
without <code>forkResourceStore</code> still share the store as before.
Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2456">#2456</a>,
follow-up to <a
href="https://redirect.github.com/i18next/i18next/issues/2270">#2270</a>).</li>
</ul>
<h2>26.5.5</h2>
<ul>
<li>fix: with the default <code>skipOnVariables: true</code>, a
<code>{{placeholder}}</code> inside a value inserted with an unescaped
<code>{{- var}}</code> now stays literal, as it already did for
<code>{{var}}</code>. The escape pass ran after the unescaped values
were written and scanned them again, so <code>t('{{- a}}', { a: '{{b}}',
b: 'c' })</code> returned <code>'c'</code> instead of
<code>'{{b}}'</code>. With pre-built HTML that carries user text, like
<code>t('You may contact {{name}} at {{- emailHTML}}.', { name,
emailHTML })</code>, that text could pull another variable of the same
<code>t()</code> call into the output. Results with
<code>skipOnVariables: false</code>, and values without placeholders,
are unchanged. Compatibility note: a <code>{{- var}}</code> value whose
placeholders were meant to be filled from the same <code>t()</code> call
now keeps them literally; <code>skipOnVariables: false</code> restores
the old behavior. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2455">#2455</a>,
reported in <a
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814611747">#1595</a>).</li>
</ul>
<h2>26.5.4</h2>
<ul>
<li>fix: with the default <code>skipOnVariables: true</code>, a
<code>{{placeholder}}</code> inside an interpolated value now stays
literal also when the same placeholder appears later in the translation.
Each value was written with <code>String.replace</code>, which replaces
the first copy of the placeholder text, and that could be the copy
inside an earlier value: <code>t('{{name}} has {{count}} items', { name:
'{{count}}', count: 5 })</code> returned <code>'5 has {{count}}
items'</code> instead of <code>'{{count}} has 5 items'</code>. The value
is now written at the position of the matched placeholder. Results with
<code>skipOnVariables: false</code> are unchanged. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2454">#2454</a>,
reported in <a
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814609503">#1595</a>).</li>
<li>fix: with <code>useRawValueToEscape: true</code>, a non-string value
in an unescaped <code>{{- var}}</code> placeholder or with
<code>escapeValue: false</code> no longer throws <code>val.replace is
not a function</code>; it is converted to a string like any other
value.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/i18next/i18next/commit/82894c159845c3675fb6540db52a4144abbd5d4a"><code>82894c1</code></a>
26.5.6</li>
<li><a
href="https://github.com/i18next/i18next/commit/343080da6802c0badb2fe1032139d49af93d9774"><code>343080d</code></a>
build</li>
<li><a
href="https://github.com/i18next/i18next/commit/8e2eebb132aaccfb752990b6cc61cbfd7d835764"><code>8e2eebb</code></a>
changelog for 26.5.6</li>
<li><a
href="https://github.com/i18next/i18next/commit/822a37bc57f50b4a476aa630f864d3ed1f88a7e9"><code>822a37b</code></a>
fix: copy nested resources when cloning with forkResourceStore (<a
href="https://redirect.github.com/i18next/i18next/issues/2456">#2456</a>)</li>
<li><a
href="https://github.com/i18next/i18next/commit/744c5cb41a19f52ae08d1a71c2d9ceca6525dc1d"><code>744c5cb</code></a>
26.5.5</li>
<li><a
href="https://github.com/i18next/i18next/commit/de5960eee00d9db2a7c1b452d6ce9231c16b6474"><code>de5960e</code></a>
build</li>
<li><a
href="https://github.com/i18next/i18next/commit/fbe16f3429273f2f9c1fe9736f4590fa2e8253a5"><code>fbe16f3</code></a>
changelog for 26.5.5</li>
<li><a
href="https://github.com/i18next/i18next/commit/67b4ae194ed4a1af083119f77daba48f1c295f1d"><code>67b4ae1</code></a>
fix: keep placeholders inside unescaped values literal (<a
href="https://redirect.github.com/i18next/i18next/issues/2455">#2455</a>)</li>
<li><a
href="https://github.com/i18next/i18next/commit/aadd75ba9e88a20b34b7f44798d4e3bd8ec71baa"><code>aadd75b</code></a>
26.5.4</li>
<li><a
href="https://github.com/i18next/i18next/commit/a43c43286a381bbae144c04de9f8056f464c7cd9"><code>a43c432</code></a>
build</li>
<li>Additional commits viewable in <a
href="https://github.com/i18next/i18next/compare/v26.5.3...v26.5.6">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 14:26:02 +00:00

153 lines
5.0 KiB
JSON

{
"name": "maputnik",
"version": "3.1.0",
"description": "A MapLibre GL visual style editor",
"type": "module",
"main": "''",
"scripts": {
"copy-rtl-text-plugin": "mkdir -p public && cp -p node_modules/@mapbox/mapbox-gl-rtl-text/dist/mapbox-gl-rtl-text.js public/",
"start": "npm run copy-rtl-text-plugin && vite",
"build": "npm run copy-rtl-text-plugin && tsc && vite build --mode=production",
"build-desktop": "npm run copy-rtl-text-plugin && tsc && vite build --mode=desktop && cd desktop && make",
"build-linux": "npm run copy-rtl-text-plugin && tsc && vite build --mode=desktop && cd desktop && make bin/linux/maputnik",
"i18n:extract": "npx i18next-cli extract",
"lint": "eslint",
"test": "playwright test",
"test-e2e": "playwright test",
"test-unit": "vitest",
"test-unit-ci": "vitest run --coverage --reporter=json",
"lint-css": "stylelint \"src/styles/*.scss\"",
"sort-styles": "jq 'sort_by(.id)' src/config/styles.json > tmp.json && mv tmp.json src/config/styles.json"
},
"repository": {
"type": "git",
"url": "https://github.com/maplibre/maputnik"
},
"author": "Lukas Martinelli",
"license": "MIT",
"homepage": "https://github.com/maplibre/maputnik#readme",
"dependencies": {
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lint": "^6.9.7",
"@codemirror/state": "^6.7.6",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.43.15",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@mapbox/mapbox-gl-rtl-text": "^0.4.0",
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
"@maplibre/maplibre-gl-inspect": "^1.9.0",
"@maplibre/maplibre-gl-style-spec": "^26.4.4",
"array-move": "^4.0.0",
"buffer": "^6.0.3",
"classnames": "^2.5.1",
"codemirror": "^6.0.2",
"color": "^5.0.3",
"detect-browser": "^5.3.0",
"downshift": "^9.4.0",
"events": "^3.3.0",
"file-saver": "^2.0.5",
"i18next": "^26.5.6",
"i18next-browser-languagedetector": "^8.2.1",
"i18next-resources-to-backend": "^1.2.3",
"json-stringify-pretty-compact": "^4.0.0",
"json-to-ast": "^2.1.0",
"lodash": "^4.18.1",
"lodash.capitalize": "^4.2.1",
"lodash.clamp": "^4.0.3",
"lodash.clonedeep": "^4.5.0",
"lodash.get": "^4.4.2",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"maplibre-gl": "^6.15.0",
"maputnik-design": "github:maputnik/design#172b06c",
"ol": "^10.11.0",
"ol-mapbox-style": "^13.8.0",
"pmtiles": "^4.5.0",
"prop-types": "^15.8.1",
"react": "^19.3.1",
"react-accessible-accordion": "^5.0.1",
"react-aria-menubutton": "^8.0.0",
"react-aria-modal": "^5.0.2",
"react-collapse": "^5.1.1",
"react-color": "^2.19.3",
"react-dom": "^19.3.1",
"react-i18next": "^17.1.4",
"react-icons": "^5.7.0",
"react-markdown": "^10.1.0",
"react-resizable-panels": "^4.14.8",
"reconnecting-websocket": "^4.4.0",
"slugify": "^1.6.9",
"string-hash": "^1.1.3",
"url": "^0.11.4"
},
"jshintConfig": {
"esversion": 6
},
"stylelint": {
"extends": "stylelint-config-recommended-scss",
"rules": {
"no-descending-specificity": null,
"media-feature-name-no-unknown": [
true,
{
"ignoreMediaFeatureNames": [
"prefers-reduced-motion"
]
}
]
}
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
"@playwright/test": "^1.64.1",
"@stylistic/eslint-plugin": "^5.10.0",
"@types/codemirror": "^5.60.18",
"@types/color": "^4.2.1",
"@types/cors": "^2.8.19",
"@types/file-saver": "^2.0.7",
"@types/geojson": "^7946.0.16",
"@types/json-to-ast": "^2.1.4",
"@types/lodash.capitalize": "^4.2.9",
"@types/lodash.clamp": "^4.0.9",
"@types/lodash.clonedeep": "^4.5.9",
"@types/lodash.get": "^4.4.9",
"@types/lodash.isequal": "^4.5.8",
"@types/lodash.throttle": "^4.1.9",
"@types/randomcolor": "^0.5.9",
"@types/react": "^19.3.0",
"@types/react-aria-menubutton": "^6.2.14",
"@types/react-aria-modal": "^5.0.0",
"@types/react-collapse": "^5.0.4",
"@types/react-color": "^3.0.13",
"@types/react-dom": "^19.3.0",
"@types/string-hash": "^1.1.3",
"@types/wicg-file-system-access": "^2023.10.7",
"@vitejs/plugin-react": "^6.1.2",
"@vitest/coverage-v8": "^5.0.5",
"cors": "^2.8.6",
"eslint": "^10.13.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.7",
"i18next-cli": "^1.80.0",
"istanbul": "^0.4.5",
"istanbul-lib-coverage": "^3.2.2",
"nyc": "^18.0.0",
"postcss": "^8.5.31",
"react-hot-loader": "^4.13.1",
"sass": "^1.106.1",
"stylelint": "^17.16.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-scss": "^7.3.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.72.0",
"uuid": "^14.0.3",
"vite": "^8.3.5",
"vite-plugin-istanbul": "^9.0.1",
"vitest": "^5.0.5"
}
}