Skip to content

Add effectFnImplicitAny diagnostic#692

Merged
mattiamanzati merged 1 commit intomainfrom
backport-effectfn-implicit-any
Mar 23, 2026
Merged

Add effectFnImplicitAny diagnostic#692
mattiamanzati merged 1 commit intomainfrom
backport-effectfn-implicit-any

Conversation

@mattiamanzati
Copy link
Copy Markdown
Contributor

Summary

  • add a new effectFnImplicitAny diagnostic that mirrors noImplicitAny for unannotated Effect.fn and Effect.fnUntraced callback parameters
  • only enable the diagnostic when noImplicitAny is active, and add // @strict support in diagnostic fixtures so example files can opt into strict compiler options
  • cover the new rule in v3/v4 diagnostic snapshots, metadata, README, schema output, and diagnostic comment completions

Example

// @strict
import * as Effect from "effect/Effect"

export const preview = Effect.fn("preview")((input) => Effect.succeed(input))

This now reports effectFnImplicitAny on input because the callback parameter has no annotation and there is no outer contextual function type.

Testing

  • pnpm lint-fix
  • pnpm check
  • pnpm test
  • pnpm test:v4

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 23, 2026

🦋 Changeset detected

Latest commit: 0d1e2a1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@effect/language-service Minor

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

