🔀 Merge fix/knip-library-entry into main
This commit is contained in:
commit
02f64f804e
2 files changed
+23
-1
No files matched your search
@@ -196,6 +196,28 @@ joining the oxfmt-superseded rules already off.
|
||||
are part of the public API.
|
||||
- The narrower scope keeps the signal high without config-file boilerplate.
|
||||
|
||||
### `knip` lists `src/index.ts` as an entry
|
||||
|
||||
#### Decision (2026-09)
|
||||
|
||||
`knip.json` declares `"entry": ["src/index.ts", "scripts/*.ts"]`.
|
||||
|
||||
#### Why
|
||||
|
||||
- Supplying `entry` **replaces** knip's default entry detection, which otherwise
|
||||
derives the public entry from `package.json` `exports`. Adding `scripts/*.ts`
|
||||
there therefore dropped the library entry, so knip resolved the package through
|
||||
its `dist/index.js` output and reported the unreferenced source entry file
|
||||
`src/index.ts` as an unused file.
|
||||
- Naming the source entry restores the link between the public API and the
|
||||
source graph without pointing knip at build output.
|
||||
|
||||
#### Rejected
|
||||
|
||||
- `paths` mapping `dist/index.*` back to `src/index.ts`: more config to model a
|
||||
relation the explicit entry states directly, and it would break whenever the
|
||||
build layout changes.
|
||||
|
||||
### `maintain:outdated` ignores `@types/node`
|
||||
|
||||
#### Decision (2026-09)
|
||||
|
||||
Reference in new issue
Block a user