Skip to content

Commit 2fb2ead

Browse files
committed
feat(knip): update entry patterns and ignore export rules
1 parent 3bd0ca7 commit 2fb2ead

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

knip.config.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,22 @@ const config: KnipConfig = {
1313
// - Playwright/Checkly e2e specs under tests/**
1414
// - checkly.config.ts (consumed by the Checkly CLI)
1515
// - global stylesheets that pull in CSS-only deps via @import / @plugin
16+
// - barrel `index.{ts,tsx}` files plus self-contained type / constant /
17+
// lib / util modules. Their exports describe a public surface
18+
// (consumed via deep imports, dynamic imports, or future call sites);
19+
// knip should not flag them as unused.
1620
entry: [
1721
'tests/**/*.{ts,tsx}',
1822
'checkly.config.ts',
1923
'src/styles/**/*.css',
24+
'src/components/*/index.{ts,tsx}',
25+
'src/components/ai-elements/*.{ts,tsx}',
26+
'src/stores/index.{ts,tsx}',
27+
'src/types/*.{ts,tsx}',
28+
'src/constants/*.{ts,tsx}',
29+
'src/libs/*.{ts,tsx}',
30+
'src/utils/*.{ts,tsx}',
31+
'src/app/**/_components/**/types.{ts,tsx}',
2032
],
2133
// Use negated `project` patterns instead of `ignore` to define
2234
// codebase boundaries (per knip's official guidance).
@@ -109,11 +121,15 @@ const config: KnipConfig = {
109121
},
110122

111123
// Internal-only exports are common in this codebase (compound components,
112-
// local helpers). Keep type/interface checks strict so we still catch dead
113-
// type definitions like the unused validation input types.
114-
ignoreExportsUsedInFile: {
115-
interface: true,
116-
type: true,
124+
// local helpers, zod sub-schemas composed into exported parents). Ignore
125+
// any export that is only consumed within its own file.
126+
ignoreExportsUsedInFile: true,
127+
128+
// Per-file issue overrides for cases where the export is intentionally
129+
// public-facing but currently has no external consumer (zod sub-schemas
130+
// used as composable building blocks).
131+
ignoreIssues: {
132+
'packages/video-runtime/src/utils/validation.ts': ['exports'],
117133
},
118134

119135
// CSS @import / @plugin resolution for Tailwind / global stylesheets.

0 commit comments

Comments
 (0)