Update dependency @effect/language-service to ^0.72.0 (#32)
All checks were successful
Lint / lint (push) Successful in 12s

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.65.0` → `^0.72.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.65.0/0.72.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.72.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.65.0/0.72.0?slim=true) |

---

### Release Notes

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

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

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

##### Minor Changes

- [#&#8203;627](https://github.com/Effect-TS/language-service/pull/627) [`a34f997`](a34f997af3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor internal structure and harness

### [`v0.71.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0712)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.71.1...v0.71.2)

##### Patch Changes

- [#&#8203;625](https://github.com/Effect-TS/language-service/pull/625) [`422087d`](422087d012) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix CLI patching to target `emitFilesAndReportErrors` function instead of `emitFilesAndReportErrorsAndGetExitStatus`, updating the injection approach to replace the diagnostics property in the return statement's object literal.

### [`v0.71.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0711)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.71.0...v0.71.1)

##### Patch Changes

- [#&#8203;624](https://github.com/Effect-TS/language-service/pull/624) [`d279457`](d279457ed5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `ignoreEffectSuggestionsInTscExitCode` option (default: `true`) to control whether Effect-related suggestions affect the TSC exit code. When enabled, suggestions won't cause `tsc` to return a non-zero exit code.

- [#&#8203;622](https://github.com/Effect-TS/language-service/pull/622) [`5eab20a`](5eab20a1a8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `ignoreEffectWarningsInTscExitCode` option to allow Effect-related warnings to not affect the TSC exit code. When enabled, `tsc` will compile successfully even if Effect warnings are emitted. This is useful for CI/CD pipelines where Effect diagnostics should be informational rather than blocking.

### [`v0.71.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0710)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.70.0...v0.71.0)

##### Minor Changes

- [#&#8203;619](https://github.com/Effect-TS/language-service/pull/619) [`f171350`](f171350ffc) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectSucceedWithVoid` diagnostic to suggest using `Effect.void` instead of `Effect.succeed(undefined)` or `Effect.succeed(void 0)`.

  The diagnostic detects calls to `Effect.succeed` where the argument is exactly `undefined` or `void 0` (including parenthesized variants) and suggests replacing them with the more idiomatic `Effect.void`. A quick fix is provided to automatically apply the replacement.

  Before:

  ```typescript
  Effect.succeed(undefined);
  Effect.succeed(void 0);
  ```

  After:

  ```typescript
  Effect.void;
  ```

##### Patch Changes

- [#&#8203;621](https://github.com/Effect-TS/language-service/pull/621) [`74ef937`](74ef937ae0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve diagnostic messages for `globalErrorInEffectFailure` and `globalErrorInEffectCatch` to be more concise and actionable.

  Before:

  ```
  The global Error type is used in an Effect failure channel. It's not recommended to use the global Error type in Effect failures as they can get merged together. Instead, use tagged errors or custom errors with a discriminator property to get properly type-checked errors.
  ```

  After:

  ```
  Global 'Error' loses type safety as untagged errors merge together in the Effect failure channel. Consider using a tagged error and optionally wrapping the original in a 'cause' property.
  ```

### [`v0.70.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0700)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.2...v0.70.0)

##### Minor Changes

- [#&#8203;618](https://github.com/Effect-TS/language-service/pull/618) [`ed689f8`](ed689f8e55) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `globalErrorInEffectFailure` diagnostic to detect global Error type in any Effect failure channel.

  The diagnostic now works by finding `new Error()` expressions and checking if they end up in an Effect's failure channel, rather than only checking `Effect.fail` calls. This means it will now detect global Error usage in:

  - `Effect.fail(new Error(...))`
  - `Effect.gen` functions that fail with global Error
  - `Effect.mapError` converting to global Error
  - `Effect.flatMap` chains that include global Error

  The diagnostic now reports at the `new Error()` location for better precision.

##### Patch Changes

- [#&#8203;616](https://github.com/Effect-TS/language-service/pull/616) [`b32da44`](b32da446de) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `missedPipeableOpportunity` diagnostic message to show the suggested subject for `.pipe(...)`.

  Before:

  ```
  Nested function calls can be converted to pipeable style for better readability.
  ```

  After:

  ```
  Nested function calls can be converted to pipeable style for better readability; consider using addOne(5).pipe(...) instead.
  ```

### [`v0.69.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0692)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.1...v0.69.2)

##### Patch Changes

- [#&#8203;612](https://github.com/Effect-TS/language-service/pull/612) [`2b49181`](2b49181323) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnIife diagnostic message to suggest Effect.withSpan with the trace name when available

  When `Effect.fn("traceName")` is used as an IIFE, the diagnostic now suggests using `Effect.gen` with `Effect.withSpan("traceName")` piped at the end to maintain tracing spans. For `Effect.fnUntraced`, it simply suggests using `Effect.gen` without the span suggestion.

- [#&#8203;615](https://github.com/Effect-TS/language-service/pull/615) [`ae4f054`](ae4f054cdd) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnOpportunity diagnostic with more specific messages and configurable fixes

  - Add new `effectFn` configuration option to control which code fix variants are offered: `"untraced"`, `"span"`, `"inferred-span"`, `"no-span"` (defaults to `["span"]`)
  - Diagnostic message now shows the exact expected signature for the rewrite
  - Distinguish between explicit trace from `Effect.withSpan` vs inferred trace from function name
  - Skip functions with return type annotations to avoid issues with recursive functions

  **Before:**

  ```
  This function could benefit from Effect.fn's automatic tracing...
  ```

  **After:**

  ```
  Can be rewritten as a reusable function: Effect.fn("myFunction")(function*() { ... })
  ```

### [`v0.69.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0691)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.0...v0.69.1)

##### Patch Changes

- [#&#8203;610](https://github.com/Effect-TS/language-service/pull/610) [`990ccbc`](990ccbc98f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnOpportunity diagnostic message to mention that quickfixes are available in the editor or via the CLI quickfixes command.

### [`v0.69.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0690)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.68.0...v0.69.0)

##### Minor Changes

- [#&#8203;608](https://github.com/Effect-TS/language-service/pull/608) [`bc7da1e`](bc7da1ef6f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectFnIife` diagnostic to warn when `Effect.fn` or `Effect.fnUntraced` is used as an IIFE (Immediately Invoked Function Expression).

  `Effect.fn` is designed to create reusable functions that can take arguments and provide tracing. When used as an IIFE, `Effect.gen` is more appropriate.

  **Example:**

  ```ts
  // Before (triggers warning)
  const result = Effect.fn("test")(function* () {
    yield* Effect.succeed(1);
  })();

  // After (using Effect.gen)
  const result = Effect.gen(function* () {
    yield* Effect.succeed(1);
  });
  ```

  A quick fix is provided to automatically convert `Effect.fn` IIFEs to `Effect.gen`.

### [`v0.68.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0680)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.67.0...v0.68.0)

##### Minor Changes

- [#&#8203;603](https://github.com/Effect-TS/language-service/pull/603) [`d747210`](d747210f17) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Added `instanceOfSchema` diagnostic that suggests using `Schema.is` instead of `instanceof` for Effect Schema types.

  Example:

  ```typescript
  import { Schema } from "effect"

  const MySchema = Schema.Struct({ name: Schema.String })

  // Before - triggers diagnostic
  if (value instanceof MySchema) { ... }

  // After - using Schema.is
  if (Schema.is(MySchema)(value)) { ... }
  ```

  The diagnostic is disabled by default and can be enabled with `instanceOfSchema:suggestion` or `instanceOfSchema:warning`.

##### Patch Changes

- [#&#8203;605](https://github.com/Effect-TS/language-service/pull/605) [`d63d5df`](d63d5df978) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `leakingRequirements` diagnostic message for clarity

### [`v0.67.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0670)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.66.1...v0.67.0)

##### Minor Changes

- [#&#8203;599](https://github.com/Effect-TS/language-service/pull/599) [`4c9f5c7`](4c9f5c7c27) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `quickfixes` CLI command that shows diagnostics with available quick fixes and their proposed code changes.

  Example usage:

  ```bash
  # Check a specific file
  effect-language-service quickfixes --file ./src/index.ts

  # Check an entire project
  effect-language-service quickfixes --project ./tsconfig.json
  ```

  The command displays each diagnostic along with the available code fixes and a diff preview of the proposed changes, making it easy to see what automatic fixes are available before applying them.

##### Patch Changes

- [#&#8203;601](https://github.com/Effect-TS/language-service/pull/601) [`c0a6da3`](c0a6da3811) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Reduce over-suggestion of effectFnOpportunity diagnostic for regular functions.

  The diagnostic now only suggests `Effect.fn` for regular functions (not using `Effect.gen`) when:

  - The function has a block body (not a concise arrow expression)
  - The function body has more than 5 statements

  Functions using `Effect.gen` are still always suggested regardless of body size.

### [`v0.66.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0661)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.65.0...v0.66.1)

##### Patch Changes

- [#&#8203;597](https://github.com/Effect-TS/language-service/pull/597) [`3833a10`](3833a10e31) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improved `effectFnOpportunity` diagnostic message to mention that Effect.fn accepts piped transformations as additional arguments when pipe transformations are detected.

  When a function has `.pipe()` calls that would be absorbed by Effect.fn, the message now includes: "Effect.fn also accepts the piped transformations as additional arguments."

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 this update 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NC4wIiwidXBkYXRlZEluVmVyIjoiNDIuODcuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #32
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This commit was merged in pull request #32.
This commit is contained in:
2026-01-23 01:24:03 +01:00
committed by Julien Valverdé
parent 581bab027c
commit 2f60ed3406
2 changed files with 3 additions and 3 deletions

View File

@@ -6,7 +6,7 @@
"name": "@effect-fc/monorepo",
"devDependencies": {
"@biomejs/biome": "^2.3.8",
"@effect/language-service": "^0.65.0",
"@effect/language-service": "^0.72.0",
"@types/bun": "^1.3.3",
"npm-check-updates": "^19.1.2",
"npm-sort": "^0.0.4",
@@ -116,7 +116,7 @@
"@effect-fc/example": ["@effect-fc/example@workspace:packages/example"],
"@effect/language-service": ["@effect/language-service@0.65.0", "", { "bin": { "effect-language-service": "cli.js" } }, "sha512-eHcpLNCZa1XEDRrXLZqTdky6jAQojL6zQEW53Ba6vJL35j77tJTnV9BFkk34G3rxKoplNo39U0Mum3RfuH9rsg=="],
"@effect/language-service": ["@effect/language-service@0.72.0", "", { "bin": { "effect-language-service": "cli.js" } }, "sha512-MWkyTPCXSs5Q3OIBWR3q24SA+ipkdWW7EBJBt6EPUzlzZxjJLXtLBhXpMoCFheSEM0FTWOHT4BRLh5lufsmjVw=="],
"@effect/platform": ["@effect/platform@0.94.1", "", { "dependencies": { "find-my-way-ts": "^0.1.6", "msgpackr": "^1.11.4", "multipasta": "^0.2.7" }, "peerDependencies": { "effect": "^3.19.14" } }, "sha512-SlL8OMTogHmMNnFLnPAHHo3ua1yrB1LNQOVQMiZsqYu9g3216xjr0gn5WoDgCxUyOdZcseegMjWJ7dhm/2vnfg=="],

View File

@@ -16,7 +16,7 @@
},
"devDependencies": {
"@biomejs/biome": "^2.3.8",
"@effect/language-service": "^0.65.0",
"@effect/language-service": "^0.72.0",
"@types/bun": "^1.3.3",
"npm-check-updates": "^19.1.2",
"npm-sort": "^0.0.4",