Skip to content

Bump the dependencies group with 6 updates - #398

Merged
psiinon merged 1 commit into
mainfrom
dependabot/npm_and_yarn/dependencies-9cbe0cedbd
Oct 23, 2026
Merged

psiinon merged 1 commit into
mainfrom
dependabot/npm_and_yarn/dependencies-9cbe0cedbd

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 19, 2026

Copy link
Copy Markdown
Contributor

Bumps the dependencies group with 6 updates:

Package From To
i18next 26.4.3 26.4.7
eslint-plugin-prettier 5.5.6 5.5.7
postcss 8.5.29 8.5.30
sass 1.105.1 1.105.2
ts-jest 29.4.14 29.4.15
webpack 5.111.1 5.112.0

Updates i18next from 26.4.3 to 26.4.7

Release notes

Sourced from i18next's releases.

v26.4.7

  • perf: cloneInstance() no longer inherits preload. loadResources() adds every preload language to each load, and clones copied preload from the parent, so a clone's init() and every changeLanguage() walked all preloaded languages × all namespaces through queueLoad() / hasResourceBundle(), although the parent had already loaded them into the shared store. With i18next-http-middleware (one clone + changeLanguage() per request), 25 preloaded languages and 20 namespaces, that was most of the per-request CPU: the reproduction from the issue went from ~90 µs to ~10 µs per request, the same as with a single language. A clone now only loads what it uses itself: its changeLanguage() no longer waits for parent preload languages that are still loading (the parent's own init() still does), and clone.loadNamespaces() loads the new namespace for the clone's language and fallbacks instead of every preloaded language. clone.loadLanguages() works as before, the parent instance is unchanged, and passing preload to cloneInstance() keeps the old behavior. Thanks @​theMostCuriousHomunculus for the detailed report (#2451).

