You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: Tone down exaggerated claims and improve accuracy
CHANGES:
1. Replaced "PERFECT PARITY" with accurate edge case language (Test A10)
- Changed header from "PERFECT PARITY" to "Edge Case"
- Acknowledged this is INVALID TypeScript that compiler would reject
- Clarified import organizers don't validate semantics (compiler's job)
- Changed assertion from "PERFECT PARITY" to "edge case behavior matching"
2. Replaced "must produce correct output" with "must match expected output" (255 instances)
- Old: "must produce correct output" (implies settings are respected)
- New: "must match expected output" (neutral, accurate for test verification)
- This is more honest when settings are silently ignored (legacy mode bugs)
3. Updated README.md claims about legacy mode
- Changed: "match original behavior exactly" → "match output format"
- Changed: "100% backward compatibility" → "maximum backward compatibility"
- Added: "Crash handling — Gracefully handles cases that crashed old extension"
- Changed: "IGNORED" → "SILENTLY IGNORED" for clarity
- Changed: "Bug in old extension" → "Bug replication" (more humble)
- Added prominent warning: Config settings silently ignored in legacy mode
- Changed: "exact old output" → "consistent output format"
RATIONALE:
This addresses valid audit findings:
- "PERFECT PARITY" overstates things for invalid TypeScript
- "correct output" is contradictory when configs are ignored
- "exactly" and "100%" are technically false (we DO fix crashes)
We now accurately describe:
- Legacy mode matches OUTPUT FORMAT (not exact behavior)
- We gracefully handle crashes (silent fix)
- Config settings are SILENTLY IGNORED (prominent warning added)
- Invalid TS is an edge case (not our job to validate)
TEST RESULTS:
✅ All 191 tests passing
Copy file name to clipboardExpand all lines: README.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,19 +180,22 @@ Once your settings are migrated, you have two options:
180
180
181
181
If the old TypeScript Hero extension is still active, you'll see a reminder in the migration notification suggesting you can disable it.
182
182
183
-
**Legacy Mode:** For migrated users, `legacyMode` is automatically set to `true` to match the original TypeScript Hero behavior exactly. When enabled, legacy mode replicates ALL old behaviors (including bugs) for 100% backward compatibility:
183
+
**Legacy Mode:** For migrated users, `legacyMode` is automatically set to `true` to match the original TypeScript Hero output format. When enabled, legacy mode replicates old behaviors (including bugs) for maximum backward compatibility:
-**Crash handling** — Gracefully handles cases that crashed old extension (silent fix)
191
192
192
-
**Why replicate bugs?** Migrated users depend on exact old output. Any change would create massive diffs across their codebase on first run, breaking trust.
193
+
**Why replicate bugs?** Migrated users depend on consistent output format. Any change would create massive diffs across their codebase on first run, breaking trust.
193
194
194
195
**Modern mode fixes these bugs:** New users get `legacyMode: false` by default for correct behavior. You can toggle this setting anytime via the command palette or your configuration.
195
196
197
+
> **⚠️ IMPORTANT**: When `legacyMode: true`, certain config settings are silently ignored (see above). The extension does NOT warn about this - it's intentional for backward compatibility. If you need these settings to work, set `legacyMode: false`.
198
+
196
199
### No Old Settings?
197
200
198
201
If you've never used TypeScript Hero before, the migration simply won't run — no action needed!
@@ -318,7 +321,7 @@ Mini TypeScript Hero respects your editor's indentation settings for multiline i
318
321
- Reads VS Code's resolved editor settings (usually **2 spaces** for TypeScript)
319
322
- Falls back to **4 spaces** when no editor context is available
320
323
- Always uses spaces (never tabs)
321
-
- Matches old TypeScript Hero behavior exactly
324
+
- Matches old TypeScript Hero output format
322
325
323
326
**Note:** VS Code automatically applies `.editorconfig` settings to `editor.tabSize` and `editor.insertSpaces`. The extension reads these resolved values, so EditorConfig integration works automatically.
0 commit comments