Cleaned up dead deps in Koenig packages - #29223
Conversation
no ref - koenig-lexical still depended on @vitest/coverage-c8@0.33.0 — the deprecated c8 coverage provider (renamed to @vitest/coverage-v8 long ago), pinned to an ancient 0.33.0 while vitest itself is 4.1.9. Its `coverage` script (`vitest run --coverage`) would fail to load that provider against vitest 4 - swaps it for `@vitest/coverage-v8: catalog:`, the same provider every other koenig package (and the wider monorepo) already uses, so the coverage script works and the dependency is centrally versioned - test-tooling only; coverage is not run in CI for koenig, so no CI impact
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run @tryghost/admin-x-settings:test:acceptance |
✅ Succeeded | 10m 59s | View ↗ |
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | <1s | View ↗ |
nx run ghost:test:ci:integration |
✅ Succeeded | 2m 39s | View ↗ |
nx run-many -t test:unit -p @tryghost/kg-unspla... |
✅ Succeeded | 9m 7s | View ↗ |
nx run ghost:test:integration |
✅ Succeeded | 2m 43s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 2m 51s | View ↗ |
nx run ghost:test:legacy |
✅ Succeeded | 3m 19s | View ↗ |
nx run @tryghost/koenig-lexical:test:acceptance |
✅ Succeeded | 2m 50s | View ↗ |
Additional runs (11) |
✅ Succeeded | ... | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-07-09 21:48:16 UTC
WalkthroughThe Koenig Lexical package replaces Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #29223 +/- ##
==========================================
- Coverage 74.07% 74.04% -0.04%
==========================================
Files 1570 1570
Lines 136625 136625
Branches 16532 16524 -8
==========================================
- Hits 101205 101161 -44
- Misses 34384 34428 +44
Partials 1036 1036
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
no ref - depcheck (verified by hand against config files) surfaced several devDeps with zero references anywhere, incl. config/build tooling - koenig-lexical: dropped @emoji-mart/react (code imports base emoji-mart, not the react wrapper), @tryghost/kg-converters (unreferenced), cross-fetch (unreferenced), and the dead webpack/babel toolchain @babel/core / @babel/plugin-proposal-private-property-in-object / babel-loader (Storybook here is @storybook/react-vite, there is no webpack/babel config) plus the codemirror v6 meta-package (all CodeMirror usage is via the individually declared @codemirror/* packages) - kg-unsplash-selector: dropped concurrently (in no script) and vite-plugin-css-injected-by-js (not in vite.config) - verified nothing regressed: koenig-lexical `pnpm build`, `build-storybook` and `test:unit` (116 pass) all green; kg-unsplash-selector build + lint green - kept the config-referenced deps depcheck false-flagged (postcss/autoprefixer/ postcss-import, the @storybook/* addons, prettier-plugin-organize-attributes)

Dependency cleanup for two koenig packages, found while auditing test-tooling after the mocha→vitest and should→expect work.
1. Fixed the coverage provider
koenig-lexicaldepended on@vitest/coverage-c8@0.33.0— the deprecated c8 provider (renamed to@vitest/coverage-v8long ago), pinned to an ancient version while vitest is4.1.9, so itscoveragescript couldn't load it. Swapped to@vitest/coverage-v8: catalog:, matching every other koenig package.2. Removed dead dependencies
Verified with
depcheckand then checked by hand against every config file (depcheck misses config-referenced deps).koenig-lexical — removed:
@emoji-mart/react— the code imports the baseemoji-martPicker, never the react wrapper@tryghost/kg-converters— zero references anywherecross-fetch— unreferenced (incl. test setup)@babel/core,@babel/plugin-proposal-private-property-in-object,babel-loader— dead webpack/babel toolchain; Storybook here is@storybook/react-vite(no webpack/babel config)codemirror(the v6 meta-package) — all CodeMirror usage is via the individually-declared@codemirror/*packageskg-unsplash-selector — removed:
concurrently(in no script),vite-plugin-css-injected-by-js(not in vite.config)Kept (depcheck false positives, proven live via config)
postcss/autoprefixer/postcss-import(postcss.config.cjs), the@storybook/*addons +@etchteam/storybook-addon-status(.storybook/main.ts),prettier-plugin-organize-attributes(test/utils/e2e.ts).Verification
pnpm build,build-storybook, andtest:unit(116 pass) all green.