Julien Valverdé
|
6f50cf2989
|
Refactor query
Lint / lint (push) Successful in 13s
|
2025-11-25 16:03:28 +01:00 |
|
Julien Valverdé
|
aa243c6493
|
Fix
Lint / lint (push) Successful in 43s
|
2025-11-24 02:30:29 +01:00 |
|
Julien Valverdé
|
10cec68ee2
|
Fix
Lint / lint (push) Successful in 40s
|
2025-11-22 02:11:21 +01:00 |
|
Julien Valverdé
|
3addaf391e
|
Fix
Lint / lint (push) Successful in 12s
|
2025-11-21 06:17:54 +01:00 |
|
Julien Valverdé
|
3b5a9abefa
|
Query work
Lint / lint (push) Successful in 41s
|
2025-11-21 06:02:43 +01:00 |
|
Julien Valverdé
|
70d5ef950b
|
Query work
Lint / lint (push) Successful in 13s
|
2025-11-21 00:58:36 +01:00 |
|
Julien Valverdé
|
140b2deda8
|
Working query
Lint / lint (push) Successful in 40s
|
2025-11-20 01:58:27 +01:00 |
|
Julien Valverdé
|
83128bb467
|
Query work
Lint / lint (push) Failing after 11s
|
2025-11-18 06:20:37 +01:00 |
|
Julien Valverdé
|
3ff646db0f
|
Query work
Lint / lint (push) Successful in 39s
|
2025-11-18 04:50:11 +01:00 |
|
Julien Valverdé
|
c4bfcb07c1
|
Refactor Result
Lint / lint (push) Failing after 10s
|
2025-11-17 21:12:08 +01:00 |
|
Julien Valverdé
|
cd937a86c7
|
Refactor forkEffect
Lint / lint (push) Failing after 10s
|
2025-11-17 19:10:57 +01:00 |
|
Julien Valverdé
|
c79e6e8bad
|
Refactor Form
Lint / lint (push) Failing after 9s
|
2025-11-17 04:13:12 +01:00 |
|
Julien Valverdé
|
70dcdf8160
|
Refactor Result
Lint / lint (push) Failing after 35s
|
2025-11-17 04:09:26 +01:00 |
|
Julien Valverdé
|
9feb94ea9e
|
Add forkEffect
Lint / lint (push) Failing after 11s
|
2025-11-16 06:54:34 +01:00 |
|
Julien Valverdé
|
a890d1c855
|
Query work
Lint / lint (push) Failing after 11s
|
2025-11-16 06:19:18 +01:00 |
|
Julien Valverdé
|
e3bb50e2c9
|
Query work
Lint / lint (push) Failing after 11s
|
2025-11-16 05:05:06 +01:00 |
|
renovate-bot
|
cd17be8c6d
|
Update dependency @effect/language-service to ^0.56.0 (#23)
Lint / lint (push) Successful in 15s
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.55.3` -> `^0.56.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.55.5/0.56.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>Effect-TS/language-service (@​effect/language-service)</summary>
### [`v0.56.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0560)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.5...v0.56.0)
##### Minor Changes
- [#​494](https://github.com/Effect-TS/language-service/pull/494) [`9b3edf0`](https://github.com/Effect-TS/language-service/commit/9b3edf0ddc18f5a1fc697aa1d5a6bf4cc9431d19) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `codegen` CLI command to automatically update Effect codegens
This release introduces a new CLI command `effect-language-service codegen` that allows you to automatically update Effect codegens in your TypeScript files from the command line. The command scans files containing `@effect-codegens` directives and applies the necessary code transformations.
**Usage:**
- `effect-language-service codegen --file <path>` - Update a specific file
- `effect-language-service codegen --project <tsconfig.json>` - Update all files in a project
- `effect-language-service codegen --verbose` - Show detailed output during processing
**Example:**
```bash
# Update a single file
effect-language-service codegen --file src/MyService.ts
# Update entire project
effect-language-service codegen --project tsconfig.json --verbose
```
This is particularly useful for CI/CD pipelines or batch processing scenarios where you want to ensure all codegens are up-to-date without manual editor intervention.
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMS4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTEuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->
Reviewed-on: #23
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
|
2025-11-16 01:29:54 +01:00 |
|
Julien Valverdé
|
25d5defdca
|
Add Query module
Lint / lint (push) Successful in 12s
|
2025-11-15 05:04:34 +01:00 |
|
Julien Valverdé
|
f78b9f318a
|
Add PubSub module
Lint / lint (push) Successful in 40s
|
2025-11-15 01:19:14 +01:00 |
|
Julien Valverdé
|
3b90384f8f
|
Refactor
Lint / lint (push) Successful in 12s
|
2025-11-14 02:56:05 +01:00 |
|
Julien Valverdé
|
c1705c1587
|
Refactor
Lint / lint (push) Successful in 42s
|
2025-11-14 02:41:17 +01:00 |
|
Julien Valverdé
|
87c9c637be
|
Refactor Component
Lint / lint (push) Successful in 12s
|
2025-11-13 05:07:13 +01:00 |
|
Julien Valverdé
|
981e989461
|
Fix example
Lint / lint (push) Successful in 12s
|
2025-11-13 03:40:11 +01:00 |
|
Julien Valverdé
|
d1ff6b31e2
|
Form.field
Lint / lint (push) Successful in 13s
|
2025-11-13 03:30:39 +01:00 |
|
Julien Valverdé
|
9f5f0edfd9
|
Refactor Form
Lint / lint (push) Successful in 42s
|
2025-11-13 02:47:48 +01:00 |
|
Julien Valverdé
|
4d5c188599
|
Refactor Form
Lint / lint (push) Successful in 13s
|
2025-11-12 07:39:47 +01:00 |
|
Julien Valverdé
|
ec91f8e5ee
|
Fix
Lint / lint (push) Successful in 12s
|
2025-11-12 03:19:42 +01:00 |
|
Julien Valverdé
|
d38e220df8
|
Refactor Form
Lint / lint (push) Successful in 11s
|
2025-11-12 03:17:04 +01:00 |
|
Julien Valverdé
|
da0847b3f9
|
Refactor form
Lint / lint (push) Successful in 40s
|
2025-11-12 01:20:13 +01:00 |
|
Julien Valverdé
|
ec5e5bdc87
|
Form refactoring
Lint / lint (push) Successful in 12s
|
2025-11-11 04:28:40 +01:00 |
|
Julien Valverdé
|
fe5cfbe99c
|
Cleanup
Lint / lint (push) Successful in 12s
|
2025-11-11 03:28:05 +01:00 |
|
Julien Valverdé
|
c789de3ad8
|
Refactoring
Lint / lint (push) Successful in 40s
|
2025-11-11 02:22:37 +01:00 |
|
Julien Valverdé
|
a510dbc77b
|
Form refactoring
Lint / lint (push) Successful in 12s
|
2025-11-10 20:22:33 +01:00 |
|
Julien Valverdé
|
5f85938449
|
Tests
Lint / lint (push) Successful in 41s
|
2025-11-10 02:16:42 +01:00 |
|
Julien Valverdé
|
9fde8dc57c
|
Form example work
Lint / lint (push) Successful in 40s
|
2025-11-09 02:43:27 +01:00 |
|
Julien Valverdé
|
d682643407
|
Test ErrorObserver
Lint / lint (push) Successful in 12s
|
2025-11-08 15:42:43 +01:00 |
|
Julien Valverdé
|
0718ba48bd
|
Fix ErrorObserver
Lint / lint (push) Successful in 41s
|
2025-11-08 01:35:58 +01:00 |
|
Julien Valverdé
|
9680a7007d
|
Update lockfile
Lint / lint (push) Successful in 12s
|
2025-11-07 01:20:26 +01:00 |
|
renovate-bot
|
a8b2c1e098
|
Update bun minor+patch updates (#22)
Lint / lint (push) Failing after 6s
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.54.0` -> `^0.55.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.54.0/0.55.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform)) | [`^0.92.1` -> `^0.93.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform/0.92.1/0.93.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform-browser](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-browser)) | [`^0.72.0` -> `^0.73.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-browser/0.72.0/0.73.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>Effect-TS/language-service (@​effect/language-service)</summary>
### [`v0.55.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0552)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.1...v0.55.2)
##### Patch Changes
- [#​484](https://github.com/Effect-TS/language-service/pull/484) [`7c18fa8`](https://github.com/Effect-TS/language-service/commit/7c18fa8b08c6e6cf0914a3ac140c8e9710868eb5) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix edge cases in missedPipeableOpportunity diagnostic where it incorrectly flagged valid code patterns. The diagnostic now properly:
- Excludes `pipe` function calls from chain detection
- Ignores chains where the function returns a callable type (avoiding false positives for higher-order functions like `Schedule.whileOutput`)
### [`v0.55.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0551)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.0...v0.55.1)
##### Patch Changes
- [#​482](https://github.com/Effect-TS/language-service/pull/482) [`9695bdf`](https://github.com/Effect-TS/language-service/commit/9695bdfec4412569150a5332405a1ec16b4fa085) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix `missedPipeableOpportunity` diagnostic to correctly detect nested function call chains
The diagnostic now properly identifies when nested function calls can be converted to pipeable style. Previously, the chain detection logic incorrectly tracked parent-child relationships, causing false positives. This fix ensures that only valid pipeable chains are reported, such as `toString(double(addOne(5)))` which can be refactored to `addOne(5).pipe(double, toString)`.
Example:
```typescript
// Before: incorrectly flagged or missed
identity(Schema.decodeUnknown(MyStruct)({ x: 42, y: 42 }));
// After: correctly handles complex nested calls
toString(double(addOne(5))); // ✓ Now correctly detected as pipeable
```
### [`v0.55.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0550)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.54.0...v0.55.0)
##### Minor Changes
- [#​478](https://github.com/Effect-TS/language-service/pull/478) [`9a9d5f9`](https://github.com/Effect-TS/language-service/commit/9a9d5f9486df177dd2e9d9cf63e97569b0436de0) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `runEffectInsideEffect` diagnostic to warn when using `Effect.runSync`, `Effect.runPromise`, `Effect.runFork`, or `Effect.runCallback` inside an Effect context (such as `Effect.gen`, `Effect.fn`, or `Effect.fnUntraced`).
Running effects inside effects is generally not recommended as it breaks the composability of the Effect system. Instead, developers should extract the Runtime and use `Runtime.runSync`, `Runtime.runPromise`, etc., or restructure their code to avoid running effects inside effects.
Example:
```typescript
// ❌ Will trigger diagnostic
export const program = Effect.gen(function* () {
const data = yield* Effect.succeed(42);
const result = Effect.runSync(Effect.sync(() => data * 2)); // Not recommended
return result;
});
// ✅ Proper approach - extract runtime
export const program = Effect.gen(function* () {
const data = yield* Effect.succeed(42);
const runtime = yield* Effect.runtime();
const result = Runtime.runSync(runtime)(Effect.sync(() => data * 2));
return result;
});
// ✅ Better approach - compose effects
export const program = Effect.gen(function* () {
const data = yield* Effect.succeed(42);
const result = yield* Effect.sync(() => data * 2);
return result;
});
```
- [#​480](https://github.com/Effect-TS/language-service/pull/480) [`f1a0ece`](https://github.com/Effect-TS/language-service/commit/f1a0ece931826bd40c35118833b3be2ae6c90ab7) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `schemaUnionOfLiterals` diagnostic to warn when using `Schema.Union` with multiple `Schema.Literal` calls that can be simplified to a single `Schema.Literal` call.
This diagnostic helps improve code readability and maintainability by suggesting a more concise syntax for union of literals.
Example:
```typescript
// ❌ Will trigger diagnostic
export const Status = Schema.Union(Schema.Literal("A"), Schema.Literal("B"));
// ✅ Simplified approach
export const Status = Schema.Literal("A", "B");
```
##### Patch Changes
- [#​481](https://github.com/Effect-TS/language-service/pull/481) [`160e018`](https://github.com/Effect-TS/language-service/commit/160e018c6f2eef21d537cc5e4f2666a43beb4724) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Update Effect ecosystem dependencies to latest versions:
- `@effect/cli`: 0.71.0 → 0.72.0
- `@effect/platform`: 0.92.1 → 0.93.0
- `@effect/platform-node`: 0.98.3 → 0.99.0
- `@effect/printer-ansi`: 0.46.0 → 0.47.0
- `@effect/rpc`: 0.71.0 → 0.72.0
- `effect`: Updated to stable version 3.19.0
Also updated development tooling dependencies:
- `vitest`: 3.2.4 → 4.0.6
- `@vitest/coverage-v8`: 3.2.4 → 4.0.6
- TypeScript ESLint packages: 8.46.1 → 8.46.3
- Various other minor dependency updates
</details>
<details>
<summary>Effect-TS/effect (@​effect/platform)</summary>
### [`v0.93.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0930)
[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.92.1...@effect/platform@0.93.0)
##### Patch Changes
- [#​5606](https://github.com/Effect-TS/effect/pull/5606) [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433) Thanks [@​tim-smart](https://github.com/tim-smart)! - expose Layer output in HttpLayerRouter.serve
- Updated dependencies \[[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
- effect\@​3.19.0
</details>
<details>
<summary>Effect-TS/effect (@​effect/platform-browser)</summary>
### [`v0.73.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-browser/CHANGELOG.md#0730)
[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-browser@0.72.0...@effect/platform-browser@0.73.0)
##### Patch Changes
- Updated dependencies \[[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
- effect\@​3.19.0
- [@​effect/platform](https://github.com/effect/platform)@​0.93.0
</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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjkuMyIsInVwZGF0ZWRJblZlciI6IjQxLjE3MS40IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->
Reviewed-on: #22
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
|
2025-11-07 01:19:28 +01:00 |
|
Julien Valverdé
|
6d52c4ee31
|
Add ErrorObserver handle
Lint / lint (push) Successful in 41s
|
2025-11-07 01:13:50 +01:00 |
|
Julien Valverdé
|
c80b25b0e0
|
Fix ReactRuntime
Lint / lint (push) Successful in 12s
|
2025-11-06 15:21:56 +01:00 |
|
Julien Valverdé
|
7e14f27df4
|
Finish ErrorObserver
Lint / lint (push) Successful in 40s
|
2025-11-06 01:17:06 +01:00 |
|
Julien Valverdé
|
5bc1e65a61
|
ErrorObserver work
Lint / lint (push) Failing after 10s
|
2025-11-05 15:15:59 +01:00 |
|
Julien Valverdé
|
53bc4407b3
|
Add ErrorObserver
Lint / lint (push) Failing after 36s
|
2025-11-05 01:12:56 +01:00 |
|
Julien Valverdé
|
66289da64c
|
Fix
Lint / lint (push) Successful in 13s
|
2025-11-04 12:18:55 +01:00 |
|
Julien Valverdé
|
679a624fab
|
Fix
Lint / lint (push) Successful in 12s
|
2025-11-04 02:06:30 +01:00 |
|
Julien Valverdé
|
ba76f38bc4
|
Fix
Lint / lint (push) Successful in 12s
|
2025-11-04 01:57:43 +01:00 |
|
renovate-bot
|
13a7c44aae
|
Update dependency @effect/language-service to ^0.54.0 (#21)
Lint / lint (push) Successful in 11s
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.49.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.49.0/0.54.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>Effect-TS/language-service (@​effect/language-service)</summary>
### [`v0.54.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0540)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.3...v0.54.0)
##### Minor Changes
- [#​476](https://github.com/Effect-TS/language-service/pull/476) [`9d5028c`](https://github.com/Effect-TS/language-service/commit/9d5028c92cdde20a881a30f5e3d25cc2c18741bc) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `unknownInEffectCatch` diagnostic to warn when catch callbacks in `Effect.tryPromise`, `Effect.tryMap`, or `Effect.tryMapPromise` return `unknown` or `any` types. This helps ensure proper error typing by encouraging developers to wrap unknown errors into Effect's `Data.TaggedError` or narrow down the type to the specific error being raised.
Example:
```typescript
// ❌ Will trigger diagnostic
const program = Effect.tryPromise({
try: () => fetch("http://something"),
catch: (e) => e, // returns unknown
});
// ✅ Proper typed error
class MyError extends Data.TaggedError("MyError")<{ cause: unknown }> {}
const program = Effect.tryPromise({
try: () => fetch("http://something"),
catch: (e) => new MyError({ cause: e }),
});
```
##### Patch Changes
- [#​475](https://github.com/Effect-TS/language-service/pull/475) [`9f2425e`](https://github.com/Effect-TS/language-service/commit/9f2425e65e72099fba1e78948578a5e0b8598873) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix TSC patching mode to properly filter diagnostics by module name. The `reportSuggestionsAsWarningsInTsc` option now only affects the TSC module and not the TypeScript module, preventing suggestions from being incorrectly reported in non-TSC contexts.
### [`v0.53.3`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0533)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.2...v0.53.3)
##### Patch Changes
- [#​473](https://github.com/Effect-TS/language-service/pull/473) [`b29eca5`](https://github.com/Effect-TS/language-service/commit/b29eca54ae90283887e0f8c586c62e49a3b13737) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix memory leak in CLI diagnostics by properly disposing language services when they change between batches.
The CLI diagnostics command now tracks the language service instance and disposes of it when a new instance is created, preventing memory accumulation during batch processing of large codebases.
- [#​474](https://github.com/Effect-TS/language-service/pull/474) [`06b9ac1`](https://github.com/Effect-TS/language-service/commit/06b9ac143919cabd0f8a4836487f583c09772081) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix TSC patching mode to properly enable diagnosticsName option and simplify suggestion handling.
When using the language service in TSC patching mode, the `diagnosticsName` option is now automatically enabled to ensure diagnostic rule names are included in the output. Additionally, the handling of suggestion-level diagnostics has been simplified - when `reportSuggestionsAsWarningsInTsc` is enabled, suggestions are now converted to Message category instead of Warning category with a prefix.
This change ensures consistent diagnostic formatting across both IDE and CLI usage modes.
- [#​471](https://github.com/Effect-TS/language-service/pull/471) [`be70748`](https://github.com/Effect-TS/language-service/commit/be70748806682d9914512d363df05a0366fa1c56) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Improve CLI diagnostics output formatting by displaying rule names in a more readable format.
The CLI now displays diagnostic rule names using the format `effect(ruleName):` instead of `TS<code>:`, making it easier to identify which Effect diagnostic rule triggered the error. Additionally, the CLI now disables the `diagnosticsName` option internally to prevent duplicate rule name display in the message text.
Example output:
```
Before: TS90001: Floating Effect detected...
After: effect(floatingEffect): Floating Effect detected...
```
### [`v0.53.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0532)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.1...v0.53.2)
##### Patch Changes
- [#​469](https://github.com/Effect-TS/language-service/pull/469) [`f27be56`](https://github.com/Effect-TS/language-service/commit/f27be56a61413f7b79d8778af59b54399381ba8d) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `reportSuggestionsAsWarningsInTsc` configuration option to allow suggestions and messages to be reported as warnings in TypeScript compiler.
When enabled, diagnostics with "suggestion" or "message" severity will be upgraded to "warning" severity with a "\[suggestion]" prefix in the message text. This is useful for CI/CD pipelines where you want to enforce suggestion-level diagnostics as warnings in the TypeScript compiler output.
Example configuration:
```json
{
"compilerOptions": {
"plugins": [
{
"name": "@​effect/language-service",
"reportSuggestionsAsWarningsInTsc": true
}
]
}
}
```
### [`v0.53.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0531)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.0...v0.53.1)
##### Patch Changes
- [#​467](https://github.com/Effect-TS/language-service/pull/467) [`c2f6e50`](https://github.com/Effect-TS/language-service/commit/c2f6e5036b3b248201d855c61e2b206c3b8ed20d) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix layer graph display improvements: properly render newlines in mermaid diagrams using `<br/>` tags, and improve readability by displaying variable declaration names instead of full expressions when available.
Example: Instead of showing the entire `pipe(Database.Default, Layer.provideMerge(UserRepository.Default))` expression in the graph node, it now displays the cleaner variable name `AppLive` when the layer is assigned to a variable.
### [`v0.53.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0530)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.52.1...v0.53.0)
##### Minor Changes
- [#​466](https://github.com/Effect-TS/language-service/pull/466) [`e76e9b9`](https://github.com/Effect-TS/language-service/commit/e76e9b90454de68cbf6e025ab63ecce5464168f3) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add support for following symbols in Layer Graph visualization
The layer graph feature now supports following symbol references to provide deeper visualization of layer dependencies. This is controlled by the new `layerGraphFollowDepth` configuration option (default: 0).
Example:
```typescript
// With layerGraphFollowDepth: 1
export const myLayer = otherLayer.pipe(Layer.provide(DbConnection.Default));
// Now visualizes the full dependency tree by following the 'otherLayer' reference
```
##### Patch Changes
- [#​464](https://github.com/Effect-TS/language-service/pull/464) [`4cbd549`](https://github.com/Effect-TS/language-service/commit/4cbd5499a5edd93cc70e77695163cbb50ad9e63e) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Fix layer graph for expression nodes not returning layers directly
### [`v0.52.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0521)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.52.0...v0.52.1)
##### Patch Changes
- [#​462](https://github.com/Effect-TS/language-service/pull/462) [`4931bbd`](https://github.com/Effect-TS/language-service/commit/4931bbd5d421b2b80bd0bc9eff71bd401b24f291) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Skip patching again by default, unless --force option is provided
### [`v0.52.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0520)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.51.1...v0.52.0)
##### Minor Changes
- [#​460](https://github.com/Effect-TS/language-service/pull/460) [`1ac81a0`](https://github.com/Effect-TS/language-service/commit/1ac81a0edb3fa98ffe90f5e8044d5d65de1f0027) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic `catchUnfailableEffect` to warn when using catch functions on effects that never fail
This diagnostic detects when catch error handling functions are applied to effects that have a `never` error type (meaning they cannot fail). It supports all Effect catch variants:
- `Effect.catchAll`
- `Effect.catch`
- `Effect.catchIf`
- `Effect.catchSome`
- `Effect.catchTag`
- `Effect.catchTags`
Example:
```typescript
// Will trigger diagnostic
const example = Effect.succeed(42).pipe(
Effect.catchAll(() => Effect.void) // <- Warns here
);
// Will not trigger diagnostic
const example2 = Effect.fail("error").pipe(
Effect.catchAll(() => Effect.succeed(42))
);
```
The diagnostic works in both pipeable style (`Effect.succeed(x).pipe(Effect.catchAll(...))`) and data-first style (`pipe(Effect.succeed(x), Effect.catchAll(...))`), analyzing the error type at each position in the pipe chain.
- [#​458](https://github.com/Effect-TS/language-service/pull/458) [`372a9a7`](https://github.com/Effect-TS/language-service/commit/372a9a767bf69f733d54ab93e47eb4792e87b289) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Refactor TypeParser internals to use symbol-based navigation instead of type-based navigation
This change improves the reliability and performance of the TypeParser by switching from type-based navigation to symbol-based navigation when identifying Effect, Schema, and other Effect ecosystem APIs. The new implementation:
- Uses TypeScript's symbol resolution APIs to accurately identify imports and references
- Supports package name resolution to verify that identifiers actually reference the correct packages
- Implements proper alias resolution for imported symbols
- Adds caching for source file package information lookups
- Provides new helper methods like `isNodeReferenceToEffectModuleApi` and `isNodeReferenceToEffectSchemaModuleApi`
This is an internal refactoring that doesn't change the public API or functionality, but provides a more robust foundation for the language service features.
### [`v0.51.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0511)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.51.0...v0.51.1)
##### Patch Changes
- [#​456](https://github.com/Effect-TS/language-service/pull/456) [`ddc3da8`](https://github.com/Effect-TS/language-service/commit/ddc3da8771f614aa2391f8753b44c6dad787bbd4) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Bug fix for layer graph: properly display dependencies when they reference themselves
The layer graph now correctly identifies and displays dependencies even when using type assignment compatibility (e.g., when a layer provides a base type and another layer requires a subtype).
### [`v0.51.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0510)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.50.0...v0.51.0)
##### Minor Changes
- [#​452](https://github.com/Effect-TS/language-service/pull/452) [`fb0ae8b`](https://github.com/Effect-TS/language-service/commit/fb0ae8bf7b8635c791a085022b51bf1a914c0b46) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add `strictEffectProvide` diagnostic to warn when using Effect.provide with Layer outside of application entry points
This new diagnostic helps developers identify potential scope lifetime issues by detecting when `Effect.provide` is called with a Layer argument in locations that are not application entry points.
**Example:**
```typescript
// Will trigger diagnostic
export const program = Effect.void.pipe(Effect.provide(MyService.Default));
```
**Message:**
> Effect.provide with a Layer should only be used at application entry points. If this is an entry point, you can safely disable this diagnostic. Otherwise, using Effect.provide may break scope lifetimes. Compose all layers at your entry point and provide them at once.
**Configuration:**
- **Default severity**: `"off"` (opt-in)
- **Diagnostic name**: `strictEffectProvide`
This diagnostic is disabled by default and can be enabled via tsconfig.json:
```json
{
"compilerOptions": {
"plugins": [
{
"name": "@​effect/language-service",
"diagnosticSeverity": {
"strictEffectProvide": "warning"
}
}
]
}
}
```
##### Patch Changes
- [#​455](https://github.com/Effect-TS/language-service/pull/455) [`11743b5`](https://github.com/Effect-TS/language-service/commit/11743b5144cf5189ae2fce554113688c56ce6b9c) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Bug fix for `missedPipeableOpportunity` diagnostic
### [`v0.50.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0500)
[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.49.0...v0.50.0)
##### Minor Changes
- [#​450](https://github.com/Effect-TS/language-service/pull/450) [`3994aaf`](https://github.com/Effect-TS/language-service/commit/3994aafb7dbf5499e5d1d7177eca7135c5a02a51) Thanks [@​mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic to detect nested function calls that can be converted to pipeable style
The new `missedPipeableOpportunity` diagnostic identifies nested function calls that would be more readable when converted to Effect's pipeable style. For example:
```ts
// Detected pattern:
toString(double(addOne(5)));
// Can be converted to:
addOne(5).pipe(double, toString);
```
This diagnostic helps maintain consistent code style and improves readability by suggesting the more idiomatic pipeable approach when multiple functions are chained together.
</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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE2OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->
Reviewed-on: #21
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
|
2025-11-04 01:33:29 +01:00 |
|
Julien Valverdé
|
c7a68d8653
|
Add useRunSync
Lint / lint (push) Successful in 13s
|
2025-11-04 00:46:07 +01:00 |
|
Julien Valverdé
|
87e7b74ed6
|
Fix
Lint / lint (push) Failing after 38s
|
2025-11-03 01:21:58 +01:00 |
|