bun run knip currently exits with code 1 due to unresolved warnings that were
not addressed when knip was introduced (see plans/knip.md, Phase 5). The
findings were intentionally deferred to Phase 6, after the previous attempt in
#234 mixed the linter setup with code changes across 56 files and had to be
reverted.
This issue tracks the remaining cleanup, to be addressed in separate, focused
PRs (one category at a time).
Current findings
bun run knip output:
Unused exports (9)
getObservable — packages/computed/src/proxy.ts:91
peek — packages/computed/src/proxy.ts:94
isProxied — packages/computed/src/proxy.ts:97
notify — packages/observable/src/extenders.ts:39
deferred — packages/observable/src/extenders.ts:46
rateLimit — packages/observable/src/extenders.ts:55
innerParse — packages/provider.mustache/src/mustacheParser.ts:72
parseOuterMatch — packages/provider.mustache/src/mustacheParser.ts:84
JsxObserver — packages/utils.jsx/src/JsxObserver.ts:55
Unused exported types (19)
BindingHandlerControlsDescendant — packages/bind/src/BindingHandler.ts:6
BindingHandlerAddBinding — packages/bind/src/BindingHandler.ts:7
RenderStatusKeys — packages/binding.if/src/ConditionalBindingHandler.ts:12
Utils — packages/builder/src/Builder.ts:106
ComputedFunctions — packages/computed/src/computed.ts:47
PureComputed — packages/computed/src/computed.ts:60
ComputedReadFunction — packages/computed/src/computed.ts:62
ComputedWriteFunction — packages/computed/src/computed.ts:67
MaybeComputed — packages/computed/src/computed.ts:68
ComputedOptions — packages/computed/src/computed.ts:70
BaseExtendersType — packages/observable/src/extenders.ts:75
MaybeObservable — packages/observable/src/observable.ts:16
MaybeObservableArray — packages/observable/src/observableArray.ts:15
BindingAccessors — packages/provider/src/Provider.ts:17
OperatorFunction — packages/utils.parser/src/operators.ts:19
OperatorWithProperties — packages/utils.parser/src/operators.ts:21
Operators — packages/utils.parser/src/operators.ts:26
CustomBindingGlobalProperties — packages/utils/src/options.ts:4
BindingStringPreparsersFunction — packages/utils/src/options.ts:8
Duplicate exports (2)
JsxObserver|default — packages/utils.jsx/src/JsxObserver.ts
isStartComment|hasBindingValue — packages/utils/src/dom/virtualElements.ts
Configuration hints (1)
@vitest/browser — knip.json: remove from ignoreDependencies
Context
These warnings were already cleaned up once in #234, but that PR was reverted
because it bundled the knip introduction with the cleanup (and additional
unrelated changes like verbatimModuleSyntax and type refactoring) in a
single 56-file diff. The current plan (plans/knip.md) splits the work:
- Phase 5 (done): add
knip.json, bun run knip script, CI wiring
- Phase 6 (this issue): fix findings in focused, per-category PRs
#234 is a useful reference for the cleanup itself — most of these symbols
were removed there and can be removed the same way now, just split across
smaller PRs.
Suggested PR breakdown
- Remove or annotated with internal unused exports (9 symbols)
- Remove unused exported types (19 symbols)
- De-duplicate the 2 duplicate exports
- Remove
@vitest/browser from knip.json ignoreDependencies
Each PR should keep bun run verify green and avoid touching unrelated
behavior. Public-API-touching removals need a changeset.
bun run knipcurrently exits with code 1 due to unresolved warnings that werenot addressed when knip was introduced (see plans/knip.md, Phase 5). The
findings were intentionally deferred to Phase 6, after the previous attempt in
#234 mixed the linter setup with code changes across 56 files and had to be
reverted.
This issue tracks the remaining cleanup, to be addressed in separate, focused
PRs (one category at a time).
Current findings
bun run knipoutput:Unused exports (9)
getObservable— packages/computed/src/proxy.ts:91peek— packages/computed/src/proxy.ts:94isProxied— packages/computed/src/proxy.ts:97notify— packages/observable/src/extenders.ts:39deferred— packages/observable/src/extenders.ts:46rateLimit— packages/observable/src/extenders.ts:55innerParse— packages/provider.mustache/src/mustacheParser.ts:72parseOuterMatch— packages/provider.mustache/src/mustacheParser.ts:84JsxObserver— packages/utils.jsx/src/JsxObserver.ts:55Unused exported types (19)
BindingHandlerControlsDescendant— packages/bind/src/BindingHandler.ts:6BindingHandlerAddBinding— packages/bind/src/BindingHandler.ts:7RenderStatusKeys— packages/binding.if/src/ConditionalBindingHandler.ts:12Utils— packages/builder/src/Builder.ts:106ComputedFunctions— packages/computed/src/computed.ts:47PureComputed— packages/computed/src/computed.ts:60ComputedReadFunction— packages/computed/src/computed.ts:62ComputedWriteFunction— packages/computed/src/computed.ts:67MaybeComputed— packages/computed/src/computed.ts:68ComputedOptions— packages/computed/src/computed.ts:70BaseExtendersType— packages/observable/src/extenders.ts:75MaybeObservable— packages/observable/src/observable.ts:16MaybeObservableArray— packages/observable/src/observableArray.ts:15BindingAccessors— packages/provider/src/Provider.ts:17OperatorFunction— packages/utils.parser/src/operators.ts:19OperatorWithProperties— packages/utils.parser/src/operators.ts:21Operators— packages/utils.parser/src/operators.ts:26CustomBindingGlobalProperties— packages/utils/src/options.ts:4BindingStringPreparsersFunction— packages/utils/src/options.ts:8Duplicate exports (2)
JsxObserver|default— packages/utils.jsx/src/JsxObserver.tsisStartComment|hasBindingValue— packages/utils/src/dom/virtualElements.tsConfiguration hints (1)
@vitest/browser— knip.json: remove fromignoreDependenciesContext
These warnings were already cleaned up once in #234, but that PR was reverted
because it bundled the knip introduction with the cleanup (and additional
unrelated changes like
verbatimModuleSyntaxand type refactoring) in asingle 56-file diff. The current plan (plans/knip.md) splits the work:
knip.json,bun run knipscript, CI wiring#234 is a useful reference for the cleanup itself — most of these symbols
were removed there and can be removed the same way now, just split across
smaller PRs.
Suggested PR breakdown
@vitest/browserfromknip.jsonignoreDependenciesEach PR should keep
bun run verifygreen and avoid touching unrelatedbehavior. Public-API-touching removals need a changeset.