fix(dead-export-finder): replace JSON.parse with Schema.parseJson#51
Merged
Conversation
Resolves TS44 preferSchemaOverJson diagnostic by using Effect Schema for JSON parsing in workspace-detector.ts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
No new issues found.
TL;DR — Mechanical refactor replacing JSON.parse with Schema.parseJson in workspace-detector.ts, resolving the Effect Language Service preferSchemaOverJson diagnostic. Error handling semantics are preserved at both call sites.
Key changes
- Add
JsonRecordschema for structured JSON parsing — Module-levelSchema.parseJson(Schema.Record(...))replaces ad-hocJSON.parse+ type cast - Port
readPackageInfoto schema-based parsing —Effect.flatMapwithSchema.decodeUnknownreplaces the try/catch block; the outerEffect.catchAllpreserves the lenient null-return behavior - Port
detectto schema-based parsing —Schema.decodeUnknown+Effect.mapErrorreplacesEffect.try, preserving the strictWorkspaceNotFoundErroron parse failure
Summary | 1 file | 1 commit | base: main ← fix/prefer-schema-over-json-parse
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
JSON.parsecalls withSchema.parseJson(Schema.Record(...))inworkspace-detector.tspreferSchemaOverJsondiagnostic from the Effect Language Servicenull) inreadPackageInfo, strict (raisesWorkspaceNotFoundError) indetectTest plan
tsc --noEmitpasses with no errorspnpm test)🤖 Generated with Claude Code