Skip to content

Version Packages#662

Merged
mattiamanzati merged 1 commit into
mainfrom
changeset-release/main
Mar 6, 2026
Merged

Version Packages#662
mattiamanzati merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@effect/language-service@0.78.0

Minor Changes

  • #663 0e82d43 Thanks @mattiamanzati! - Improve effectFnOpportunity inferred span naming for service-layer methods and align examples for Effect v4.

    The inferred span can now include service + method names (for example MyService.log) when the convertible function is a method inside a layer service object for strict supported patterns like:

    • Layer.succeed(Service)(...)
    • Layer.sync(Service)(...)
    • Layer.effect(Service)(Effect.gen(...))
    • Layer.effect(Service, Effect.gen(...))

    Also add Effect v4 diagnostics fixtures for:

    • effectFnOpportunity_inferred.ts
    • effectFnOpportunity_inferredLayer.ts
  • #669 a010a29 Thanks @mattiamanzati! - Add a new effectInFailure diagnostic that warns when an Effect computation appears in the failure channel (E) of another Effect.

    The rule traverses Effect-typed expressions, unrolls union members of E, and reports when any member is itself a strict Effect type.

    It prefers innermost matches for nested cases (for example nested Effect.try in catch) to avoid noisy parent reports.

Patch Changes

  • #666 06b3a6c Thanks @mattiamanzati! - Fix effectFnOpportunity inferred span naming for Layer.*(this, ...) patterns in class static members.

    When the inferred layer target is this, the diagnostic now uses the nearest enclosing class name (for example MyService) instead of the literal this token.

  • #665 a95a679 Thanks @mattiamanzati! - Improve yield-based diagnostics and hover behavior by introducing effectYieldableType in TypeParser and using it in missingReturnYieldStar.

    • In Effect v4, yieldable values are recognized through asEffect() and mapped to Effect A/E/R.
    • In Effect v3, effectYieldableType falls back to standard effectType behavior.
    • missingReturnYieldStar now correctly handles yieldable values such as Option.none().
    • Hover support for yield* was updated to use yieldable parsing paths.
  • #664 934ef7e Thanks @mattiamanzati! - Improve missingReturnYieldStar safety by targeting only expression statements with top-level yield* expressions and validating the enclosing Effect.gen scope via findEnclosingScopes.

    This avoids edge cases where nested or wrapped yield* expressions could be matched incorrectly.

  • #661 0f92686 Thanks @mattiamanzati! - Update effect dependency to v4.0.0-beta.19 and fix compatibility issues:

    • Fix layerMagic refactor producing any types in Layer channels by replacing Array.partition (which now uses the v4 Filter.Filter API) with a native loop for boolean partition logic
    • Add v4 Layer type detection shortcut using "~effect/Layer" TypeId property, matching the pattern already used for Effect type detection
    • Mark Effect.filterMap as unchanged in the outdated API migration database since it was re-added in v4

@github-actions github-actions Bot force-pushed the changeset-release/main branch 6 times, most recently from 92f761a to 8e16e46 Compare March 5, 2026 10:30
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 8e16e46 to 7e26e23 Compare March 5, 2026 14:24
@mattiamanzati mattiamanzati merged commit 9a47210 into main Mar 6, 2026
@mattiamanzati mattiamanzati deleted the changeset-release/main branch March 6, 2026 08:19
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