Skip to content

Releases: Effect-TS/language-service

v0.40.0

11 Sep 16:49
a3e3f38
Compare
Choose a tag to compare

Minor Changes

  • #384 62b9829 Thanks @mattiamanzati! - Add new diagnostic: effectGenUsesAdapter - warns when using Effect.gen with the generator adapter pattern (function*(_)) instead of using pipe()

    The generator adapter pattern function*(_) is an old pattern. Users should use pipe() for composing effects or Effect.gen(function*()) without the adapter for generator-based code.

    Example that will trigger the warning:

    const example = Effect.gen(function* (_) {
      const result = yield* _(Effect.succeed(42));
      return result;
    });

Patch Changes

v0.39.0

10 Sep 13:28
23509a5
Compare
Choose a tag to compare

Minor Changes

v0.38.4

09 Sep 09:22
e589679
Compare
Choose a tag to compare

Patch Changes

  • #378 2f9bc51 Thanks @mattiamanzati! - Add support for Effect.Tag in writeTagClassAccessors refactor

    The writeTagClassAccessors refactor now supports Effect.Tag classes in addition to Effect.Service and Context.Tag. This allows users to generate accessor methods for services created with Effect.Tag, maintaining consistency across all tag-based service patterns.

v0.38.3

09 Sep 06:58
321a683
Compare
Choose a tag to compare

Patch Changes

  • #375 74696fd Thanks @mattiamanzati! - Fix resolveModulePattern to use fallback mechanism for package scope resolution when primary method is unavailable

v0.38.2

08 Sep 21:59
b839001
Compare
Choose a tag to compare

Patch Changes

  • #374 9d66c1e Thanks @mattiamanzati! - Fix Mermaid graph generation for layers with generic types

    Properly escape angle brackets (< and >) in Mermaid diagrams to prevent rendering issues when displaying layer names containing generic type parameters.

  • #370 0e25fbc Thanks @mattiamanzati! - Layer Magic refactor now shows previously provided layers as a comment in the generated type annotation.

    When using the Layer Magic "Prepare for reuse" refactor, layers that were already provided at the location are now shown as a trailing comment (e.g., /* Foo | Bar */) next to the newly introduced layer types. This helps developers understand which layers were already available and which ones are being newly introduced.

  • #372 172363c Thanks @mattiamanzati! - Add general support for Effect.Tag in various diagnostics/refactors

v0.38.1

04 Sep 16:17
2c7f563
Compare
Choose a tag to compare

Patch Changes

v0.38.0

04 Sep 15:35
67206b7
Compare
Choose a tag to compare

Minor Changes

  • #365 3b418c5 Thanks @mattiamanzati! - Add Layer Magic refactor for automatic layer composition and building

    This refactor allows you to automatically compose and build layers based on service dependencies. It helps simplify complex layer constructions by:

    • Analyzing service dependencies
    • Automatically composing layers in the correct order
    • Building final layer structures with proper dependency resolution

    Example: When working with services that have dependencies, the refactor can transform your layer setup code into a properly composed layer structure that respects all service requirements.

Patch Changes

v0.37.0

02 Sep 08:25
02591c8
Compare
Choose a tag to compare

Minor Changes

Patch Changes

  • #356 8c906e1 Thanks @mattiamanzati! - Add helper for renames, so that triggering a rename will include the identifier of a class as well

  • #360 331051d Thanks @mattiamanzati! - Some minor perf improvements

  • #358 03cfa73 Thanks @mattiamanzati! - Refactor TypeChecker utilities to improve code organization by moving utility functions from TypeCheckerApi.ts to TypeCheckerUtils.ts

  • #364 358f323 Thanks @mattiamanzati! - Replace direct .text property access with TypeScript API helper ts.idText() for getting identifier text from nodes. This is a more robust approach that properly handles escaped identifiers and follows TypeScript's recommended practices.

v0.36.0

25 Aug 07:16
68e8698
Compare
Choose a tag to compare

Minor Changes

Patch Changes

  • #353 790d4d0 Thanks @mattiamanzati! - Fix CLI and LSP improvements:

    • Remove deprecated check command from CLI
    • Fix unpatch command to default to both typescript and tsc modules when no modules specified
    • Add concatDiagnostics utility to prevent duplicate diagnostics in LSP
  • #351 be5d851 Thanks @mattiamanzati! - Fix TypeScript module reference in patch utility to use correct module name when patching TypeScript directly

  • #349 46a1ef2 Thanks @mattiamanzati! - Introduce ts-patch less mode

v0.35.2

08 Aug 13:16
d9b382e
Compare
Choose a tag to compare

Patch Changes

  • #346 5a37be2 Thanks @mattiamanzati! - Fix auto-import barrel-to-barrel mapping for top-level named re-exports

    When topLevelNamedReexports is set to "follow", the auto-import provider now correctly maps barrel exports to their barrel modules, ensuring proper import suggestions for re-exported functions like pipe from effect/Function.