Background
packages/mds/src/types.ts:117 exports a type named FileOptions. The reviewer noted (70% confidence) that this name is ambiguous — it could apply to any file operation — while the actual type corresponds to compileFile-specific options. CompileFileOptions is the intent-clear name.
Ledger ID: #52 (consistency-packages/mds/src/types.ts:117-fileoptions_naming)
File: packages/mds/src/types.ts:117
Originating reviewer: Consistency
Problem
FileOptions is exported as a public TypeScript type on the @mdscript/mds package.
- Renaming it is a breaking change for any consumer who imports it by name.
- The reviewer rated this 70% and explicitly called it "pure churn on a breaking release with no correctness benefit."
Why deferred from PR #196
Renaming a public TypeScript type export breaks every consumer's import statement. It was not appropriate as a pre-publish last-minute change on a breaking release where the rename itself adds no correctness value.
Proposed change
In v0.5.0 (the next breaking release):
- Add
FileOptions = CompileFileOptions as a deprecated type alias.
- Export
CompileFileOptions as the canonical name.
- Remove
FileOptions alias in v0.6.0 (or at the next opportunity, with a CHANGELOG Removed entry).
Alternatively, if the team decides the rename is not worth the churn, document FileOptions in JSDoc with a note explaining the naming.
Acceptance Criteria
Deferred from: PR #196
Target: v0.5.0 (next breaking release)
Background
packages/mds/src/types.ts:117exports a type namedFileOptions. The reviewer noted (70% confidence) that this name is ambiguous — it could apply to any file operation — while the actual type corresponds tocompileFile-specific options.CompileFileOptionsis the intent-clear name.Ledger ID: #52 (
consistency-packages/mds/src/types.ts:117-fileoptions_naming)File:
packages/mds/src/types.ts:117Originating reviewer: Consistency
Problem
FileOptionsis exported as a public TypeScript type on the@mdscript/mdspackage.Why deferred from PR #196
Renaming a public TypeScript type export breaks every consumer's import statement. It was not appropriate as a pre-publish last-minute change on a breaking release where the rename itself adds no correctness value.
Proposed change
In v0.5.0 (the next breaking release):
FileOptions = CompileFileOptionsas a deprecated type alias.CompileFileOptionsas the canonical name.FileOptionsalias in v0.6.0 (or at the next opportunity, with a CHANGELOGRemovedentry).Alternatively, if the team decides the rename is not worth the churn, document
FileOptionsin JSDoc with a note explaining the naming.Acceptance Criteria
CompileFileOptionsis the canonical exported nameFileOptionsis either removed (breaking, v0.5.0) or kept as a deprecated aliasRemovedorDeprecatedCompileFileOptionsexplains what file operation it applies toDeferred from: PR #196
Target: v0.5.0 (next breaking release)