Skip to content

Commit 047818b

Browse files
refactor(effect-lsp)!: adopt effect-utils full-strict Effect-LSP gate (remove errors-only override)
Removes LiveStore's temporary errors-only Effect-LSP override in genie/repo.ts so the inherited effect-utils `effectDiagnosticsGate = { warnings: true, suggestions: true }` applies in full: Effect errors, warnings, AND suggestions now all gate `tsgo --build`. The LiveStore-specific `allowedDuplicatedPackages: ['@livestore/utils']` is folded into the base plugin config so it survives the override removal. This is the capstone of the #811 Effect-LSP burndown; it lands on top of the three burndown merges (#1407 mechanical, #1408 schema, #1409 semantic) which together cleared all ~406 pre-existing advisory diagnostics. Regenerated all 28 package tsconfigs via genie:run. Acceptance test: with the override removed, `tsgo --build --force tsconfig.dev.json` builds all 32 projects and exits 0 with zero Effect diagnostics; `devenv tasks run ts:check` and `check:quick` are green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017UUpxCn21wCGq67x3Yy48A
1 parent f8893fd commit 047818b

30 files changed

Lines changed: 76 additions & 70 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
---
3+
4+
No release impact (Effect-LSP gate). Adopts effect-utils' full `effectDiagnosticsGate` (errors + warnings + suggestions) by removing LiveStore's temporary errors-only override in `genie/repo.ts`.

docs/src/content/_assets/code/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

genie/repo.ts

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ export const domLib = effectUtilsDomLib.filter((lib) => lib !== 'DOM.Iterable' &
9090

9191
// Strip inherited options that now match defaults so generated
9292
// tsconfigs only carry LiveStore-specific intent. `plugins` is pulled out
93-
// separately so we can override the Effect-LSP exit-code gate below.
93+
// separately so we can inject LiveStore's `allowedDuplicatedPackages` onto the
94+
// inherited `@effect/language-service` plugin below (without altering its gate).
9495
const {
9596
allowJs: _allowJs,
9697
esModuleInterop: _esModuleInterop,
@@ -103,30 +104,31 @@ const {
103104
} = effectUtilsBaseTsconfigCompilerOptions
104105

105106
/**
106-
* #811 Effect-LSP gate — deferred warning/suggestion burndown.
107+
* #811 Effect-LSP gate — full effect-utils bar adopted (errors-only override removed).
107108
*
108109
* effect-utils sets `effectDiagnosticsGate = { warnings: true, suggestions: true }`,
109110
* so its `@effect/language-service` plugin config fails `tsgo --build` on every
110-
* Effect *warning* and *suggestion*, not just errors. Adopting this effect-utils
111-
* revision surfaced ~406 pre-existing advisory diagnostics (duplicatePackage,
112-
* schemaNumber, preferSchemaOverJson, …) across the LiveStore tree.
111+
* Effect *error*, *warning*, and *suggestion*. Adopting the effect-utils bump
112+
* originally surfaced ~406 pre-existing advisory diagnostics (duplicatePackage,
113+
* schemaNumber, preferSchemaOverJson, …) across the LiveStore tree, and we
114+
* temporarily flipped `ignoreEffectWarningsInTscExitCode` /
115+
* `ignoreEffectSuggestionsInTscExitCode` to restore an ERRORS-only gate while the
116+
* burndown landed in dedicated PRs (mechanical / schema / semantic).
113117
*
114-
* For this effect-utils bump we restore LiveStore's pre-bump gating — ERRORS only —
115-
* by flipping just the two exit-code flags. Warnings/suggestions stay VISIBLE in
116-
* build output (advisory) but no longer fail the build; real Effect errors (e.g.
117-
* the `missingReturnYieldStar` bugs fixed in this PR) still gate hard via the
118-
* inherited `ignoreEffectErrorsInTscExitCode: false`. The full warning/suggestion
119-
* burndown to the #811 Effect-LSP bar is deferred to a dedicated follow-up PR.
120-
* This mirrors effect-utils' own `effectDiagnosticsGate` phased-adoption design.
118+
* That burndown is now complete, so the override is REMOVED: warnings and
119+
* suggestions gate `tsgo --build` again, and LiveStore inherits effect-utils'
120+
* full `effectDiagnosticsGate` unchanged. Every remaining Effect warning/suggestion
121+
* is either fixed or carries a justified inline `:off`. The only LiveStore-specific
122+
* tweak we still inject here is `allowedDuplicatedPackages: ['@livestore/utils']`,
123+
* which suppresses the expected `@livestore/utils` duplicate-package diagnostics
124+
* that are intentional in this workspace.
121125
*/
122126
const baseTsconfigCompilerOptions = {
123127
...baseTsconfigCompilerOptionsWithoutPlugins,
124128
plugins: inheritedTsconfigPlugins.map((plugin) =>
125129
plugin.name === '@effect/language-service'
126130
? {
127131
...plugin,
128-
ignoreEffectWarningsInTscExitCode: true,
129-
ignoreEffectSuggestionsInTscExitCode: true,
130132
allowedDuplicatedPackages: ['@livestore/utils'],
131133
}
132134
: plugin,

packages/@livestore/adapter-cloudflare/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@livestore/adapter-web/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@livestore/common-cf/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@livestore/common/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@livestore/effect-playwright/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@livestore/framework-toolkit/tsconfig.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)