Update dependency @effect/language-service to ^0.80.0 #35
Reference in New Issue
Block a user
Delete Branch "renovate/bun-minor-patch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
^0.75.0→^0.80.0Release Notes
Effect-TS/language-service (@effect/language-service)
v0.80.0Compare Source
Minor Changes
#681
1017a54Thanks @mattiamanzati! - Generate a rootschema.jsonfortsconfig.jsonplugin configuration, add typed Effect Language Service plugin options to that schema, and haveeffect-language-service setupadd or remove the matching$schemaentry automatically.#679
3664197Thanks @mattiamanzati! - Add inline--lspconfigsupport to theeffect-language-service diagnosticsCLI command so diagnostics runs can override the project plugin configuration without editingtsconfig.json.v0.79.0Compare Source
Minor Changes
#671
6b9c378Thanks @mattiamanzati! - Add theextendsNativeErrordiagnostic to warn when classes directly extend the nativeErrorconstructor, including common local aliases such asconst E = Error.This helps steer users toward tagged errors that preserve stronger typing in the Effect failure channel.
#678
0e9c11bThanks @mattiamanzati! - Generate the README diagnostics table from the diagnostic registry.Each diagnostic now declares:
The generated table is checked in CI, and diagnostics tests verify that
fixablematches the presence of non-suppression quick fixes.#676
2f982d6Thanks @mattiamanzati! - Add thenodeBuiltinImportdiagnostic to warn when importing Node.js built-in modules (fs,path,child_process) that have Effect-native counterparts in@effect/platform.This diagnostic covers ES module imports and top-level
require()calls, matching both bare andnode:-prefixed specifiers as well as subpath variants likefs/promises,path/posix, andpath/win32. It defaults to severityoffand provides no code fixes.#673
f9e24dfThanks @mattiamanzati! - Add plugin options to better control patchedtscbehavior.ignoreEffectErrorsInTscExitCodeallows Effect diagnostics reported as errors to be ignored for exit-code purposes, andskipDisabledOptimiziationkeeps disabled diagnostics eligible for comment-based overrides when patch mode is active.#674
54e8c16Thanks @mattiamanzati! - Add theserviceNotAsClassdiagnostic to warn whenServiceMap.Serviceis used as a variable assignment instead of in a class declaration.Includes an auto-fix that converts
const Config = ServiceMap.Service<Shape>("Config")toclass Config extends ServiceMap.Service<Config, Shape>()("Config") {}.Patch Changes
#675
d1f09c3Thanks @mattiamanzati! - Rename theskipDisabledOptimiziationplugin option toskipDisabledOptimization.Example:
v0.78.0Compare Source
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 v4v0.77.0Compare Source
Minor Changes
c875de2Thanks @mattiamanzati! - AddoutdatedApidiagnostic that warns when using outdated Effect APIs in a project targeting a newer version of Effect.Patch Changes
#660
99a97a6Thanks @mattiamanzati! - Dispose TypeScript language services in tests to prevent resource leaksAdded
languageService.dispose()calls viatry/finallypatterns to all test files that create language services throughcreateServicesWithMockedVFS(). This ensures proper cleanup of TypeScript compiler resources after each test completes, preventing memory leaks during test runs.#658
0154667Thanks @mattiamanzati! - Fix outdated API diagnostic for Effect v4 compatibilityTaggedErrorcompletion to useTaggedErrorClassmatching the v4 APISchema.RequestClassexamples that no longer exist in v4#659
2699a80Thanks @mattiamanzati! - Add support forModel.Classfromeffect/unstable/schemain completions and diagnostics.The
classSelfMismatchdiagnostic now detects mismatched Self type parameters inModel.Classdeclarations, and the autocomplete for Self type in classes now suggestsModel.Classwhen typing afterModel..v0.76.0Compare Source
Minor Changes
#651
aeab349Thanks @mattiamanzati! - Add refactor to convertEffect.ServicetoContext.Tagwith a staticLayerproperty.Supports all combinator kinds (
effect,scoped,sync,succeed) anddependencies. The refactor replaces theEffect.Serviceclass declaration with aContext.Tagclass that has astatic layerproperty using the correspondingLayercombinator.Before:
After:
#654
2c93eabThanks @mattiamanzati! - Migrate internal Effect dependency from v3 to v4. This updates all CLI and core modules to use the Effect v4 API while maintaining full backward compatibility with existing functionality.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.
This PR has been generated by Renovate Bot.
7b2d9ae2a4to11c10f7142Update dependency @effect/language-service to ^0.76.0to Update dependency @effect/language-service to ^0.77.011c10f7142to5176375c37Update dependency @effect/language-service to ^0.77.0to Update dependency @effect/language-service to ^0.78.05176375c37tod6754e027aUpdate dependency @effect/language-service to ^0.78.0to Update dependency @effect/language-service to ^0.79.0d6754e027ato95966ac7eeUpdate dependency @effect/language-service to ^0.79.0to Update dependency @effect/language-service to ^0.80.0View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.