Update dependency @effect/language-service to ^0.72.0 #32

Merged
Thilawyn merged 1 commits from renovate/bun-minor-patch into next 2026-01-23 01:24:03 +01:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@effect/language-service ^0.65.0^0.72.0 age confidence

Release Notes

Effect-TS/language-service (@​effect/language-service)

v0.72.0

Compare Source

Minor Changes

v0.71.2

Compare Source

Patch Changes
  • #​625 422087d Thanks @​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

Compare Source

Patch Changes
  • #​624 d279457 Thanks @​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.

  • #​622 5eab20a Thanks @​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

Compare Source

Minor Changes
  • #​619 f171350 Thanks @​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:

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

    After:

    Effect.void;
    
Patch Changes
  • #​621 74ef937 Thanks @​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

Compare Source

Minor Changes
  • #​618 ed689f8 Thanks @​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
  • #​616 b32da44 Thanks @​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

Compare Source

Patch Changes
  • #​612 2b49181 Thanks @​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.

  • #​615 ae4f054 Thanks @​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

Compare Source

Patch Changes
  • #​610 990ccbc Thanks @​mattiamanzati! - Improve effectFnOpportunity diagnostic message to mention that quickfixes are available in the editor or via the CLI quickfixes command.

v0.69.0

Compare Source

Minor Changes
  • #​608 bc7da1e Thanks @​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:

    // 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

Compare Source

Minor Changes
  • #​603 d747210 Thanks @​mattiamanzati! - Added instanceOfSchema diagnostic that suggests using Schema.is instead of instanceof for Effect Schema types.

    Example:

    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

v0.67.0

Compare Source

Minor Changes
  • #​599 4c9f5c7 Thanks @​mattiamanzati! - Add quickfixes CLI command that shows diagnostics with available quick fixes and their proposed code changes.

    Example usage:

    # 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
  • #​601 c0a6da3 Thanks @​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

Compare Source

Patch Changes
  • #​597 3833a10 Thanks @​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."


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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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`](https://github.com/Effect-TS/language-service/commit/a34f997af3b97f0d97ac755ee044f9653724b7d2) 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`](https://github.com/Effect-TS/language-service/commit/422087d01211da6e917da0a5f67cf1d8b08924e5) 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`](https://github.com/Effect-TS/language-service/commit/d279457ed54c389e6725b4ed8a19edf53f4e7094) 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`](https://github.com/Effect-TS/language-service/commit/5eab20a1a8fd86f19360a573f074f1dec0dcf308) 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`](https://github.com/Effect-TS/language-service/commit/f171350ffc34d9dfe0989027ec3d39eed42eaabe) 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`](https://github.com/Effect-TS/language-service/commit/74ef937ae072e051b113d75429b48338fcc57bc4) 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`](https://github.com/Effect-TS/language-service/commit/ed689f8e557481eddee3ed4bdd56d8e1320f164d) 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`](https://github.com/Effect-TS/language-service/commit/b32da446de65bcc1dad802a9b6c82c43ae4dd6fd) 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`](https://github.com/Effect-TS/language-service/commit/2b49181323b5d969897749412af896a0a7d2325f) 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`](https://github.com/Effect-TS/language-service/commit/ae4f054cdd6d1c6c2c5f906d7c6dd25ab2b35526) 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`](https://github.com/Effect-TS/language-service/commit/990ccbc98f784fe2aea8f12be4fa8c138de2feca) 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`](https://github.com/Effect-TS/language-service/commit/bc7da1ef6f0f3d4aa0e88ef28de49e6845c764df) 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`](https://github.com/Effect-TS/language-service/commit/d747210f173d87e068ad2370f6b7667be7cde07d) 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`](https://github.com/Effect-TS/language-service/commit/d63d5df97858c8fd5a5af325141b08414f3d6eca) 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`](https://github.com/Effect-TS/language-service/commit/4c9f5c7c27e551e23c12ba31e07a955c5e15f5c9) 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`](https://github.com/Effect-TS/language-service/commit/c0a6da3811915b53e04cc1a237c4fa93d6fc91b0) 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`](https://github.com/Effect-TS/language-service/commit/3833a10e3188c4ebf113625c00f60e17b8bf6b80) 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==-->
renovate-bot added 1 commit 2026-01-17 13:01:34 +01:00
Update dependency @effect/language-service to ^0.67.0
All checks were successful
Lint / lint (push) Successful in 40s
Test build / test-build (pull_request) Successful in 17s
4b89584ef8
renovate-bot force-pushed renovate/bun-minor-patch from 4b89584ef8 to e25592530a 2026-01-18 13:01:32 +01:00 Compare
renovate-bot changed title from Update dependency @effect/language-service to ^0.67.0 to Update dependency @effect/language-service to ^0.69.0 2026-01-18 13:01:35 +01:00
renovate-bot force-pushed renovate/bun-minor-patch from e25592530a to c07f63c5a2 2026-01-20 12:43:04 +01:00 Compare
renovate-bot changed title from Update dependency @effect/language-service to ^0.69.0 to Update dependency @effect/language-service to ^0.71.0 2026-01-20 12:43:07 +01:00
renovate-bot force-pushed renovate/bun-minor-patch from c07f63c5a2 to d40c30f837 2026-01-21 13:01:32 +01:00 Compare
renovate-bot changed title from Update dependency @effect/language-service to ^0.71.0 to Update dependency @effect/language-service to ^0.72.0 2026-01-21 13:01:37 +01:00
Thilawyn force-pushed renovate/bun-minor-patch from d40c30f837 to 2dcea4c81d 2026-01-23 01:23:52 +01:00 Compare
Thilawyn merged commit 2f60ed3406 into next 2026-01-23 01:24:03 +01:00
Thilawyn deleted branch renovate/bun-minor-patch 2026-01-23 01:24:04 +01:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Thilawyn/effect-fc#32