Version Packages#662
Merged
Merged
Conversation
92f761a to
8e16e46
Compare
8e16e46 to
7e26e23
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
0e82d43Thanks @mattiamanzati! - ImproveeffectFnOpportunityinferred 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.tseffectFnOpportunity_inferredLayer.ts#669
a010a29Thanks @mattiamanzati! - Add a neweffectInFailurediagnostic that warns when anEffectcomputation appears in the failure channel (E) of anotherEffect.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.tryincatch) to avoid noisy parent reports.Patch Changes
#666
06b3a6cThanks @mattiamanzati! - FixeffectFnOpportunityinferred span naming forLayer.*(this, ...)patterns in class static members.When the inferred layer target is
this, the diagnostic now uses the nearest enclosing class name (for exampleMyService) instead of the literalthistoken.#665
a95a679Thanks @mattiamanzati! - Improve yield-based diagnostics and hover behavior by introducingeffectYieldableTypeinTypeParserand using it inmissingReturnYieldStar.asEffect()and mapped to EffectA/E/R.effectYieldableTypefalls back to standardeffectTypebehavior.missingReturnYieldStarnow correctly handles yieldable values such asOption.none().yield*was updated to use yieldable parsing paths.#664
934ef7eThanks @mattiamanzati! - ImprovemissingReturnYieldStarsafety by targeting only expression statements with top-levelyield*expressions and validating the enclosingEffect.genscope viafindEnclosingScopes.This avoids edge cases where nested or wrapped
yield*expressions could be matched incorrectly.#661
0f92686Thanks @mattiamanzati! - Update effect dependency to v4.0.0-beta.19 and fix compatibility issues:layerMagicrefactor producinganytypes in Layer channels by replacingArray.partition(which now uses the v4Filter.FilterAPI) with a native loop for boolean partition logic"~effect/Layer"TypeId property, matching the pattern already used for Effect type detectionEffect.filterMapas unchanged in the outdated API migration database since it was re-added in v4