microsoft / microsoft/vscode

Enhance scoredEditReconciler with robust error handling, input validation, and type safety

Open
#333,440 0 comments 0 reactions 1 assignee Claimed by @hediet View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Feature Request
Improve the `scoredEditReconciler` script used for merging conflicts in `scoredEdits.w.json` files by enhancing error handling, adding proper TypeScript type safety, and improving file-checking mechanisms.

### Problem or Use Case
Currently, the script lacks detailed JSON parsing error context per file, can crash ungracefully on missing files, and uses loose types (`any`), making bulk auto-reconciliation (`--auto`) less resilient when encountering issues.

### Proposed Solution
- Add explicit TypeScript interfaces (`ScoredEditFile`) to replace loose types.
- Wrap JSON parsing logic in descriptive try-catch blocks to pinpoint file-specific parse errors.
- Implement early validation for file paths via `fs.existsSync`.
- Upgrade the `--auto` reconciliation process to use `Promise.allSettled` so that a failure in one file doesn't block the processing of others.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.