@mattiamanzati mattiamanzati merged commit 57fcf35 into main Mar 23, 2026
5 checks passed
@mattiamanzati mattiamanzati deleted the backport-effectfn-implicit-any branch March 23, 2026 09:37
@github-actions github-actions bot mentioned this pull request Mar 21, 2026
MrNaif2018 pushed a commit to bitcart/bitcart-frontend that referenced this pull request Apr 6, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`0.81.0` → `0.84.2`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.81.0/0.84.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.84.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.81.0/0.84.2?slim=true) |
| [@lingui/babel-plugin-lingui-macro](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.3/5.9.4?slim=true) |
| [@lingui/cli](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fcli/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcli/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcli/5.9.3/5.9.4?slim=true) |
| [@lingui/conf](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/conf)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fconf/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fconf/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fconf/5.9.3/5.9.4?slim=true) |
| [@lingui/core](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/core)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fcore/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcore/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcore/5.9.3/5.9.4?slim=true) |
| [@lingui/react](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/react)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2freact/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2freact/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2freact/5.9.3/5.9.4?slim=true) |
| [@lingui/vite-plugin](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/vite-plugin)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fvite-plugin/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fvite-plugin/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fvite-plugin/5.9.3/5.9.4?slim=true) |
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://github.com/TanStack/query/tree/HEAD/packages/react-query)) | [`5.95.0` → `5.95.2`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/5.95.0/5.95.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-query/5.95.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-query/5.95.0/5.95.2?slim=true) |
| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | [`17.3.9` → `17.3.10`](https://renovatebot.com/diffs/npm/dependency-cruiser/17.3.9/17.3.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/dependency-cruiser/17.3.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dependency-cruiser/17.3.9/17.3.10?slim=true) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`1.6.0` → `1.7.0`](https://renovatebot.com/diffs/npm/lucide-react/1.6.0/1.7.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/1.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/1.6.0/1.7.0?slim=true) |
| [nx](https://nx.dev) ([source](https://github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`22.6.1` → `22.6.3`](https://renovatebot.com/diffs/npm/nx/22.6.1/22.6.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nx/22.6.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/22.6.1/22.6.3?slim=true) |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be` → `10.33.0`](https://renovatebot.com/diffs/npm/pnpm/10.32.1/10.33.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.33.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.32.1/10.33.0?slim=true) |
| [tsdown](http://tsdown.dev/) ([source](https://github.com/rolldown/tsdown)) | [`0.21.5` → `0.21.7`](https://renovatebot.com/diffs/npm/tsdown/0.21.5/0.21.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.21.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.21.5/0.21.7?slim=true) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`8.0.1` → `8.0.3`](https://renovatebot.com/diffs/npm/vite/8.0.1/8.0.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.0.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.0.1/8.0.3?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.84.2`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.2)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.1...@effect/language-service@0.84.2)

##### Patch Changes

- [#&#8203;706](Effect-TS/language-service#706) [`3c0bea6`](Effect-TS/language-service@3c0bea6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `getTypeAtLocation` to ignore type-only heritage expressions like `interface X extends Effect.Effect<...>` so the language service no longer triggers bogus TS2689 diagnostics.

### [`v0.84.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.0...@effect/language-service@0.84.1)

##### Patch Changes

- [#&#8203;703](Effect-TS/language-service#703) [`dea43b8`](Effect-TS/language-service@dea43b8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `effectFnImplicitAny` so it does not report false positives when an `Effect.fn` or `Effect.fnUntraced` callback gets its contextual function type from a union member.

  For example, nested `HttpRouter.add(...)` handlers now correctly recognize the inferred `request` type and produce no diagnostics when the parameter is not actually implicit `any`.

- [#&#8203;702](Effect-TS/language-service#702) [`0af9b98`](Effect-TS/language-service@0af9b98) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add Effect v4 support for the `runEffectInsideEffect` diagnostic so it suggests and fixes `Effect.run*With` usage based on `Effect.services`.

  Update the generated metadata, schema, README entry, and v4 harness examples/snapshots to document and verify the new behavior.

### [`v0.84.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.1...@effect/language-service@0.84.0)

##### Minor Changes

- [#&#8203;696](Effect-TS/language-service#696) [`78e78d5`](Effect-TS/language-service@78e78d5) Thanks [@&#8203;cevr](https://github.com/cevr)! - Add paired globalDate/globalDateInEffect, globalConsole/globalConsoleInEffect, globalFetch/globalFetchInEffect, globalRandom/globalRandomInEffect, and globalTimers/globalTimersInEffect diagnostics

  Ten new opt-in diagnostics that flag global/DOM APIs both outside and inside Effect generators:

  - `globalFetch` / `globalFetchInEffect` — `fetch()` → HttpClient
  - `globalDate` / `globalDateInEffect` — `Date.now()`, `new Date()` → Clock/DateTime
  - `globalConsole` / `globalConsoleInEffect` — `console.log/warn/error/info/debug/trace` → Effect.log/Logger
  - `globalRandom` / `globalRandomInEffect` — `Math.random()` → Random service
  - `globalTimers` / `globalTimersInEffect` — `setTimeout/setInterval` → Effect.sleep/Schedule

  All default to `off`. Enable both variants for full coverage inside and outside Effect generators. Shadow-safe (e.g. `const console = yield* Console` won't false-positive).

### [`v0.83.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.0...@effect/language-service@0.83.1)

##### Patch Changes

- [#&#8203;698](Effect-TS/language-service#698) [`b11c184`](Effect-TS/language-service@b11c184) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 workspace dependencies to `4.0.0-beta.38`.

### [`v0.83.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.82.0...@effect/language-service@0.83.0)

##### Minor Changes

- [#&#8203;695](Effect-TS/language-service#695) [`f057090`](Effect-TS/language-service@f057090) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add a `config` CLI command for updating diagnostic rule severities without rerunning the full setup flow.

- [#&#8203;693](Effect-TS/language-service#693) [`b5054e3`](Effect-TS/language-service@b5054e3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add setup CLI preset management for diagnostic severities, including preset metadata, preset-aware customization, and a dedicated `config` command for adjusting rule severities without rerunning full setup.

### [`v0.82.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.82.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.81.0...@effect/language-service@0.82.0)

##### Minor Changes

- [#&#8203;689](Effect-TS/language-service#689) [`aed2074`](Effect-TS/language-service@aed2074) Thanks [@&#8203;f15u](https://github.com/f15u)! - Adds ability to reference `$schema` from local installation

- [#&#8203;692](Effect-TS/language-service#692) [`57fcf35`](Effect-TS/language-service@57fcf35) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectFnImplicitAny` diagnostic to mirror `noImplicitAny` for unannotated `Effect.fn` and `Effect.fnUntraced` callback parameters, and support `// @&#8203;strict` in diagnostic example files so test fixtures can enable strict compiler options.

##### Patch Changes

- [#&#8203;687](Effect-TS/language-service#687) [`72827c0`](Effect-TS/language-service@72827c0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Allow the leaking requirements diagnostic to suppress specific leaked services with `@effect-expect-leaking` comments on the enclosing declaration.

- [#&#8203;690](Effect-TS/language-service#690) [`77906a9`](Effect-TS/language-service@77906a9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix the class self mismatch diagnostic so it also reports invalid `ServiceMap.Service` self type parameters.

- [#&#8203;691](Effect-TS/language-service#691) [`0e16db0`](Effect-TS/language-service@0e16db0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Include start and end in json diagnostics command

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/babel-plugin-lingui-macro)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/babel-plugin-lingui-macro/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/babel-plugin-lingui-macro](https://github.com/lingui/babel-plugin-lingui-macro)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/cli)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/cli/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

##### Bug Fixes

- really keep catalog extra from previous catalog ([#&#8203;2479](lingui/js-lingui#2479)) ([c939113](lingui/js-lingui@c939113))

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/conf)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/conf/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/conf](https://github.com/lingui/conf)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/core)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/core/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/core](https://github.com/lingui/core)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/react)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/react/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/react](https://github.com/lingui/react)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/vite-plugin)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/vite-plugin/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/vite-plugin](https://github.com/lingui/vite-plugin)

</details>

<details>
<summary>TanStack/query (@&#8203;tanstack/react-query)</summary>

### [`v5.95.2`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5952)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.95.1...@tanstack/react-query@5.95.2)

##### Patch Changes

- Updated dependencies \[[`cd5a35b`](TanStack/query@cd5a35b)]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.95.2

### [`v5.95.1`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5951)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.95.0...@tanstack/react-query@5.95.1)

##### Patch Changes

- Updated dependencies \[[`1f1775c`](TanStack/query@1f1775c)]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.95.1

</details>

<details>
<summary>sverweij/dependency-cruiser (dependency-cruiser)</summary>

### [`v17.3.10`](https://github.com/sverweij/dependency-cruiser/releases/tag/v17.3.10)

[Compare Source](sverweij/dependency-cruiser@v17.3.9...v17.3.10)

#### 👷 maintenance

- [`e401673`](sverweij/dependency-cruiser@e401673d) chore(npm): updates external dependencies
  Includes a bump of picomatch that has a vulnerability that is irrelevant for dependency-cruiser's context, but that nonetheless might trigger security scanners.

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v1.7.0`](https://github.com/lucide-icons/lucide/releases/tag/1.7.0): Version 1.7.0

[Compare Source](lucide-icons/lucide@1.6.0...1.7.0)

#### What's Changed

- fix(lucide-react): Fix dynamic imports by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4210](lucide-icons/lucide#4210)
- feat(icons): added `map-pin-search` icon by [@&#8203;TonySullivan](https://github.com/TonySullivan) in [#&#8203;4125](lucide-icons/lucide#4125)

#### New Contributors

- [@&#8203;TonySullivan](https://github.com/TonySullivan) made their first contribution in [#&#8203;4125](lucide-icons/lucide#4125)

**Full Changelog**: <lucide-icons/lucide@1.6.0...1.7.0>

</details>

<details>
<summary>nrwl/nx (nx)</summary>

### [`v22.6.3`](https://github.com/nrwl/nx/releases/tag/22.6.3)

[Compare Source](nrwl/nx@22.6.2...22.6.3)

#### 22.6.3 (2026-03-27)

##### 🚀 Features

- **misc:** a/b test cloud prompt copy in create-nx-workspace ([#&#8203;35039](nrwl/nx#35039))

##### 🩹 Fixes

- **js:** add {projectRoot} prefix to d.ts fileset in typescript plugin ([#&#8203;35037](nrwl/nx#35037))
- **misc:** use namespace import for chalk v4 compatibility ([7c9f873bd1](nrwl/nx@7c9f873bd1))
- **misc:** handle non-interactive mode and add template shorthand names for CNW ([#&#8203;35045](nrwl/nx#35045))

##### ❤️ Thank You

- FrozenPandaz [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo)
- Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)

### [`v22.6.2`](https://github.com/nrwl/nx/releases/tag/22.6.2)

[Compare Source](nrwl/nx@22.6.1...22.6.2)

#### 22.6.2 (2026-03-26)

##### 🚀 Features

- **core:** auto-open browser for Cloud setup URL during create-nx-workspace ([#&#8203;35014](nrwl/nx#35014))
- **repo:** add nx-labs repo target and use glob pattern for update-all-repos ([#&#8203;34999](nrwl/nx#34999))

##### 🩹 Fixes

- **angular:** update duplicate migration keys ([#&#8203;34961](nrwl/nx#34961))
- **angular-rspack:** ensure rebuild chunks emitted summary accurate ([#&#8203;34979](nrwl/nx#34979), [#&#8203;34936](nrwl/nx#34936))
- **bundling:** disable swc input source map resolution ([#&#8203;35010](nrwl/nx#35010), [#&#8203;32671](nrwl/nx#32671))
- **core:** split-target should handle projects with colons in name better ([#&#8203;34725](nrwl/nx#34725))
- **core:** prevent TUI crash when task output arrives after completion ([#&#8203;34785](nrwl/nx#34785), [#&#8203;34677](nrwl/nx#34677))
- **core:** respect --parallel limit for discrete task concurrency ([#&#8203;34721](nrwl/nx#34721), [#&#8203;34117](nrwl/nx#34117), [#&#8203;31494](nrwl/nx#31494))
- **core:** use scroll-offset-based scrollbar positioning in TUI ([#&#8203;34689](nrwl/nx#34689))
- **core:** skip import-equals namespace aliases in native scanner ([#&#8203;34947](nrwl/nx#34947), [#&#8203;34644](nrwl/nx#34644))
- **core:** include command name on all telemetry events ([#&#8203;34949](nrwl/nx#34949))
- **core:** skip workspace context setup when global bin hands off to local ([#&#8203;34953](nrwl/nx#34953), [#&#8203;34914](nrwl/nx#34914))
- **core:** use upsert to prevent FK constraint violations in task DB ([#&#8203;34977](nrwl/nx#34977))
- **core:** runtime inputs shouldn't be cached at task\_hasher layer and filesets should be in the hash\_plans layer ([#&#8203;34971](nrwl/nx#34971), [#&#8203;30170](nrwl/nx#30170))
- **core:** show better log message when isolated plugin shuts down after hook completion ([#&#8203;34922](nrwl/nx#34922))
- **core:** handle owners and conformance project refs on move/remove ([#&#8203;34815](nrwl/nx#34815))
- **core:** resolve published nx migrate package resolution ([#&#8203;35013](nrwl/nx#35013), [#&#8203;34111](nrwl/nx#34111))
- **core:** prevent batch executor error on prematurely completed tasks ([#&#8203;35015](nrwl/nx#35015))
- **core:** add timeouts to GitHub push flow to prevent CLI hangs ([#&#8203;35011](nrwl/nx#35011), [#&#8203;34482](nrwl/nx#34482))
- **devkit:** prevent double install in generators for TS solution workspaces ([#&#8203;34891](nrwl/nx#34891))
- **devkit:** add startTime and endTime to TaskResult interface ([#&#8203;34996](nrwl/nx#34996))
- **gradle:** ignore test enums when atomizing ([#&#8203;34974](nrwl/nx#34974))
- **js:** pass configName to typecheck command in TS plugin ([#&#8203;34989](nrwl/nx#34989), [#&#8203;34274](nrwl/nx#34274))
- **js:** add input on .d.ts files within dependency projects ([#&#8203;34968](nrwl/nx#34968))
- **linter:** prepend framework configs before baseConfig in flat config generation ([#&#8203;34898](nrwl/nx#34898), [#&#8203;28381](nrwl/nx#28381), [#&#8203;32923](nrwl/nx#32923))
- **misc:** make webinar banner theme-aware with light mode support ([#&#8203;35029](nrwl/nx#35029))
- **module-federation:** enable ESM output for Angular rspack MF plugin ([#&#8203;34839](nrwl/nx#34839), [#&#8203;34584](nrwl/nx#34584), [#&#8203;33992](nrwl/nx#33992))
- **nx-cloud:** remove invalid images ([#&#8203;34997](nrwl/nx#34997), [#&#8203;34970](nrwl/nx#34970))
- **nx-dev:** build nx-dev in-place to fix ai package resolution ([#&#8203;34730](nrwl/nx#34730), [#&#8203;34669](nrwl/nx#34669))
- **nx-dev:** improve docs search ranking and metrics ([#&#8203;34992](nrwl/nx#34992))
- **release:** fall back to gh user search for author usernames ([#&#8203;34904](nrwl/nx#34904))
- **repo:** skip flaky Cypress HMR e2e tests ([#&#8203;34969](nrwl/nx#34969))
- **repo:** resolve FreeBSD build disk space issue ([#&#8203;35030](nrwl/nx#35030))
- **vite:** add support for Vite 8 ([#&#8203;34850](nrwl/nx#34850), [#&#8203;34849](nrwl/nx#34849))
- **vitest:** resolve addPlugin default in init generator ([#&#8203;34990](nrwl/nx#34990))

##### ❤️ Thank You

- AgentEnder [@&#8203;AgentEnder](https://github.com/AgentEnder)
- AI-JamesHenry [@&#8203;AI-JamesHenry](https://github.com/AI-JamesHenry)
- Amp
- barbados-clemens [@&#8203;barbados-clemens](https://github.com/barbados-clemens)
- Caleb Ukle
- Charlie Croom
- Claude Opus 4.6
- Colum Ferry [@&#8203;Coly010](https://github.com/Coly010)
- Craigory Coppola [@&#8203;AgentEnder](https://github.com/AgentEnder)
- FrozenPandaz [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Jack Baker
- Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo)
- Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- jaysoo [@&#8203;jaysoo](https://github.com/jaysoo)
- Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://github.com/leosvelperez)
- Louie Weng [@&#8203;lourw](https://github.com/lourw)
- Robert Sidzinka
- Steven Nance

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v10.33.0`](https://github.com/pnpm/pnpm/releases/tag/v10.33.0): pnpm 10.33

[Compare Source](pnpm/pnpm@v10.32.1...v10.33.0)

#### Minor Changes

- Added a new `dedupePeers` setting that reduces peer dependency duplication. When enabled, peer dependency suffixes use version-only identifiers (`name@version`) instead of full dep paths, eliminating nested suffixes like `(foo@1.0.0(bar@2.0.0))`. This dramatically reduces the number of package instances in projects with many recursive peer dependencies [#&#8203;11070](pnpm/pnpm#11070).

#### Patch Changes

- Fail on incompatible lockfiles in CI when frozen lockfile mode is enabled, while preserving non-frozen CI fallback behavior.

- When package metadata is malformed or can't be fetched, the error thrown will now show the originating error.

- Fixed intermittent failures when multiple `pnpm dlx` calls run concurrently for the same package. When the global virtual store is enabled, the importer now verifies file content before skipping a rename, avoiding destructive swap-renames that break concurrent processes. Also tolerates EPERM during bin creation on Windows and properly propagates `enableGlobalVirtualStore` through the install pipeline.

- Fixed handling of non-string version selectors in `hoistPeers`, preventing invalid peer dependency specifiers.

- Improve the non-interactive modules purge error hint to include the `confirmModulesPurge=false` workaround.

  When pnpm needs to recreate `node_modules` but no TTY is available, the error now suggests either setting `CI=true` or disabling the purge confirmation prompt via `confirmModulesPurge=false`.

  Adds a regression test for the non-TTY flow.

- Fixed false "Command not found" errors on Windows when a command exists in PATH but exits with a non-zero code. Also fixed path resolution for `--filter` contexts where the command runs in a different package directory.

- When a pnpm-lock.yaml contains two documents, ignore the first one. pnpm v11 will write two lockfile documents into pnpm-lock.yaml in order to store pnpm version integrities and config dependency resolutions.

- Fixed a bug preventing the `clearCache` function returned by `createNpmResolver` from properly clearing metadata cache.

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" />
            <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
            <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" />
            <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
            <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
            <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
            <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
            <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

</details>

<details>
<summary>rolldown/tsdown (tsdown)</summary>

### [`v0.21.7`](https://github.com/rolldown/tsdown/releases/tag/v0.21.7)

[Compare Source](rolldown/tsdown@v0.21.6...v0.21.7)

#####    🚀 Features

- Add `module` option for attw and publint to allow passing imported modules directly  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(31e90)</samp>](rolldown/tsdown@31e90c1)

#####    🐞 Bug Fixes

- **deps**: Add skipNodeModulesBundle dep subpath e2e tests and fix docs  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(deff7)</samp>](rolldown/tsdown@deff72c)

#####     [View changes on GitHub](rolldown/tsdown@v0.21.6...v0.21.7)

### [`v0.21.6`](https://github.com/rolldown/tsdown/releases/tag/v0.21.6)

[Compare Source](rolldown/tsdown@v0.21.5...v0.21.6)

#####    🚀 Features

- Upgrade rolldown to v1.0.0-rc.12  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(51292)</samp>](rolldown/tsdown@512926d)
- **config**:
  - Pass root config to workspace config functions  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(76169)</samp>](rolldown/tsdown@7616960)
  - Use mergeConfig for workspace config merging and support variadic overrides  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(148aa)</samp>](rolldown/tsdown@148aaaa)
- **dts**:
  - Add `cjsReexport` option to eliminate dual module type hazard  -  by [@&#8203;mandarini](https://github.com/mandarini) and [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;856](rolldown/tsdown#856) [<samp>(875c1)</samp>](rolldown/tsdown@875c1b3)
- **exports**:
  - Add `bin` option to auto-generate package.json bin field  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;869](rolldown/tsdown#869) [<samp>(7ebd6)</samp>](rolldown/tsdown@7ebd62d)

#####    🐞 Bug Fixes

- **css**:
  - Compile preprocessor langs in virtual CSS modules  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;865](rolldown/tsdown#865) [<samp>(7b2e0)</samp>](rolldown/tsdown@7b2e0f9)
  - Strip `.module` from CSS output filenames  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;866](rolldown/tsdown#866) [<samp>(03ade)</samp>](rolldown/tsdown@03ade19)
  - Default splitting to true in unbundle mode for CSS inject  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;867](rolldown/tsdown#867) [<samp>(a4da6)</samp>](rolldown/tsdown@a4da6af)
  - Split CSS plugin into pre/post phases for scoped CSS support  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;870](rolldown/tsdown#870) [<samp>(ff0c4)</samp>](rolldown/tsdown@ff0c45a)
- **entry**:
  - Correctly output relative paths in logger output  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(00050)</samp>](rolldown/tsdown@0005096)

#####     [View changes on GitHub](rolldown/tsdown@v0.21.5...v0.21.6)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v8.0.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

[Compare Source](vitejs/vite@v8.0.2...v8.0.3)

##### Features

- update rolldown to 1.0.0-rc.12 ([#&#8203;22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#&#8203;22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#&#8203;21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#&#8203;22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#&#8203;22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#&#8203;22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#&#8203;22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#&#8203;22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))

### [`v8.0.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

[Compare Source](vitejs/vite@v8.0.1...v8.0.2)

##### Features

- update rolldown to 1.0.0-rc.11 ([#&#8203;21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@&#8203;vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#&#8203;21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIwLjAuMC1zZW1hbnRpYy1yZWxlYXNlIiwidXBkYXRlZEluVmVyIjoiMC4wLjAtc2VtYW50aWMtcmVsZWFzZSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Reviewed-on: https://git.bitcart.ai/bitcart/bitcart-frontend/pulls/181
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant