Repository navigation
fix(es/fixer): preserve TypeScript expression grouping - #12518
Conversation
🦋 Changeset detectedLatest commit: e9d89c7 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Merging this PR will not alter performance
|
|
You have reached your Codex usage limits for security reviews. Please try again later. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b61a5cf406
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Preserve TypeScript casts in conditional tests, binary and prefix operands, and assignment targets. Group instantiations before operators that TypeScript cannot parse without parentheses. Keep await and type assertions grouped before exponentiation. Inspect expression tails without collection state and check casts in operand visitors.
b61a5cf to
e9d89c7
Compare
|
You have reached your Codex usage limits for security reviews. Please try again later. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e9d89c7936
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
|
I think the Codex auto review items can be a follow-up |
**Description:** The fixer removes parentheses required by TypeScript around casts, instantiations, and low-precedence cast inputs, producing invalid syntax or changing the parsed expression. Preserve grouping across postfix operations, updates, and binary operators—including `(f<T>)!`, `(f<T>)++`, `(value as T).x`, `(value as T) & other`, `((a + b) as T) * c`, and `(a | b) as T`. Retain required innermost `ParenExpr` nodes in place and replace `IndexMap::shift_remove` with indexed span records so nested parenthesis restoration stays linear while preserving comment migration order. **Related issue (if exists):** - Follow-up to #12518
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | |---|---|---|---|---|---| | [@astrojs/check](https://github.com/withastro/astro/tree/main/packages/language-tools/astro-check) ([source](https://github.com/withastro/astro/tree/HEAD/packages/language-tools/astro-check)) | [`0.9.11` → `0.9.12`](https://renovatebot.com/diffs/npm/@astrojs%2fcheck/0.9.11/0.9.12) |  |  | devDependencies | patch | | [@astrojs/svelte](https://docs.astro.build/en/guides/integrations-guide/svelte/) ([source](https://github.com/withastro/astro/tree/HEAD/packages/integrations/svelte)) | [`9.1.0` → `9.1.1`](https://renovatebot.com/diffs/npm/@astrojs%2fsvelte/9.1.0/9.1.1) |  |  | dependencies | patch | | [@medusajs/admin-sdk](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/admin/admin-sdk)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fadmin-sdk/2.21.2/2.22.1) |  |  | dependencies | minor | | [@medusajs/cli](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/cli/medusa-cli)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fcli/2.21.2/2.22.1) |  |  | dependencies | minor | | [@medusajs/framework](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/framework)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fframework/2.21.2/2.22.1) |  |  | dependencies | minor | | [@medusajs/js-sdk](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/js-sdk)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fjs-sdk/2.21.2/2.22.1) |  |  | dependencies | minor | | [@medusajs/medusa](https://medusajs.com) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/medusa)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fmedusa/2.21.2/2.22.1) |  |  | dependencies | minor | | [@medusajs/test-utils](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/medusa-test-utils)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2ftest-utils/2.21.2/2.22.1) |  |  | devDependencies | minor | | [@medusajs/types](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/types)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2ftypes/2.21.2/2.22.1) |  |  | dependencies | minor | | [@swc/core](https://swc.rs) ([source](https://github.com/swc-project/swc/tree/HEAD/packages/core)) | [`1.16.18` → `1.16.20`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.16.18/1.16.20) |  |  | devDependencies | patch | | [amir20/dozzle](https://github.com/amir20/dozzle) | `v11.3.4` → `v11.3.5` |  |  | | patch | | [astro](https://astro.build) ([source](https://github.com/withastro/astro/tree/HEAD/packages/astro)) | [`7.4.1` → `7.4.2`](https://renovatebot.com/diffs/npm/astro/7.4.1/7.4.2) |  |  | dependencies | patch | | [axllent/mailpit](https://mailpit.axllent.org) ([source](https://github.com/axllent/mailpit)) | `v1.31.6` → `v1.32.0` |  |  | | minor | | [bits-ui](https://github.com/huntabyte/bits-ui) | [`2.19.5` → `2.20.2`](https://renovatebot.com/diffs/npm/bits-ui/2.19.5/2.20.2) |  |  | dependencies | minor | | [chrislusf/seaweedfs](https://github.com/seaweedfs/seaweedfs) | `4.48` → `4.50` |  |  | | minor | | [docker/login-action](https://github.com/docker/login-action) | `v4.6.0` → `v4.7.0` |  |  | action | minor | | [henrygd/beszel](https://github.com/henrygd/beszel) | `0.21.0` → `0.21.1` |  |  | | patch | | [henrygd/beszel-agent](https://github.com/henrygd/beszel) | `0.21.0` → `0.21.1` |  |  | | patch | | louislam/uptime-kuma | `2.5.6` → `2.5.7` |  |  | | patch | | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | [`24.22.0` → `24.22.1`](https://renovatebot.com/diffs/npm/node/v24.22.0/v24.22.1) |  |  | engines | patch | | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | `24.22.0` → `24.22.1` |  |  | | patch | | [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-trixie` → `24.22.1-trixie` |  |  | container | patch | | [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-alpine3.24` → `24.22.1-alpine3.24` |  |  | final | patch | | [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-alpine3.24` → `24.22.1-alpine3.24` |  |  | stage | patch | | [nodemailer](https://nodemailer.com/) ([source](https://github.com/nodemailer/nodemailer)) | [`10.1.7` → `10.2.1`](https://renovatebot.com/diffs/npm/nodemailer/10.1.7/10.2.1) |  |  | devDependencies | minor | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`12.14.0` → `12.15.0`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.15.0) |  |  | packageManager | minor | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`12.14.0` → `12.15.0`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.15.0) |  |  | engines | minor | | [prettier-plugin-astro](https://github.com/withastro/prettier-plugin-astro) | [`1.1.1` → `1.1.2`](https://renovatebot.com/diffs/npm/prettier-plugin-astro/1.1.1/1.1.2) |  |  | dependencies | patch | | [renovate/renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) | [`44.172.2` → `44.181.9`](https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=44.172.2&to=44.181.9) |  |  | container | minor | | stripe/stripe-cli | `v1.54.1` → `v1.55.1` |  |  | | minor | --- ### Release Notes <details> <summary>withastro/astro (@​astrojs/check)</summary> ### [`v0.9.12`](https://github.com/withastro/astro/blob/HEAD/packages/language-tools/astro-check/CHANGELOG.md#0912) [Compare Source](https://github.com/withastro/astro/compare/@astrojs/check@0.9.11...@astrojs/check@0.9.12) ##### Patch Changes - [#​18455](https://github.com/withastro/astro/pull/18455) [`7af66fc`](https://github.com/withastro/astro/commit/7af66fc785d85b1df1f98e7123a52b2306250985) Thanks [@​astro-factory](https://github.com/apps/astro-factory)! - Fixes the `astro-check` binary ignoring its first two command-line arguments, so flags such as `--help`, `--root`, `--watch`, and `--tsconfig` are respected again. If your scripts padded the arguments to work around this (for example, `astro-check -- -- --tsconfig ./tsconfig.app.json`), remove the padding. - Updated dependencies \[[`044148d`](https://github.com/withastro/astro/commit/044148d5cfbc90e0277b3205a52ec73bc452bb7e)]: - [@​astrojs/language-server](https://github.com/astrojs/language-server)@2.17.3 </details> <details> <summary>withastro/astro (@​astrojs/svelte)</summary> ### [`v9.1.1`](https://github.com/withastro/astro/blob/HEAD/packages/integrations/svelte/CHANGELOG.md#911) [Compare Source](https://github.com/withastro/astro/compare/@astrojs/svelte@9.1.0...@astrojs/svelte@9.1.1) ##### Patch Changes - [#​18475](https://github.com/withastro/astro/pull/18475) [`cf27e70`](https://github.com/withastro/astro/commit/cf27e70a9057ce29ade2a8a843bd9275a696e9ab) Thanks [@​ematipico](https://github.com/ematipico)! - Bumps the minimum supported Node.js version to 22.23.4, which includes the fixes from the [October 2026 Node.js security releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases) This is a patch release because the [Node.js support and upgrade policy](https://docs.astro.build/en/upgrade-astro/#nodejs-support-and-upgrade-policies) allows the Core team to raise the minimum Maintenance LTS version in a patch release when a disclosed and fixed Node.js security flaw affects Astro. </details> <details> <summary>medusajs/medusa (@​medusajs/admin-sdk)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/admin/admin-sdk/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - Updated dependencies \[]: - [@​medusajs/admin-shared](https://github.com/medusajs/admin-shared)@2.22.1 ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/admin/admin-sdk/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Patch Changes - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - Updated dependencies \[[`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936)]: - [@​medusajs/admin-shared](https://github.com/medusajs/admin-shared)@2.22.0 </details> <details> <summary>medusajs/medusa (@​medusajs/cli)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/cli/medusa-cli/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - Updated dependencies \[[`3a3207347379b065142895fb0740442fea5f4033`](https://github.com/medusajs/medusa/commit/3a3207347379b065142895fb0740442fea5f4033), [`d731a694cdb83c158fb78b5d85ecba8909150945`](https://github.com/medusajs/medusa/commit/d731a694cdb83c158fb78b5d85ecba8909150945), [`ccee953690a41e14e7520e7e2d97272f25d1ff69`](https://github.com/medusajs/medusa/commit/ccee953690a41e14e7520e7e2d97272f25d1ff69), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`3a4fa0cc36a82dba9481e87c20e423cb65c2ee91`](https://github.com/medusajs/medusa/commit/3a4fa0cc36a82dba9481e87c20e423cb65c2ee91)]: - [@​medusajs/utils](https://github.com/medusajs/utils)@2.22.1 - [@​medusajs/deps](https://github.com/medusajs/deps)@2.22.1 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1 ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/cli/medusa-cli/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - Updated dependencies \[[`f104453af2c5b235dfdbdaa271c9f8a18195de69`](https://github.com/medusajs/medusa/commit/f104453af2c5b235dfdbdaa271c9f8a18195de69), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`e6510b1f51170834f136e927c3d30e463da32750`](https://github.com/medusajs/medusa/commit/e6510b1f51170834f136e927c3d30e463da32750), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936)]: - [@​medusajs/utils](https://github.com/medusajs/utils)@2.22.0 - [@​medusajs/deps](https://github.com/medusajs/deps)@2.22.0 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0 </details> <details> <summary>medusajs/medusa (@​medusajs/framework)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/framework/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - Updated dependencies \[[`3a3207347379b065142895fb0740442fea5f4033`](https://github.com/medusajs/medusa/commit/3a3207347379b065142895fb0740442fea5f4033), [`d731a694cdb83c158fb78b5d85ecba8909150945`](https://github.com/medusajs/medusa/commit/d731a694cdb83c158fb78b5d85ecba8909150945), [`ccee953690a41e14e7520e7e2d97272f25d1ff69`](https://github.com/medusajs/medusa/commit/ccee953690a41e14e7520e7e2d97272f25d1ff69), [`081bcd2ef57e3d8e946ded205f2bdbd99c2834ba`](https://github.com/medusajs/medusa/commit/081bcd2ef57e3d8e946ded205f2bdbd99c2834ba), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`3a4fa0cc36a82dba9481e87c20e423cb65c2ee91`](https://github.com/medusajs/medusa/commit/3a4fa0cc36a82dba9481e87c20e423cb65c2ee91), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091)]: - [@​medusajs/utils](https://github.com/medusajs/utils)@2.22.1 - [@​medusajs/types](https://github.com/medusajs/types)@2.22.1 - [@​medusajs/cli](https://github.com/medusajs/cli)@2.22.1 - [@​medusajs/modules-sdk](https://github.com/medusajs/modules-sdk)@2.22.1 - [@​medusajs/orchestration](https://github.com/medusajs/orchestration)@2.22.1 - [@​medusajs/workflows-sdk](https://github.com/medusajs/workflows-sdk)@2.22.1 - [@​medusajs/deps](https://github.com/medusajs/deps)@2.22.1 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1 ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/framework/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​17147](https://github.com/medusajs/medusa/pull/17147) [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2) Thanks [@​dependabot](https://github.com/apps/dependabot)! - chore(admin-bundler, framework, medusa, deps): dependency updates - [#​16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@​NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - Updated dependencies \[[`f104453af2c5b235dfdbdaa271c9f8a18195de69`](https://github.com/medusajs/medusa/commit/f104453af2c5b235dfdbdaa271c9f8a18195de69), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541), [`09c7800e9c53ebc654fedcd593b8febde8fc5142`](undefined), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`396aa3f510be91ec10b7cc85ed0d674a3f3a5294`](undefined), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`e6510b1f51170834f136e927c3d30e463da32750`](https://github.com/medusajs/medusa/commit/e6510b1f51170834f136e927c3d30e463da32750), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93), [`0b97a96ea0d32ff3f4b18dbeeeeba9e763600a15`](undefined)]: - [@​medusajs/utils](https://github.com/medusajs/utils)@2.22.0 - [@​medusajs/cli](https://github.com/medusajs/cli)@2.22.0 - [@​medusajs/deps](https://github.com/medusajs/deps)@2.22.0 - [@​medusajs/modules-sdk](https://github.com/medusajs/modules-sdk)@2.22.0 - [@​medusajs/orchestration](https://github.com/medusajs/orchestration)@2.22.0 - [@​medusajs/types](https://github.com/medusajs/types)@2.22.0 - [@​medusajs/workflows-sdk](https://github.com/medusajs/workflows-sdk)@2.22.0 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0 </details> <details> <summary>medusajs/medusa (@​medusajs/js-sdk)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/js-sdk/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - [#​17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@​sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/js-sdk/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​17157](https://github.com/medusajs/medusa/pull/17157) [`c522ce6c070a85ed735fa0e1ea281b7641935a96`](https://github.com/medusajs/medusa/commit/c522ce6c070a85ed735fa0e1ea281b7641935a96) Thanks [@​sarmah-rup](https://github.com/sarmah-rup)! - fix(js-sdk): don't throw a ReferenceError when `setLocale` is called outside the browser - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - [#​16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@​shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature </details> <details> <summary>medusajs/medusa (@​medusajs/medusa)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - [#​17442](https://github.com/medusajs/medusa/pull/17442) [`ea2d48190febf36389aa66242247c180f9f48212`](https://github.com/medusajs/medusa/commit/ea2d48190febf36389aa66242247c180f9f48212) Thanks [@​medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(medusa): respond with 404 on /admin/index routes when the index module is off - [#​17449](https://github.com/medusajs/medusa/pull/17449) [`52f4c751d2277ab704c1a184c7971a6684e11a74`](https://github.com/medusajs/medusa/commit/52f4c751d2277ab704c1a184c7971a6684e11a74) Thanks [@​medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(medusa): reject deleting a variant through a product it doesn't belong to - [#​17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@​sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data - Updated dependencies \[[`64d564119d212b439e7f6192f71ec48ffbe6ff93`](https://github.com/medusajs/medusa/commit/64d564119d212b439e7f6192f71ec48ffbe6ff93), [`9e1b2ae94330588cd172a71307bc0874fd8228cc`](https://github.com/medusajs/medusa/commit/9e1b2ae94330588cd172a71307bc0874fd8228cc), [`0a4b00585cd7d9c7d99a11c3502ca9da0cdd75aa`](https://github.com/medusajs/medusa/commit/0a4b00585cd7d9c7d99a11c3502ca9da0cdd75aa), [`67aa48d6b1bbac622d261808b4351521fad8cf42`](https://github.com/medusajs/medusa/commit/67aa48d6b1bbac622d261808b4351521fad8cf42), [`afa4b15c1653d045fde6c2371395ce5df2987822`](https://github.com/medusajs/medusa/commit/afa4b15c1653d045fde6c2371395ce5df2987822), [`5aebc3e4a163c0e401d8794b2e961021eea5aea0`](https://github.com/medusajs/medusa/commit/5aebc3e4a163c0e401d8794b2e961021eea5aea0), [`7ce874c0ce4df5d9942130a28067ced8b23b126d`](https://github.com/medusajs/medusa/commit/7ce874c0ce4df5d9942130a28067ced8b23b126d), [`a0b1fffe7082ee326f16f50a1e2bfc978032a2bf`](https://github.com/medusajs/medusa/commit/a0b1fffe7082ee326f16f50a1e2bfc978032a2bf), [`9fd5fda64ac453b986cbf6480e05b6429efe335d`](https://github.com/medusajs/medusa/commit/9fd5fda64ac453b986cbf6480e05b6429efe335d), [`85d1481f546e0a7ca34ab2fc888606cfa5772817`](https://github.com/medusajs/medusa/commit/85d1481f546e0a7ca34ab2fc888606cfa5772817), [`f7d822b12fcb09120b5c8392f9a5ad10bfcdeb22`](https://github.com/medusajs/medusa/commit/f7d822b12fcb09120b5c8392f9a5ad10bfcdeb22), [`0b533907ac11d9cb3a80355ae7dee6ac51cba150`](https://github.com/medusajs/medusa/commit/0b533907ac11d9cb3a80355ae7dee6ac51cba150), [`b07a970d9f1ff305b5421cc5e27436d1f5624a8a`](https://github.com/medusajs/medusa/commit/b07a970d9f1ff305b5421cc5e27436d1f5624a8a), [`4e723121b0f9e3792b61306af5cbf2ebd9e84d20`](https://github.com/medusajs/medusa/commit/4e723121b0f9e3792b61306af5cbf2ebd9e84d20), [`347a34dc5a193ac2117cbbda6956c3932f40e693`](https://github.com/medusajs/medusa/commit/347a34dc5a193ac2117cbbda6956c3932f40e693), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`879fb81983bc33ae3901a9aecba63dfebe040c43`](https://github.com/medusajs/medusa/commit/879fb81983bc33ae3901a9aecba63dfebe040c43), [`99bcfeb5ee60b9e2df56d3d2d38e82470eaab68d`](https://github.com/medusajs/medusa/commit/99bcfeb5ee60b9e2df56d3d2d38e82470eaab68d), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091), [`4a75f02fbadb204f390bd5989dd0302f8a3f6774`](https://github.com/medusajs/medusa/commit/4a75f02fbadb204f390bd5989dd0302f8a3f6774), [`e07eb2b001fa52621e3176efb36fdf53863d4a80`](https://github.com/medusajs/medusa/commit/e07eb2b001fa52621e3176efb36fdf53863d4a80)]: - [@​medusajs/promotion](https://github.com/medusajs/promotion)@2.22.1 - [@​medusajs/caching](https://github.com/medusajs/caching)@2.22.1 - [@​medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.1 - [@​medusajs/locking](https://github.com/medusajs/locking)@2.22.1 - [@​medusajs/locking-redis](https://github.com/medusajs/locking-redis)@2.22.1 - [@​medusajs/translation](https://github.com/medusajs/translation)@2.22.1 - [@​medusajs/index](https://github.com/medusajs/index)@2.22.1 - [@​medusajs/pricing](https://github.com/medusajs/pricing)@2.22.1 - [@​medusajs/order](https://github.com/medusajs/order)@2.22.1 - [@​medusajs/payment](https://github.com/medusajs/payment)@2.22.1 - [@​medusajs/search-postgres](https://github.com/medusajs/search-postgres)@2.22.1 - [@​medusajs/framework](https://github.com/medusajs/framework)@2.22.1 - [@​medusajs/event-bus-redis](https://github.com/medusajs/event-bus-redis)@2.22.1 - [@​medusajs/admin-bundler](https://github.com/medusajs/admin-bundler)@2.22.1 - [@​medusajs/draft-order](https://github.com/medusajs/draft-order)@2.22.1 - [@​medusajs/analytics](https://github.com/medusajs/analytics)@2.22.1 - [@​medusajs/api-key](https://github.com/medusajs/api-key)@2.22.1 - [@​medusajs/auth](https://github.com/medusajs/auth)@2.22.1 - [@​medusajs/cart](https://github.com/medusajs/cart)@2.22.1 - [@​medusajs/currency](https://github.com/medusajs/currency)@2.22.1 - [@​medusajs/customer](https://github.com/medusajs/customer)@2.22.1 - [@​medusajs/file](https://github.com/medusajs/file)@2.22.1 - [@​medusajs/fulfillment](https://github.com/medusajs/fulfillment)@2.22.1 - [@​medusajs/inventory](https://github.com/medusajs/inventory)@2.22.1 - [@​medusajs/link-modules](https://github.com/medusajs/link-modules)@2.22.1 - [@​medusajs/notification](https://github.com/medusajs/notification)@2.22.1 - [@​medusajs/product](https://github.com/medusajs/product)@2.22.1 - [@​medusajs/rbac](https://github.com/medusajs/rbac)@2.22.1 - [@​medusajs/region](https://github.com/medusajs/region)@2.22.1 - [@​medusajs/sales-channel](https://github.com/medusajs/sales-channel)@2.22.1 - [@​medusajs/search](https://github.com/medusajs/search)@2.22.1 - [@​medusajs/settings](https://github.com/medusajs/settings)@2.22.1 - [@​medusajs/stock-location](https://github.com/medusajs/stock-location)@2.22.1 - [@​medusajs/store](https://github.com/medusajs/store)@2.22.1 - [@​medusajs/tax](https://github.com/medusajs/tax)@2.22.1 - [@​medusajs/user](https://github.com/medusajs/user)@2.22.1 - [@​medusajs/workflow-engine-inmemory](https://github.com/medusajs/workflow-engine-inmemory)@2.22.1 - [@​medusajs/workflow-engine-redis](https://github.com/medusajs/workflow-engine-redis)@2.22.1 - [@​medusajs/cache-inmemory](https://github.com/medusajs/cache-inmemory)@2.22.1 - [@​medusajs/cache-redis](https://github.com/medusajs/cache-redis)@2.22.1 - [@​medusajs/event-bus-local](https://github.com/medusajs/event-bus-local)@2.22.1 - [@​medusajs/analytics-local](https://github.com/medusajs/analytics-local)@2.22.1 - [@​medusajs/analytics-posthog](https://github.com/medusajs/analytics-posthog)@2.22.1 - [@​medusajs/auth-emailpass](https://github.com/medusajs/auth-emailpass)@2.22.1 - [@​medusajs/auth-github](https://github.com/medusajs/auth-github)@2.22.1 - [@​medusajs/auth-google](https://github.com/medusajs/auth-google)@2.22.1 - [@​medusajs/auth-oidc](https://github.com/medusajs/auth-oidc)@2.22.1 - [@​medusajs/caching-redis](https://github.com/medusajs/caching-redis)@2.22.1 - [@​medusajs/file-local](https://github.com/medusajs/file-local)@2.22.1 - [@​medusajs/file-s3](https://github.com/medusajs/file-s3)@2.22.1 - [@​medusajs/fulfillment-manual](https://github.com/medusajs/fulfillment-manual)@2.22.1 - [@​medusajs/locking-postgres](https://github.com/medusajs/locking-postgres)@2.22.1 - [@​medusajs/notification-local](https://github.com/medusajs/notification-local)@2.22.1 - [@​medusajs/notification-sendgrid](https://github.com/medusajs/notification-sendgrid)@2.22.1 - [@​medusajs/payment-stripe](https://github.com/medusajs/payment-stripe)@2.22.1 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1 ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​17035](https://github.com/medusajs/medusa/pull/17035) [`9aa921a62139888fed08aee7db1480cff0a3ee40`](https://github.com/medusajs/medusa/commit/9aa921a62139888fed08aee7db1480cff0a3ee40) Thanks [@​gautamyash](https://github.com/gautamyash)! - fix(medusa): report a failed migration script instead of exiting 0 `db:migrate` forked `db:migrate:scripts` as a child process and discarded its exit code, unlike the `db:migrate:search` call a few lines above which already checks it. A migration script that threw logged the error but the parent process still exited 0, so a CI/CD pipeline or deploy step trusting `db:migrate`'s exit code carried on as if every script had succeeded. `db:migrate` now checks the child's exit code the same way it already does for `db:migrate:search`, and returns false (non-zero exit) when a migration script fails. - [#​17347](https://github.com/medusajs/medusa/pull/17347) [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541) Thanks [@​medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa,types): add `http.requireActorAssociation` config to refuse logins on actor types an auth identity isn't associated with - [#​17314](https://github.com/medusajs/medusa/pull/17314) [`06bc7ec543e823c92321d582e1faa7f800985fb9`](https://github.com/medusajs/medusa/commit/06bc7ec543e823c92321d582e1faa7f800985fb9) Thanks [@​NicolasGorga](https://github.com/NicolasGorga)! - fix(medusa): remove undefined `allowed` from admin customers export query config - [#​17147](https://github.com/medusajs/medusa/pull/17147) [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2) Thanks [@​dependabot](https://github.com/apps/dependabot)! - chore(admin-bundler, framework, medusa, deps): dependency updates - [#​16964](https://github.com/medusajs/medusa/pull/16964) [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64) Thanks [@​shahednasser](https://github.com/shahednasser)! - fix(payment,core-flows,medusa,types,utils): let refunds be retried safely with an idempotency key - [#​17313](https://github.com/medusajs/medusa/pull/17313) [`906433ac6b1d5ec3cc23f88c8297d29fa87427fd`](https://github.com/medusajs/medusa/commit/906433ac6b1d5ec3cc23f88c8297d29fa87427fd) Thanks [@​medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa): accept case-insensitive order directions on POST /store/search - [#​16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@​NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - [#​16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@​shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature - [#​17361](https://github.com/medusajs/medusa/pull/17361) [`3755f0f08c02548fb97a7b3f5c3403c2f1919ab6`](https://github.com/medusajs/medusa/commit/3755f0f08c02548fb97a7b3f5c3403c2f1919ab6) Thanks [@​medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa): stop exporting sensitive HTTP headers in spans, and redact URL query param values outside a configurable allowlist - Updated dependencies \[[`6fd40674ee9b8956cbdf377a80f49342177bf818`](https://github.com/medusajs/medusa/commit/6fd40674ee9b8956cbdf377a80f49342177bf818), [`0e087453a34fea61d39d1e416a52ef3417220b2e`](https://github.com/medusajs/medusa/commit/0e087453a34fea61d39d1e416a52ef3417220b2e), [`6adae2ca2e3185cec3af9afbefdf58a378dcf1ca`](https://github.com/medusajs/medusa/commit/6adae2ca2e3185cec3af9afbefdf58a378dcf1ca), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`09814617a5e117dd42b12c5026d79e8536244fcd`](https://github.com/medusajs/medusa/commit/09814617a5e117dd42b12c5026d79e8536244fcd), [`b3db8ecc2888a84897528636027af8dc446d4ae6`](https://github.com/medusajs/medusa/commit/b3db8ecc2888a84897528636027af8dc446d4ae6), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`735231340d130af0c3565bc7340f1163863c283f`](https://github.com/medusajs/medusa/commit/735231340d130af0c3565bc7340f1163863c283f), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`65260a9d80d666916ad1e4b59d346123e1fa7991`](https://github.com/medusajs/medusa/commit/65260a9d80d666916ad1e4b59d346123e1fa7991), [`597cf9af9ac6ddcf233fc0605d37e8925dc4b7ce`](https://github.com/medusajs/medusa/commit/597cf9af9ac6ddcf233fc0605d37e8925dc4b7ce), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`b561a37343f4132d0f3a243e7722260797c3cf85`](https://github.com/medusajs/medusa/commit/b561a37343f4132d0f3a243e7722260797c3cf85), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93)]: - [@​medusajs/payment-stripe](https://github.com/medusajs/payment-stripe)@2.22.0 - [@​medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.0 - [@​medusajs/draft-order](https://github.com/medusajs/draft-order)@2.22.0 - [@​medusajs/admin-bundler](https://github.com/medusajs/admin-bundler)@2.22.0 - [@​medusajs/analytics-local](https://github.com/medusajs/analytics-local)@2.22.0 - [@​medusajs/analytics-posthog](https://github.com/medusajs/analytics-posthog)@2.22.0 - [@​medusajs/analytics](https://github.com/medusajs/analytics)@2.22.0 - [@​medusajs/api-key](https://github.com/medusajs/api-key)@2.22.0 - [@​medusajs/auth-emailpass](https://github.com/medusajs/auth-emailpass)@2.22.0 - [@​medusajs/auth-github](https://github.com/medusajs/auth-github)@2.22.0 - [@​medusajs/auth-google](https://github.com/medusajs/auth-google)@2.22.0 - [@​medusajs/auth-oidc](https://github.com/medusajs/auth-oidc)@2.22.0 - [@​medusajs/auth](https://github.com/medusajs/auth)@2.22.0 - [@​medusajs/cache-inmemory](https://github.com/medusajs/cache-inmemory)@2.22.0 - [@​medusajs/cache-redis](https://github.com/medusajs/cache-redis)@2.22.0 - [@​medusajs/caching-redis](https://github.com/medusajs/caching-redis)@2.22.0 - [@​medusajs/cart](https://github.com/medusajs/cart)@2.22.0 - [@​medusajs/currency](https://github.com/medusajs/currency)@2.22.0 - [@​medusajs/customer](https://github.com/medusajs/customer)@2.22.0 - [@​medusajs/event-bus-local](https://github.com/medusajs/event-bus-local)@2.22.0 - [@​medusajs/event-bus-redis](https://github.com/medusajs/event-bus-redis)@2.22.0 - [@​medusajs/file-local](https://github.com/medusajs/file-local)@2.22.0 - [@​medusajs/file-s3](https://github.com/medusajs/file-s3)@2.22.0 - [@​medusajs/file](https://github.com/medusajs/file)@2.22.0 - [@​medusajs/framework](https://github.com/medusajs/framework)@2.22.0 - [@​medusajs/fulfillment-manual](https://github.com/medusajs/fulfillment-manual)@2.22.0 - [@​medusajs/fulfillment](https://github.com/medusajs/fulfillment)@2.22.0 - [@​medusajs/index](https://github.com/medusajs/index)@2.22.0 - [@​medusajs/inventory](https://github.com/medusajs/inventory)@2.22.0 - [@​medusajs/link-modules](https://github.com/medusajs/link-modules)@2.22.0 - [@​medusajs/locking-postgres](https://github.com/medusajs/locking-postgres)@2.22.0 - [@​medusajs/locking-redis](https://github.com/medusajs/locking-redis)@2.22.0 - [@​medusajs/notification-local](https://github.com/medusajs/notification-local)@2.22.0 - [@​medusajs/notification-sendgrid](https://github.com/medusajs/notification-sendgrid)@2.22.0 - [@​medusajs/notification](https://github.com/medusajs/notification)@2.22.0 - [@​medusajs/order](https://github.com/medusajs/order)@2.22.0 - [@​medusajs/payment](https://github.com/medusajs/payment)@2.22.0 - [@​medusajs/pricing](https://github.com/medusajs/pricing)@2.22.0 - [@​medusajs/product](https://github.com/medusajs/product)@2.22.0 - [@​medusajs/promotion](https://github.com/medusajs/promotion)@2.22.0 - [@​medusajs/rbac](https://github.com/medusajs/rbac)@2.22.0 - [@​medusajs/region](https://github.com/medusajs/region)@2.22.0 - [@​medusajs/sales-channel](https://github.com/medusajs/sales-channel)@2.22.0 - [@​medusajs/search-postgres](https://github.com/medusajs/search-postgres)@2.22.0 - [@​medusajs/search](https://github.com/medusajs/search)@2.22.0 - [@​medusajs/settings](https://github.com/medusajs/settings)@2.22.0 - [@​medusajs/stock-location](https://github.com/medusajs/stock-location)@2.22.0 - [@​medusajs/store](https://github.com/medusajs/store)@2.22.0 - [@​medusajs/tax](https://github.com/medusajs/tax)@2.22.0 - [@​medusajs/translation](https://github.com/medusajs/translation)@2.22.0 - [@​medusajs/user](https://github.com/medusajs/user)@2.22.0 - [@​medusajs/workflow-engine-inmemory](https://github.com/medusajs/workflow-engine-inmemory)@2.22.0 - [@​medusajs/workflow-engine-redis](https://github.com/medusajs/workflow-engine-redis)@2.22.0 - [@​medusajs/caching](https://github.com/medusajs/caching)@2.22.0 - [@​medusajs/locking](https://github.com/medusajs/locking)@2.22.0 - [@​medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0 </details> <details> <summary>medusajs/medusa (@​medusajs/test-utils)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa-test-utils/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - [#​17461](https://github.com/medusajs/medusa/pull/17461) [`bb1cece185d747fcac1e9bd15d99e1189b0d9973`](https://github.com/medusajs/medusa/commit/bb1cece185d747fcac1e9bd15d99e1189b0d9973) Thanks [@​medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(test-utils): read database credentials when connecting instead of at import - Updated dependencies \[[`ea2d48190febf36389aa66242247c180f9f48212`](https://github.com/medusajs/medusa/commit/ea2d48190febf36389aa66242247c180f9f48212), [`67aa48d6b1bbac622d261808b4351521fad8cf42`](https://github.com/medusajs/medusa/commit/67aa48d6b1bbac622d261808b4351521fad8cf42), [`5aebc3e4a163c0e401d8794b2e961021eea5aea0`](https://github.com/medusajs/medusa/commit/5aebc3e4a163c0e401d8794b2e961021eea5aea0), [`7ce874c0ce4df5d9942130a28067ced8b23b126d`](https://github.com/medusajs/medusa/commit/7ce874c0ce4df5d9942130a28067ced8b23b126d), [`52f4c751d2277ab704c1a184c7971a6684e11a74`](https://github.com/medusajs/medusa/commit/52f4c751d2277ab704c1a184c7971a6684e11a74), [`a0b1fffe7082ee326f16f50a1e2bfc978032a2bf`](https://github.com/medusajs/medusa/commit/a0b1fffe7082ee326f16f50a1e2bfc978032a2bf), [`4e723121b0f9e3792b61306af5cbf2ebd9e84d20`](https://github.com/medusajs/medusa/commit/4e723121b0f9e3792b61306af5cbf2ebd9e84d20), [`347a34dc5a193ac2117cbbda6956c3932f40e693`](https://github.com/medusajs/medusa/commit/347a34dc5a193ac2117cbbda6956c3932f40e693), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091), [`4a75f02fbadb204f390bd5989dd0302f8a3f6774`](https://github.com/medusajs/medusa/commit/4a75f02fbadb204f390bd5989dd0302f8a3f6774), [`e07eb2b001fa52621e3176efb36fdf53863d4a80`](https://github.com/medusajs/medusa/commit/e07eb2b001fa52621e3176efb36fdf53863d4a80)]: - [@​medusajs/medusa](https://github.com/medusajs/medusa)@2.22.1 - [@​medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.1 - [@​medusajs/framework](https://github.com/medusajs/framework)@2.22.1 ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa-test-utils/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@​NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - [#​17129](https://github.com/medusajs/medusa/pull/17129) [`0fdcf25c29f3da6d36eb11855ef10044db7da1f1`](https://github.com/medusajs/medusa/commit/0fdcf25c29f3da6d36eb11855ef10044db7da1f1) Thanks [@​bhupinder759](https://github.com/bhupinder759)! - fix(test-utils): remove the unused `inApp` option from `medusaIntegrationTestRunner` `medusaIntegrationTestRunner` accepted an `inApp` option and stored it on the runner, but no code path ever read it, so passing it had no effect. The option and its private field are removed. TypeScript code that still passes `inApp` needs to drop it. - Updated dependencies \[[`9aa921a62139888fed08aee7db1480cff0a3ee40`](https://github.com/medusajs/medusa/commit/9aa921a62139888fed08aee7db1480cff0a3ee40), [`0e087453a34fea61d39d1e416a52ef3417220b2e`](https://github.com/medusajs/medusa/commit/0e087453a34fea61d39d1e416a52ef3417220b2e), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541), [`06bc7ec543e823c92321d582e1faa7f800985fb9`](https://github.com/medusajs/medusa/commit/06bc7ec543e823c92321d582e1faa7f800985fb9), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`906433ac6b1d5ec3cc23f88c8297d29fa87427fd`](https://github.com/medusajs/medusa/commit/906433ac6b1d5ec3cc23f88c8297d29fa87427fd), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93), [`3755f0f08c02548fb97a7b3f5c3403c2f1919ab6`](https://github.com/medusajs/medusa/commit/3755f0f08c02548fb97a7b3f5c3403c2f1919ab6)]: - [@​medusajs/medusa](https://github.com/medusajs/medusa)@2.22.0 - [@​medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.0 - [@​medusajs/framework](https://github.com/medusajs/framework)@2.22.0 </details> <details> <summary>medusajs/medusa (@​medusajs/types)</summary> ### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/types/CHANGELOG.md#2221) [Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1) ##### Patch Changes - [#​17428](https://github.com/medusajs/medusa/pull/17428) [`081bcd2ef57e3d8e946ded205f2bdbd99c2834ba`](https://github.com/medusajs/medusa/commit/081bcd2ef57e3d8e946ded205f2bdbd99c2834ba) Thanks [@​medusa-agents](https://github.com/apps/medusa-agents)! - fix(types): add attribute, value and operator to FilterablePriceRuleProps - [#​17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@​sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data ### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/types/CHANGELOG.md#2220) [Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0) ##### Minor Changes - [#​17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later ##### Patch Changes - [#​17347](https://github.com/medusajs/medusa/pull/17347) [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541) Thanks [@​medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa,types): add `http.requireActorAssociation` config to refuse logins on actor types an auth identity isn't associated with - [`09c7800e9c53ebc654fedcd593b8febde8fc5142`](undefined) - fix(types): type the `status` filter of product list params as an array of statuses - [#​17099](https://github.com/medusajs/medusa/pull/17099) [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2) Thanks [@​sradevski](https://github.com/sradevski)! - feat(payment): register a Medusa Payments provider per Medusa Cloud payment account - [#​16964](https://github.com/medusajs/medusa/pull/16964) [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64) Thanks [@​shahednasser](https://github.com/shahednasser)! - fix(payment,core-flows,medusa,types,utils): let refunds be retried safely with an idempotency key - [#​17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@​shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json - [#​16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@​shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature </details> <details> <summary>swc-project/swc (@​swc/core)</summary> ### [`v1.16.20`](https://github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11620---2026-10-22) [Compare Source](https://github.com/swc-project/swc/compare/v1.16.18...v1.16.20) ##### Bug Fixes - **(es/codegen)** Disambiguate TSX generic arrows ([#​12505](https://github.com/swc-project/swc/issues/12505)) ([2c9d198](https://github.com/swc-project/swc/commit/2c9d19813f05b74a704db9c40ce985e1d5b43d65)) - **(es/codegen)** Preserve non-null token boundaries ([#​12504](https://github.com/swc-project/swc/issues/12504)) ([410ae3a](https://github.com/swc-project/swc/commit/410ae3a0750e2d218eaabc2686d29f08b1e20482)) - **(es/codegen)** Parenthesize typed arrow parameters ([#​12503](https://github.com/swc-project/swc/issues/12503)) ([aa1ffd6](https://github.com/swc-project/swc/commit/aa1ffd682fa211f006b47588da6c2da3c1bf8abe)) - **(es/codegen)** Preserve TypeScript token boundaries ([#​12523](https://github.com/swc-project/swc/issues/12523)) ([9f36ae0](https://github.com/swc-project/swc/commit/9f36ae0b999c727900649518220adb2f4f8a1ac1)) - **(es/codegen)** Emit space after div if rhs starts with a regex ([#​12544](https://github.com/swc-project/swc/issues/12544)) ([dddf716](https://github.com/swc-project/swc/commit/dddf7168a086ab1b98461071a1fa63215a08e8ab)) - **(es/codegen)** Preserve optional call type arguments ([#​12549](https://github.com/swc-project/swc/issues/12549)) ([f7bef4d](https://github.com/swc-project/swc/commit/f7bef4daaf6e38e40991088120165260eb1f51d3)) - **(es/compat)** Scope private access modes to each member ([#​12526](https://github.com/swc-project/swc/issues/12526)) ([c0e3fa1](https://github.com/swc-project/swc/commit/c0e3fa13fd664634fc662087f3920e628c1a8001)) - **(es/fixer)** Preserve TypeScript expression grouping ([#​12518](https://github.com/swc-project/swc/issues/12518)) ([b9d3f8f](https://github.com/swc-project/swc/commit/b9d3f8fb383b385035dea2f48f258ff9eb04a062)) - **(es/fixer)** Preserve TypeScript operand grouping ([#​12539](https://github.com/swc-project/swc/issues/12539)) ([7c4a214](https://github.com/swc-project/swc/commit/7c4a21418c1a5df95e8eccb7a4d125460c44e92a)) - **(es/fixer)** Avoid panicking on recovered parenthesized assignment targets ([#​12551](https://github.com/swc-project/swc/issues/12551)) ([ec34371](https://github.com/swc-project/swc/commit/ec34371a49973bf076ccd8e489e7bed730e7cef6)) - **(es/fixer)** Preserve optional chain boundaries ([#​12550](https://github.com/swc-project/swc/issues/12550)) ([01d5630](https://github.com/swc-project/swc/commit/01d5630d40e939de3a1b4f5b83ed9918eaa0948e)) - **(es/fixer)** Wrap function declarations in sloppy-mode loop bodies ([#​12567](https://github.com/swc-project/swc/issues/12567)) ([76ff943](https://github.com/swc-project/swc/commit/76ff943b6380be9176be3983863e4d6899fafd01)) - **(es/minifier)** Bound literal expressions copied by the sequential inliner ([#​12521](https://github.com/swc-project/swc/issues/12521)) ([60c700f](https://github.com/swc-project/swc/commit/60c700f2eeb600973b2547b2d3d28ac22ef8e9f7)) - **(es/minifier)** Preserve rest array identity when its reference runs more than once ([#​12546](https://github.com/swc-project/swc/issues/12546)) ([4768dbe](https://github.com/swc-project/swc/commit/4768dbe091a6706a009d2e9c08950cacba107d55)) - **(es/minifier)** Keep `trimLeft` and `trimRight` on string literals ([#​12574](https://github.com/swc-project/swc/issues/12574)) ([663ffb0](https://github.com/swc-project/swc/commit/663ffb0c36c83e276b3fba4db3b917aee24033dc)) - **(es/minifier)** Keep directive prologue when merging if returns ([#​12580](https://github.com/swc-project/swc/issues/12580)) ([fd0edaf](https://github.com/swc-project/swc/commit/fd0edaff3484beb2293eac47e8e8126b41825f60)) - **(es/minifier)** Preserve new async and generator ([#​12558](https://github.com/swc-project/swc/issues/12558)) ([8f06994](https://github.com/swc-project/swc/commit/8f06994bbe4e1770f54e8e1213535205529a986c)) - **(es/minifier)** Release utils API required by registry builds ([#​12582](https://github.com/swc-project/swc/issues/12582)) ([b5a52b9](https://github.com/swc-project/swc/commit/b5a52b9a9d4b7f8c3e38628167e937037d831860)) - **(es/parser)** Isolate enum await context ([#​12506](https://github.com/swc-project/swc/issues/12506)) ([b789495](https://github.com/swc-project/swc/commit/b7894951bee205f85e498d36fcd0b20f14015f93)) - **(es/parser)** Allow await function names in async arrow parameters ([#​12517](https://github.com/swc-project/swc/issues/12517)) ([0827541](https://github.com/swc-project/swc/commit/08275410814e2922683d671125ade1c603de7067)) - **(es/parser)** Preserve invalid JSX numeric entities as literal text ([#​12524](https://github.com/swc-project/swc/issues/12524)) ([31b5fb9](https://github.com/swc-project/swc/commit/31b5fb9ae6e6769dc02d857fc1ea8eeb76b5a051)) - **(es/parser)** Allow namespace await identifiers ([#​12507](https://github.com/swc-project/swc/issues/12507)) ([3daa5dc](https://github.com/swc-project/swc/commit/3daa5dcce773a2994ff7f52d9ef72fdd7fec67ee)) - **(es/parser)** Align TypeScript expression lookahead ([#​12535](https://github.com/swc-project/swc/issues/12535)) ([7ef5966](https://github.com/swc-project/swc/commit/7ef5966233bf90cd662bb6b45b2826cc1fb28c99)) - **(es/parser)** Do not treat optional get/set fields as accessors ([#​12559](https://github.com/swc-project/swc/issues/12559)) ([a2fedec](https://github.com/swc-project/swc/commit/a2fedece141de509f81ca5187f0b2236507ac832)) - **(es/parser)** Recover non-entity expressions in TypeScript heritage clauses ([#​12552](https://github.com/swc-project/swc/issues/12552)) ([48586cb](https://github.com/swc-project/swc/commit/48586cb8cf850bd6d4666fd2d53df64af058452e)) - **(native)** Allow unmapped overflow owners in Linux cache ancestors ([#​12547](https://github.com/swc-project/swc/issues/12547)) ([8ce7daa](https://github.com/swc-project/swc/commit/8ce7daa2cd0a304c02c9bd66399a6c74dbe651dc)) - **(native-addon)** Use ProgramData after unsafe Windows profile caches ([#​12534](https://github.com/swc-project/swc/issues/12534)) ([47394b8](https://github.com/swc-project/swc/commit/47394b851f73489672016f30a24806f6edd74946)) - **(react-compiler)** Preserve intrinsic JSX tags during binding renames ([#​12536](https://github.com/swc-project/swc/issues/12536)) ([c25e42e](https://github.com/swc-project/swc/commit/c25e42eba9028dc297f5c1953c37e6314ea3bb87)) - **(ts/fast-strip)** Preserve runtime boundaries during type erasure ([#​12575](https://github.com/swc-project/swc/issues/12575)) ([ccdc3c1](https://github.com/swc-project/swc/commit/ccdc3c12eb1179ff3a07ccfea0829a624617d935)) ##### Documentation - Prohibit references to issue-linked PRs and external SWC forks ([#​12513](https://github.com/swc-project/swc/issues/12513)) ([5092a16](https://github.com/swc-project/swc/commit/5092a16cef14093df987a37334bb3253db4649e0)) - Add CodSpeed sponsor logo to README ([#​12590](https://github.com/swc-project/swc/issues/12590)) ([9c5b1df](https://github.com/swc-project/swc/commit/9c5b1df49152de69cf239ad96f08dc0ad5ca89a0)) ##### Features - **(es/minifier)** Inline async function used only once ([#​12416](https://github.com/swc-project/swc/issues/12416)) ([b9b2ebe](https://github.com/swc-project/swc/commit/b9b2ebe1bb3623bd5219726d592d1968fbc8b4a1)) - **(es/minifier)** Implement more rules for if-break ([#​12561](https://github.com/swc-project/swc/issues/12561)) ([644f85a](https://github.com/swc-project/swc/commit/644f85aa7f4c4bf70c2711054217894621c558cc)) ##### Performance - **(es/parser)** Streamline numeric separator stripping ([#​12515](https://github.com/swc-project/swc/issues/12515)) ([220a82c](https://github.com/swc-project/swc/commit/220a82ccc9d4412a3aa2094d72ffa43eb337c786)) - **(hstr)** Allow Atom::as_str to inline across crates ([#​12522](https://github.com/swc-project/swc/issues/12522)) ([c07290b](https://github.com/swc-project/swc/commit/c07290bb931df2a415649bd1fbda86b312426034)) ##### Testing - **(es/transforms)** Isolate transform timing from AST cloning ([#​12540](https://github.com/swc-project/swc/issues/12540)) ([63ee4aa](https://github.com/swc-project/swc/commit/63ee4aad6baf566cd6ba0fcce74f8ff226a2d8cb)) ##### Ci - Allow vjeux as a React contributor ([#​12520](https://github.com/swc-project/swc/issues/12520)) ([4e8ee99](https://github.com/swc-project/swc/commit/4e8ee99048e304d2908844eb5aa2ebb38f80bc87)) - Allow jimmyhmiller in the Next.js group ([#​12532](https://github.com/swc-project/swc/issues/12532)) ([346a025](https://github.com/swc-project/swc/commit/346a025cd7738762442c99f9582c9dcee0f46b1c)) - Ignore unreachable ruzstd advisory in Wasmer ([#​12533](https://…
Description:
The fixer removes parentheses required by TypeScript in expressions such as
(value as T) ? /a/ : otherand(f<T>) + other, causing syntax errors or changing the parsed AST.Preserve required grouping for conditional casts, instantiation expressions before binary operators, and
awaitor type assertions on the left of exponentiation. Scope TS lookahead state to each operand.