Skip to content

Commit 5a65d29

Browse files
author
Ryan
committed
fix(sdk): fix dogfood gate — bundler dupes, prose drift false positives, stale README imports
1 parent f85ba14 commit 5a65d29

7 files changed

Lines changed: 29 additions & 11 deletions

File tree

packages/sdk/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# @doccov/sdk
22

3+
## 1.0.2
4+
5+
### Patch Changes
6+
7+
- Fix dogfood gate: bundler duplicate export errors, prose drift false positives on subpath imports, stale README imports, add content/\*_/_.md to default discovery
8+
9+
## 1.0.1
10+
11+
### Patch Changes
12+
13+
- 8719ae0: Fix dogfood gate: bundler duplicate export errors, prose drift false positives on subpath imports, stale README imports, add content/\*_/_.md to default discovery
14+
315
## 1.0.0
416

517
### Major Changes

packages/sdk/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ const { entryFile, targetDir, packageInfo } = await resolveTarget(fs, {
133133
### History & Trends
134134

135135
```typescript
136-
import { saveSnapshot, loadSnapshots, getTrend, computeSnapshot } from '@driftdev/sdk';
136+
import { saveSnapshot, loadSnapshots, getTrend, computeSnapshot } from '@driftdev/sdk/history';
137137

138138
saveSnapshot(computeSnapshot(spec), process.cwd());
139139
const snapshots = loadSnapshots(process.cwd());
@@ -143,7 +143,7 @@ const trend = getTrend(spec, process.cwd());
143143
### Categorize & Summarize
144144

145145
```typescript
146-
import { categorizeDrift, getDriftSummary, groupDriftsByCategory } from '@driftdev/sdk';
146+
import { categorizeDrift, getDriftSummary, groupDriftsByCategory } from '@driftdev/sdk/analysis';
147147

148148
const summary = getDriftSummary(drifts);
149149
// summary.total, summary.byCategory (structural/semantic/example/prose)
@@ -164,7 +164,7 @@ const grouped = groupDriftsByCategory(drifts);
164164
### Drift Detection
165165
- `detectProseDrift` — Markdown prose drift detection
166166
- `buildExportRegistry` — Build registry for cross-reference validation
167-
- `categorizeDrift` / `getDriftSummary` / `groupDriftsByCategory` — Categorization
167+
- `categorizeDrift` / `getDriftSummary` / `groupDriftsByCategory` — Categorization (via `@driftdev/sdk/analysis`)
168168

169169
### Markdown
170170
- `discoverMarkdownFiles` — Auto-discover markdown files by glob patterns
@@ -181,7 +181,7 @@ const grouped = groupDriftsByCategory(drifts);
181181
- `NodeFileSystem` — File system adapter
182182
- `detectPackageManager` — Detect npm/yarn/pnpm/bun
183183

184-
### History
184+
### History (via `@driftdev/sdk/history`)
185185
- `saveSnapshot` / `loadSnapshots` — Manage coverage history
186186
- `getTrend` / `getExtendedTrend` — Trend analysis
187187
- `pruneHistory` — Clean old snapshots

packages/sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@driftdev/sdk",
3-
"version": "1.0.0",
3+
"version": "1.0.2",
44
"description": "Drift SDK - Documentation coverage and drift detection for TypeScript",
55
"keywords": [
66
"typescript",

packages/sdk/src/analysis/drift/prose-drift.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export function detectProseDrift(options: ProseDriftOptions): SpecDocDrift[] {
3535
for (const imp of packageImports) {
3636
if (imp.kind === 'side-effect') continue;
3737
if (registry.all.has(imp.name)) continue;
38+
// Skip subpath imports — registry only covers the main entry point
39+
if (imp.from !== packageName) continue;
3840

3941
const match = findClosestMatch(imp.name, registry.allNames);
4042
const suggestion = match

packages/sdk/src/analyzer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
loadSpecCache,
1717
saveSpecCache,
1818
validateSpecCache,
19-
} from './cache';
19+
} from './cache/spec-cache';
2020
import { extractPackageSpec } from './extractor';
2121
import { applyFilters } from './filtering/apply-filters';
2222
import type { FilterOptions } from './filtering/types';

packages/sdk/src/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,22 @@ export { resolveTarget } from './resolve';
136136

137137
export type {
138138
ExampleValidation,
139+
} from './examples/types';
140+
export type {
139141
ExampleValidationOptions,
140142
ExampleValidationResult,
141-
} from './examples';
142-
export { parseExamplesFlag, validateExamples } from './examples';
143+
} from './examples/validator';
144+
export { parseExamplesFlag } from './examples/types';
145+
export { validateExamples } from './examples/validator';
143146

144147
// ─────────────────────────────────────────────────────────────────────────────
145148
// Markdown Analysis — @deprecated Use @driftdev/sdk/markdown
146149
// ─────────────────────────────────────────────────────────────────────────────
147150

148151
export { detectProseDrift, type ProseDriftOptions } from './analysis/drift/prose-drift';
149-
export type { MarkdownCodeBlock, MarkdownDocFile } from './markdown';
150-
export { discoverMarkdownFiles, findExportReferences, parseMarkdownFiles } from './markdown';
152+
export type { MarkdownCodeBlock, MarkdownDocFile } from './markdown/types';
153+
export { discoverMarkdownFiles } from './markdown/discover';
154+
export { findExportReferences, parseMarkdownFiles } from './markdown/parser';
151155

152156
// ─────────────────────────────────────────────────────────────────────────────
153157
// Report Types (commonly needed)

packages/sdk/src/markdown/discover.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export interface DiscoverOptions {
88
exclude?: string[];
99
}
1010

11-
const DEFAULT_INCLUDE = ['README.md', 'docs/**/*.md', 'docs/**/*.mdx'];
11+
const DEFAULT_INCLUDE = ['README.md', 'docs/**/*.md', 'docs/**/*.mdx', 'content/**/*.md', 'content/**/*.mdx'];
1212
const DEFAULT_EXCLUDE = ['node_modules/**', 'dist/**', '.git/**'];
1313

1414
/**

0 commit comments

Comments
 (0)