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.58.0` -> `^0.59.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.58.4/0.59.0) |  |  |
---
### Release Notes
<details>
<summary>Effect-TS/language-service (@​effect/language-service)</summary>
### [`v0.59.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0590)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.58.4...v0.59.0)
##### Minor Changes
- [#​518](https://github.com/Effect-TS/language-service/pull/518) [`660549d`](660549d2c0) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add new `schemaStructWithTag` diagnostic that suggests using `Schema.TaggedStruct` instead of `Schema.Struct` when a `_tag` field with `Schema.Literal` is present. This makes the tag optional in the constructor, improving the developer experience.
Example:
```typescript
// Before (triggers diagnostic)
export const User = Schema.Struct({
_tag: Schema.Literal("User"),
name: Schema.String,
age: Schema.Number,
});
// After (applying quick fix)
export const User = Schema.TaggedStruct("User", {
name: Schema.String,
age: Schema.Number,
});
```
The diagnostic includes a quick fix that automatically converts the `Schema.Struct` call to `Schema.TaggedStruct`, extracting the tag value and removing the `_tag` property from the fields.
##### Patch Changes
- [#​521](https://github.com/Effect-TS/language-service/pull/521) [`61f28ba`](61f28babbd) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix auto-completion for directly imported Effect APIs. Completions now work when using direct imports like `import { Service } from "effect/Effect"` instead of only working with fully qualified names like `Effect.Service`.
This fix applies to:
- `Effect.Service` and `Effect.Tag` from `effect/Effect`
- `Schema.Class`, `Schema.TaggedError`, `Schema.TaggedClass`, and `Schema.TaggedRequest` from `effect/Schema`
- `Data.TaggedError` and `Data.TaggedClass` from `effect/Data`
- `Context.Tag` from `effect/Context`
Example:
```typescript
// Now works with direct imports
import { Service } from "effect/Effect"
export class MyService extends Service // ✓ Completion available
// Still works with fully qualified names
import * as Effect from "effect/Effect"
export class MyService extends Effect.Service // ✓ Completion available
```
Fixes [#​394](https://github.com/Effect-TS/language-service/issues/394)
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMSIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->
Reviewed-on: https://git.valverde.cloud/Thilawyn/effect-fc/pulls/27
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v5` -> `v6` |
---
### Release Notes
<details>
<summary>actions/checkout (actions/checkout)</summary>
### [`v6`](https://github.com/actions/checkout/compare/v5...v6)
[Compare Source](https://github.com/actions/checkout/compare/v5...v6)
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTkuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->
Reviewed-on: #24
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
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.56.0` -> `^0.58.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.56.0/0.58.0) |  |  |
---
### Release Notes
<details>
<summary>Effect-TS/language-service (@​effect/language-service)</summary>
### [`v0.58.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0580)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.57.1...v0.58.0)
##### Minor Changes
- [#​505](https://github.com/Effect-TS/language-service/pull/505) [`31cff49`](31cff498b6) Thanks [@​clayroach](https://github.com/clayroach)! - Enhance `diagnostics` CLI command with new options for CI/CD integration and tooling:
- **`--format`**: Output format selection (`json`, `pretty`, `text`, `github-actions`)
- `json`: Machine-readable JSON output with structured diagnostics and summary
- `pretty`: Colored output with context (default, original behavior)
- `text`: Plain text output without colors
- `github-actions`: GitHub Actions workflow commands for inline PR annotations
- **`--strict`**: Treat warnings as errors (affects exit code)
- **`--severity`**: Filter diagnostics by severity level (comma-separated: `error`, `warning`, `message`)
- **Exit codes**: Returns exit code 1 when errors are found (or warnings in strict mode)
Example usage:
```bash
# JSON output for CI/CD pipelines
effect-language-service diagnostics --project tsconfig.json --format json
# GitHub Actions with inline annotations
effect-language-service diagnostics --project tsconfig.json --format github-actions
# Strict mode for CI (fail on warnings)
effect-language-service diagnostics --project tsconfig.json --strict
# Only show errors
effect-language-service diagnostics --project tsconfig.json --severity error
```
Closes Effect-TS/effect [#​5180](https://github.com/Effect-TS/language-service/issues/5180).
### [`v0.57.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0571)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.57.0...v0.57.1)
##### Patch Changes
- [#​503](https://github.com/Effect-TS/language-service/pull/503) [`857e43e`](857e43e258) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add codefix to `runEffectInsideEffect` diagnostic that automatically transforms `Effect.run*` calls to use `Runtime.run*` when inside nested Effect contexts. The codefix will extract or reuse an existing Effect runtime and replace the direct Effect run call with the appropriate Runtime method.
Example:
```typescript
// Before
Effect.gen(function* () {
websocket.onmessage = (event) => {
Effect.runPromise(check);
};
});
// After applying codefix
Effect.gen(function* () {
const effectRuntime = yield* Effect.runtime<never>();
websocket.onmessage = (event) => {
Runtime.runPromise(effectRuntime, check);
};
});
```
### [`v0.57.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0570)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.56.0...v0.57.0)
##### Minor Changes
- [#​500](https://github.com/Effect-TS/language-service/pull/500) [`acc2d43`](acc2d43d62) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add new `annotate` codegen that automatically adds type annotations to exported constants based on their initializer types. This codegen can be used by adding `// @​effect-codegens annotate` comments above variable declarations.
Example:
```typescript
// @​effect-codegens annotate
export const test = Effect.gen(function* () {
if (Math.random() < 0.5) {
return yield* Effect.fail("error");
}
return 1 as const;
});
// Becomes:
// @​effect-codegens annotate:5fce15f7af06d924
export const test: Effect.Effect<1, string, never> = Effect.gen(function* () {
if (Math.random() < 0.5) {
return yield* Effect.fail("error");
}
return 1 as const;
});
```
The codegen automatically detects the type from the initializer and adds the appropriate type annotation, making code more explicit and type-safe.
- [#​497](https://github.com/Effect-TS/language-service/pull/497) [`b188b74`](b188b74204) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic `unnecessaryFailYieldableError` that warns when using `yield* Effect.fail()` with yieldable error types. The diagnostic suggests yielding the error directly instead of wrapping it with `Effect.fail()`, as yieldable errors (like `Data.TaggedError` and `Schema.TaggedError`) can be yielded directly in Effect generators.
Example:
```typescript
// ❌ Unnecessary Effect.fail wrapper
yield * Effect.fail(new DataTaggedError());
// ✅ Direct yield of yieldable error
yield * new DataTaggedError();
```
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNS4zIiwidXBkYXRlZEluVmVyIjoiNDIuMjcuNSIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->
Reviewed-on: #25
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>