Loading workspace insights... Statistics interval
7 days30 daysLatest CI Pipeline Executions
bf3a92e2 Fixed knip and removed unused dependencies it surfaced
no ref
- knip.json: disabled vitest config auto-discovery at the root workspace.
Knip's vitest plugin was naively dynamically importing every file
matched by the root vitest.config.mjs's `test.projects` glob
(packages/**, apps/*, used by the real vitest CLI for its unified
watcher) as if each were itself a vitest config — including README.md
files and packages/i18n/generate-context.js, whose un-awaited async IIFE
threw an unhandled rejection that crashed the whole `knip` process
before any report was produced. Each package already has its own
correctly-scoped vitest.config.ts that knip reads directly, so the root
config's broad glob was never needed for knip's analysis.
- Removed 6 dependencies knip flagged as unused after verifying via
full-repo grep that they have zero references anywhere: @tryghost/string
and mingo (admin-x-settings, plus a stale @tryghost/string type
declaration), @tryghost/kg-clean-basic-html and
@tryghost/kg-markdown-html-renderer (ghost/core), lodash
(kg-converters), @lexical/code (kg-lexical-html-renderer).
- Pinned 6 more in ignoreDependencies since they're used through means
knip's static analysis can't trace: bookshelf-relations is resolved by
string name inside bookshelf's plugin API, kg-unsplash-selector is only
referenced via a Tailwind @source CSS directive, and
@tryghost/debug/@vitejs/plugin-react/vite-plugin-svgr are dynamically
imported inside the shared apps/_shared/vite-public-app.mjs, whose
vite.config knip previously couldn't even load.