v26.4.6

  • fix: a fallback language whose formatted code is already in the hierarchy is no longer added a second time. toResolveHierarchy() checked the raw fallbackLng value against the list, but the list holds formatted codes, so any fallback written differently from its formatted form slipped through: lng: 'de-CH' with fallbackLng: 'de-ch' gave languages ['de-CH', 'de', 'de-CH'], and the same happened with fallbackLng: 'EN' + cleanCode, lowerCaseLng, and Intl aliases (iw-IL → he-IL). Missing keys were looked up in the same language twice. Only exact duplicates are removed; the order is unchanged. Thanks @​lprnmns (#2450).

v26.4.5

  • fix: hasLoadedNamespace(ns, { lng }) no longer stays false forever when the passed in lng is loaded under another code, or not at all. It checked the load state of the raw lng, but loadLanguages() stores a language under its resolved code (de-ch → de-CH, de-CH → de with load: 'languageOnly') and skips a lng outside supportedLngs entirely (only the fallback gets loaded), so that state never got set. react-i18next's useTranslation(ns, { lng }) then never became ready: with useSuspense it kept throwing an already resolved promise and React retried forever (100% CPU, SSR never finished), without it the load effect re-rendered in a loop. It now checks the code the language is actually loaded under, and for a lng outside supportedLngs only waits for the fallback, which is also what t() resolves to. Calls without lng and the precheck (react-i18next's bindI18n: 'languageChanging') are unchanged (react-i18next#1934).

v26.4.4

  • fix(security): the nesting regexp no longer backtracks exponentially (ReDoS) on an unclosed $t(. Its repeated group had overlapping alternatives ([^()"']+ inside (?:...)*?, and inside parentheses [^()] also matched quotes), so a string containing $t( without a closing ) made the engine try every way to split the text: about 2x the runtime per extra character, and a ~25 character value hung t() for minutes. With the default config this was reachable through any interpolated value (t('greet', { name: '$t(aaaaaaaaaaaaaaaaaaaaaaaa' })): escaping does not touch $, t or (, and the skipOnVariables check runs the regexp on the interpolated result, so nest: false did not help either. Every alternative now starts with a different character (plain char, ", ' or (), so there is only one way to match and the cost is linear. Quoted strings and one level of parentheses in nesting options keep working (#2336). The only difference: a lone " or ' inside unquoted parentheses within $t(...) is no longer matched. Affects 25.3.3 to 26.4.3. Thanks to Anisetti Chaitanya Eshwar Prasad for the responsible disclosure.
  • fix(security): nest() now resolves $t(...) in a single pass and no longer nests text that came out of a resolved value. Every nested lookup reset the shared nesting regexp, so the loop started over from the beginning of the string after each match. That had two effects. First, a $t(...) inside a variable that the nested lookup deliberately kept literal (default skipOnVariables: true) was resolved anyway by the outer loop: with outer: 'A $t(inner) B' and inner: 'Hi {{name}}', t('outer', { name: '$t(secret)' }) rendered the secret translation. It now stays A Hi $t(secret) B, the same as without the outer nesting; with skipOnVariables: false it is still resolved. Second, the cost was quadratic when an unclosed $t( preceded many nestings, which matters when an app passes untrusted input as the key itself (t(userInput)): 20,000 nestings took ~1.4 s, now ~25 ms. The resolved value is now sliced into the result instead of going through String.replace, so $&, $`, $' and $$ stay literal as before (26.4.2).
Changelog

Sourced from i18next's changelog.

26.4.7

  • perf: cloneInstance() no longer inherits preload. loadResources() adds every preload language to each load, and clones copied preload from the parent, so a clone's init() and every changeLanguage() walked all preloaded languages × all namespaces through queueLoad() / hasResourceBundle(), although the parent had already loaded them into the shared store. With i18next-http-middleware (one clone + changeLanguage() per request), 25 preloaded languages and 20 namespaces, that was most of the per-request CPU: the reproduction from the issue went from ~90 µs to ~10 µs per request, the same as with a single language. A clone now only loads what it uses itself: its changeLanguage() no longer waits for parent preload languages that are still loading (the parent's own init() still does), and clone.loadNamespaces() loads the new namespace for the clone's language and fallbacks instead of every preloaded language. clone.loadLanguages() works as before, the parent instance is unchanged, and passing preload to cloneInstance() keeps the old behavior. Thanks @​theMostCuriousHomunculus for the detailed report (#2451).

26.4.6

  • fix: a fallback language whose formatted code is already in the hierarchy is no longer added a second time. toResolveHierarchy() checked the raw fallbackLng value against the list, but the list holds formatted codes, so any fallback written differently from its formatted form slipped through: lng: 'de-CH' with fallbackLng: 'de-ch' gave languages ['de-CH', 'de', 'de-CH'], and the same happened with fallbackLng: 'EN' + cleanCode, lowerCaseLng, and Intl aliases (iw-IL → he-IL). Missing keys were looked up in the same language twice. Only exact duplicates are removed; the order is unchanged. Thanks @​lprnmns (#2450).

26.4.5

  • fix: hasLoadedNamespace(ns, { lng }) no longer stays false forever when the passed in lng is loaded under another code, or not at all. It checked the load state of the raw lng, but loadLanguages() stores a language under its resolved code (de-ch → de-CH, de-CH → de with load: 'languageOnly') and skips a lng outside supportedLngs entirely (only the fallback gets loaded), so that state never got set. react-i18next's useTranslation(ns, { lng }) then never became ready: with useSuspense it kept throwing an already resolved promise and React retried forever (100% CPU, SSR never finished), without it the load effect re-rendered in a loop. It now checks the code the language is actually loaded under, and for a lng outside supportedLngs only waits for the fallback, which is also what t() resolves to. Calls without lng and the precheck (react-i18next's bindI18n: 'languageChanging') are unchanged (react-i18next#1934).

26.4.4

  • fix(security): the nesting regexp no longer backtracks exponentially (ReDoS) on an unclosed $t(. Its repeated group had overlapping alternatives ([^()"']+ inside (?:...)*?, and inside parentheses [^()] also matched quotes), so a string containing $t( without a closing ) made the engine try every way to split the text: about 2x the runtime per extra character, and a ~25 character value hung t() for minutes. With the default config this was reachable through any interpolated value (t('greet', { name: '$t(aaaaaaaaaaaaaaaaaaaaaaaa' })): escaping does not touch $, t or (, and the skipOnVariables check runs the regexp on the interpolated result, so nest: false did not help either. Every alternative now starts with a different character (plain char, ", ' or (), so there is only one way to match and the cost is linear. Quoted strings and one level of parentheses in nesting options keep working (#2336). The only difference: a lone " or ' inside unquoted parentheses within $t(...) is no longer matched. Affects 25.3.3 to 26.4.3. See advisory GHSA-5jr9-983r-c8x4, CVSS 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H). Thanks to Anisetti Chaitanya Eshwar Prasad for the responsible disclosure.
  • fix(security): nest() now resolves $t(...) in a single pass and no longer nests text that came out of a resolved value. Every nested lookup reset the shared nesting regexp, so the loop started over from the beginning of the string after each match. That had two effects. First, a $t(...) inside a variable that the nested lookup deliberately kept literal (default skipOnVariables: true) was resolved anyway by the outer loop: with outer: 'A $t(inner) B' and inner: 'Hi {{name}}', t('outer', { name: '$t(secret)' }) rendered the secret translation. It now stays A Hi $t(secret) B, the same as without the outer nesting; with skipOnVariables: false it is still resolved. Second, the cost was quadratic when an unclosed $t( preceded many nestings, which matters when an app passes untrusted input as the key itself (t(userInput)): 20,000 nestings took ~1.4 s, now ~25 ms. The resolved value is now sliced into the result instead of going through String.replace, so $&, $`, $' and $$ stay literal as before (26.4.2).
Commits

Updates eslint-plugin-prettier from 5.5.6 to 5.5.7

Release notes

Sourced from eslint-plugin-prettier's releases.

v5.5.7

Patch Changes

  • #796 7e53ecd Thanks @​OskarEichler! - Fix fallback diagnostic locations for all supported line endings.

  • #805 1b7c433 Thanks @​JounQin! - Report a clear error when the sync worker fails to load, so a missing prettier dependency now fails fast with Cannot find package 'prettier' instead of hanging ESLint indefinitely.

New Contributors

Full Changelog: prettier/eslint-plugin-prettier@v5.5.6...v5.5.7

Changelog

Sourced from eslint-plugin-prettier's changelog.

5.5.7

Patch Changes

  • #796 7e53ecd Thanks @​OskarEichler! - Fix fallback diagnostic locations for all supported line endings.

  • #805 1b7c433 Thanks @​JounQin! - Report a clear error when the sync worker fails to load, so a missing prettier dependency now fails fast with Cannot find package 'prettier' instead of hanging ESLint indefinitely.

Commits
  • e6dd27a chore: keep packageManager when cleaning package.json for release (#808)
  • 7544956 chore: release eslint-plugin-prettier (#799)
  • e3e5238 ci: enable npm publish provenance for changesets v3 (#807)
  • 7c923c4 build(deps): Bump http-cache-semantics from 4.2.0 to 4.3.0 (#806)
  • 1b7c433 fix: bump synckit to surface worker failures instead of hanging (#805)
  • a6b3feb docs: explain line endings and endOfLine behavior (#804)
  • 2f6ba1d ci: exercise the getLocFromIndex ponyfill on ESLint 9 (#803)
  • cf1d2c5 chore(deps): update (#802)
  • 9f14a55 chore(deps): update all dependencies (#788)
  • 7e53ecd fix: map fallback source locations to actual line starts (#796)
  • Additional commits viewable in compare view

Updates postcss from 8.5.29 to 8.5.30

Release notes

Sourced from postcss's releases.

8.5.30

  • Fix broken map on </style> escaping (by @​Rufflet).
Changelog

Sourced from postcss's changelog.

8.5.30

  • Fix broken map on </style> escaping (by @​Rufflet).
Commits

Updates sass from 1.105.1 to 1.105.2

Release notes

Sourced from sass's releases.

Dart Sass 1.105.2

To install Sass 1.105.2, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

Node.js Embedded Host

  • Fix a deadlock when the async compiler fails to start.

See the full changelog for changes in earlier releases.

Changelog

Sourced from sass's changelog.

1.105.2

Node.js Embedded Host

  • Fix a deadlock when the async compiler fails to start.
Commits

Updates ts-jest from 29.4.14 to 29.4.15

Release notes

Sourced from ts-jest's releases.

v29.4.15

Please refer to CHANGELOG.md for details.

Changelog

Sourced from ts-jest's changelog.

29.4.15 (2026-10-15)

Bug Fixes

  • compiler: resolve modules with tsconfig options regardless of cache state (268746c), closes #5216
  • support .cjs config files in config:migrate (4001b4e), closes #4485
Commits
  • 197d4de chore(release): 29.4.15
  • ebad800 build(deps): update dependency node to v24.22.0
  • e5f6e98 test(compiler): clean up temp dirs from module resolution tests
  • 77dbb18 test(compiler): make module resolution tests path-independent on Windows
  • 268746c fix(compiler): resolve modules with tsconfig options regardless of cache state
  • 1536201 build(deps): update dependency vite to ^8.3.4
  • 141e39c build(deps): update dependency @​babel/core to ^8.0.7
  • 6a6686e build(deps-dev): bump shell-quote from 1.10.0 to 1.12.0 in /examples
  • 98e6e50 build(deps): bump proxy-addr from 2.0.7 to 2.0.8 in /website
  • d2439ff build(deps): bump compression from 1.8.1 to 1.8.2 in /website
  • Additional commits viewable in compare view

Updates webpack from 5.111.1 to 5.112.0

Release notes

Sourced from webpack's releases.

v5.112.0

Minor Changes

... (truncated)

Changelog

Sourced from webpack's changelog.

5.112.0

Minor Changes

... (truncated)

Commits
  • 755c49e chore(release): new release (#22170)
  • 35b066f feat(javascript): fold switches, PURE IIFEs, null tests, Babel helpers and pr...
  • edea0f5 refactor(css,html): give the ASCII helpers one Infra name in both parsers (#2...
  • 916cf37 fix(css): keep a rule nested under a selector opening on a combinator when lo...
  • 2ebe482 ci: pin Chrome and Firefox to the builds puppeteer-core names (#22703)
  • ed18fa1 fix(css): reach for no newer spelling where a target browser is one the data ...
  • 26d315a refactor: ask the dependency and module kind instead of flags and type string...
  • 3020447 refactor(cache): normalize build dependencies once (#22704)
  • 9b5fab7 fix(deps): bump the dependencies group with 4 updates (#22683)
  • b46763e feat: apply top-level plugins of a multi-configuration to the MultiCompiler (...
  • Additional commits viewable in compare view

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 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 <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> 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 <dependency name> 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 <dependency name> 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 <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [i18next](https://github.com/i18next/i18next) | `26.4.3` | `26.4.7` |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.6` | `5.5.7` |
| [postcss](https://github.com/postcss/postcss) | `8.5.29` | `8.5.30` |
| [sass](https://github.com/sass/dart-sass) | `1.105.1` | `1.105.2` |
| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.14` | `29.4.15` |
| [webpack](https://github.com/webpack/webpack) | `5.111.1` | `5.112.0` |


Updates `i18next` from 26.4.3 to 26.4.7
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](i18next/i18next@v26.4.3...v26.4.7)

Updates `eslint-plugin-prettier` from 5.5.6 to 5.5.7
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-plugin-prettier@v5.5.6...v5.5.7)

Updates `postcss` from 8.5.29 to 8.5.30
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.29...8.5.30)

Updates `sass` from 1.105.1 to 1.105.2
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](sass/dart-sass@1.105.1...1.105.2)

Updates `ts-jest` from 29.4.14 to 29.4.15
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.4.14...v29.4.15)

Updates `webpack` from 5.111.1 to 5.112.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack@v5.111.1...v5.112.0)

---
updated-dependencies:
- dependency-name: i18next
  dependency-version: 26.4.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: postcss
  dependency-version: 8.5.30
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: sass
  dependency-version: 1.105.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: ts-jest
  dependency-version: 29.4.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: webpack
  dependency-version: 5.112.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 19, 2026
@psiinon

psiinon commented Oct 19, 2026

Copy link
Copy Markdown
Member

Logo
Checkmarx One – Scan Summary & Details – 5060b1ca-f559-4a1b-a681-6d6770d488fa

Great job! No new security vulnerabilities introduced in this pull request


Use @Checkmarx to take action directly from this PR:

  • Rescan the PR

Try it: @Checkmarx how can you help? · @Checkmarx rescan this PR

@thc202
thc202 requested a review from psiinon October 22, 2026 20:45
@psiinon
psiinon merged commit e0906c4 into main Oct 23, 2026
11 of 14 checks passed
@thc202
thc202 deleted the dependabot/npm_and_yarn/dependencies-9cbe0cedbd branch October 23, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants