mirror of
https://github.com/maputnik/editor.git
synced 2026-07-08 23:17:26 +00:00
a87a4d8df8
Bumps [i18next-cli](https://github.com/i18next/i18next-cli) from 1.53.2 to 1.65.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/i18next/i18next-cli/blob/main/CHANGELOG.md">i18next-cli's changelog</a>.</em></p> <blockquote> <h2>1.65.0</h2> <ul> <li>fix(extract): respect <code>fallbackNS</code> — keys already translated in a fallback namespace are no longer duplicated into the requesting namespace's file (<a href="https://redirect.github.com/i18next/i18next-cli/issues/272">#272</a>). <ul> <li>Such keys are now attributed to the fallback namespace instead, so <code>removeUnusedKeys</code> no longer prunes them from the fallback file (previously a key like <code>cancel</code> living only in the fallback namespace was <strong>deleted</strong> there and re-created in every namespace that used it).</li> <li>A key that already has a non-empty value in the requesting namespace's own file is treated as an intentional per-namespace override and keeps being extracted there, mirroring the i18next runtime lookup order (requested namespace first, then the fallback chain). Empty-string placeholders left behind by previous extract runs are cleaned up.</li> <li>Keys not found in any fallback namespace are still added to the requesting namespace, like the i18next <code>saveMissing</code> behavior.</li> </ul> </li> <li>feat(extract): <code>fallbackNS</code> now also accepts an array of namespaces (looked up in order, like the i18next runtime option) — supported by <code>extract</code>, <code>status</code>, and the TypeScript types generator.</li> </ul> <h2>1.64.2</h2> <ul> <li>fix(status): scope the pass/fail result to the requested locale (<a href="https://redirect.github.com/i18next/i18next-cli/issues/271">#271</a>). <ul> <li><code>status <locale></code> now exits based on <strong>that locale only</strong>, instead of always evaluating every secondary language. Previously, running e.g. <code>status en-AU</code> on a fully-translated primary could print "🎉 All keys present" and still exit <code>1</code> because an unrelated secondary (e.g. an empty <code>de-DE</code>) was incomplete — a summary that contradicted the exit code.</li> <li>When the requested locale is the primary, the check still fails only on <em>absent</em> keys (empty placeholders are tolerated); for a secondary it fails on any untranslated/absent key. The global view (<code>status</code> with no locale) is unchanged.</li> <li>The failure message now names the locale when scoped (<code>Error: Incomplete translations detected for "de-DE".</code>) so the reason is no longer hidden.</li> </ul> </li> </ul> <h2>1.64.1</h2> <ul> <li>fix(status): align plural reporting with the i18next runtime (<a href="https://redirect.github.com/i18next/i18next-cli/issues/270">#270</a>). <ul> <li>Plural categories that <code>Intl.PluralRules</code> only selects for out-of-range values (e.g. French <code>_many</code>, which fires only for counts ≥ 1,000,000) are now treated as <strong>optional</strong>: a missing or empty variant is shown as a soft "optional plural form" note instead of a hard "missing key" error, so it no longer fails the check. Categories reachable by typical counts (including decimals, e.g. Polish/Russian <code>other</code>) remain required.</li> <li>With <code>disablePlurals: true</code>, a key used with <code>count</code> is now considered satisfied when either its plural variants (<code>_one</code>/<code>_other</code>) <strong>or</strong> the bare key exist — mirroring the runtime's <code>key + suffix → key</code> resolution chain —</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/i18next/i18next-cli/commit/9497126db21489514db6c2d181ccb667af977281"><code>9497126</code></a> 1.65.0</li> <li><a href="https://github.com/i18next/i18next-cli/commit/cebfb66b646ce72d93f888c8438082698f35af6c"><code>cebfb66</code></a> fix(extract): respect fallbackNS and stop duplicating keys into namespace fil...</li> <li><a href="https://github.com/i18next/i18next-cli/commit/4af3b5b767ba144773419d13d045240ebace36d0"><code>4af3b5b</code></a> 1.64.2</li> <li><a href="https://github.com/i18next/i18next-cli/commit/59e5c157b8e6263a7686aa83189169eef4947230"><code>59e5c15</code></a> fix(status): scope pass/fail to the requested locale <a href="https://redirect.github.com/i18next/i18next-cli/issues/271">#271</a></li> <li><a href="https://github.com/i18next/i18next-cli/commit/58e96acf4d779a60dd49555cfbe7125d370918dd"><code>58e96ac</code></a> 1.64.1</li> <li><a href="https://github.com/i18next/i18next-cli/commit/90fb64de7c9973cc2bb93074489a114b3c214a43"><code>90fb64d</code></a> fix(status): align plural reporting with the i18next runtime <a href="https://redirect.github.com/i18next/i18next-cli/issues/270">#270</a></li> <li><a href="https://github.com/i18next/i18next-cli/commit/4f32c051a6b330e5480bea9c5f1e06bfc057b016"><code>4f32c05</code></a> 1.64.0</li> <li><a href="https://github.com/i18next/i18next-cli/commit/9ab66af4796228060d05bda6de5ff7dea92e9c89"><code>9ab66af</code></a> feat(extract): support trailing wildcards in functions (e.g. 'tProps.*')</li> <li><a href="https://github.com/i18next/i18next-cli/commit/3f40d0b904b01546fe86ae14d2e6f54b39ccba78"><code>3f40d0b</code></a> 1.63.1</li> <li><a href="https://github.com/i18next/i18next-cli/commit/eac231da589c9690a3bcc1aaf05f10572ae395cb"><code>eac231d</code></a> fix(init): pin <code>@inlang/plugin-i18next</code><a href="https://github.com/6"><code>@6</code></a>.2.1 (restores Sherlock annotations)</li> <li>Additional commits viewable in <a href="https://github.com/i18next/i18next-cli/compare/v1.53.2...v1.65.0">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>
153 lines
4.8 KiB
JSON
153 lines
4.8 KiB
JSON
{
|
|
"name": "maputnik",
|
|
"version": "3.1.0",
|
|
"description": "A MapLibre GL visual style editor",
|
|
"type": "module",
|
|
"main": "''",
|
|
"scripts": {
|
|
"start": "vite",
|
|
"build": "tsc && vite build --mode=production",
|
|
"build-desktop": "tsc && vite build --mode=desktop && cd desktop && make",
|
|
"build-linux": "tsc && vite build --mode=desktop && cd desktop && make bin/linux/maputnik",
|
|
"i18n:extract": "npx i18next-cli extract",
|
|
"lint": "eslint",
|
|
"test": "cypress run",
|
|
"test-unit": "vitest",
|
|
"test-unit-ci": "vitest run --coverage --reporter=json",
|
|
"cy:open": "cypress open",
|
|
"lint-css": "stylelint \"src/styles/*.scss\"",
|
|
"sort-styles": "jq 'sort_by(.id)' src/config/styles.json > tmp.json && mv tmp.json src/config/styles.json"
|
|
},
|
|
"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.0",
|
|
"@codemirror/theme-one-dark": "^6.1.3",
|
|
"@codemirror/view": "^6.43.5",
|
|
"@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.8.2",
|
|
"@maplibre/maplibre-gl-style-spec": "^25.0.2",
|
|
"array-move": "^4.0.0",
|
|
"buffer": "^6.0.3",
|
|
"classnames": "^2.5.1",
|
|
"codemirror": "^6.0.2",
|
|
"color": "^5.0.3",
|
|
"detect-browser": "^5.3.0",
|
|
"downshift": "^9.4.0",
|
|
"events": "^3.3.0",
|
|
"file-saver": "^2.0.5",
|
|
"i18next": "^26.3.4",
|
|
"i18next-browser-languagedetector": "^8.2.1",
|
|
"i18next-resources-to-backend": "^1.2.1",
|
|
"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": "^5.24.0",
|
|
"maputnik-design": "github:maputnik/design#172b06c",
|
|
"ol": "^10.9.0",
|
|
"ol-mapbox-style": "^13.4.1",
|
|
"pmtiles": "^4.4.1",
|
|
"prop-types": "^15.8.1",
|
|
"react": "^19.2.7",
|
|
"react-accessible-accordion": "^5.0.1",
|
|
"react-aria-menubutton": "^8.0.0",
|
|
"react-aria-modal": "^5.0.2",
|
|
"react-collapse": "^5.1.1",
|
|
"react-color": "^2.19.3",
|
|
"react-dom": "^19.2.7",
|
|
"react-i18next": "^17.0.8",
|
|
"react-icons": "^5.7.0",
|
|
"react-markdown": "^10.1.0",
|
|
"reconnecting-websocket": "^4.4.0",
|
|
"slugify": "^1.6.9",
|
|
"string-hash": "^1.1.3",
|
|
"url": "^0.11.4"
|
|
},
|
|
"jshintConfig": {
|
|
"esversion": 6
|
|
},
|
|
"stylelint": {
|
|
"extends": "stylelint-config-recommended-scss",
|
|
"rules": {
|
|
"no-descending-specificity": null,
|
|
"media-feature-name-no-unknown": [
|
|
true,
|
|
{
|
|
"ignoreMediaFeatureNames": [
|
|
"prefers-reduced-motion"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@cypress/code-coverage": "^4.0.3",
|
|
"@eslint/js": "^10.0.1",
|
|
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
"@shellygo/cypress-test-utils": "^6.0.6",
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
"@types/codemirror": "^5.60.17",
|
|
"@types/color": "^4.2.1",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/file-saver": "^2.0.7",
|
|
"@types/geojson": "^7946.0.16",
|
|
"@types/json-to-ast": "^2.1.4",
|
|
"@types/lodash.capitalize": "^4.2.9",
|
|
"@types/lodash.clamp": "^4.0.9",
|
|
"@types/lodash.clonedeep": "^4.5.9",
|
|
"@types/lodash.get": "^4.4.9",
|
|
"@types/lodash.isequal": "^4.5.8",
|
|
"@types/lodash.throttle": "^4.1.9",
|
|
"@types/randomcolor": "^0.5.9",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-aria-menubutton": "^6.2.14",
|
|
"@types/react-aria-modal": "^5.0.0",
|
|
"@types/react-collapse": "^5.0.4",
|
|
"@types/react-color": "^3.0.13",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/string-hash": "^1.1.3",
|
|
"@types/wicg-file-system-access": "^2023.10.7",
|
|
"@vitejs/plugin-react": "5.2",
|
|
"@vitest/coverage-v8": "^4.1.9",
|
|
"cors": "^2.8.6",
|
|
"cypress": "^15.18.0",
|
|
"cypress-plugin-tab": "^2.0.0",
|
|
"eslint": "^10.6.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
"eslint-plugin-react-refresh": "^0.5.3",
|
|
"i18next-cli": "^1.65.0",
|
|
"istanbul": "^0.4.5",
|
|
"istanbul-lib-coverage": "^3.2.2",
|
|
"postcss": "^8.5.16",
|
|
"react-hot-loader": "^4.13.1",
|
|
"sass": "^1.101.0",
|
|
"stylelint": "^17.14.0",
|
|
"stylelint-config-recommended-scss": "^17.0.1",
|
|
"stylelint-scss": "^7.2.0",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.62.1",
|
|
"uuid": "^14.0.1",
|
|
"vite": "^7.3.2",
|
|
"vite-plugin-istanbul": "^9.0.1",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|