Repository navigation
chore(deps): drop dependencies the desktop app no longer uses - #5681
Merged
Merged
Conversation
Swept every workspace package's declared dependencies for references in its own sources and configs, then hand-checked the hits to separate genuine dead weight from implicit use (`@types/*` resolution, CLIs whose binary name differs from the package name, dotfile configs, optional peers). `packages/desktop` loses `@electron-toolkit/preload` (only the `utils` package is imported), `@popperjs/core`, `element-resize-detector`, `html-tags`, `turndown`, `joplin-turndown-plugin-gfm`, `vega-embed` (its only match was a `.vega-embed` CSS selector), `cross-env` and `@vitest/coverage-v8` — the engine keeps its own copies of the ones it does render. The matching `@types/*` entries and the now-dead `declare module 'joplin-turndown-plugin-gfm'` shim go with them. Deliberately kept: `eslint-plugin-format` in `packages/muya` is an optional peer of `@antfu/eslint-config`, which the config's `formatters` option requires, and `@electron/rebuild` / `patch-package` are used through their CLI names.
Contributor
|
Website preview ready: https://pr-5681-marktext-website.ransixi.workers.dev Built from |
Contributor
|
Build artifacts for PR #5681: Run: https://github.com/marktext/marktext/actions/runs/37897624361
|
Zane-0x5a
added a commit
to Zane-0x5a/marktext
that referenced
this pull request
Oct 9, 2026
Takes upstream's Node 25 web storage probe from marktext#5666 over the fork's earlier spelling, and regenerates the lockfile from upstream's with pdfjs-dist added for the print preview.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #
Summary
Sweeps every workspace package's declared dependencies for references in its own sources, tests and configs, then hand-checks the misses so implicit use is not mistaken for dead weight.
Removed from
packages/desktop— nothing undersrc/,test/or the build configs mentions them:@electron-toolkit/preload— only@electron-toolkit/utilsis imported (src/main/index.ts)@popperjs/core— element-plus brings its ownelement-resize-detector,html-tags,turndown,joplin-turndown-plugin-gfm,vega-embed— the desktop renders these through the muya engine, which declares its own copies; the onlyvega-embedmatch was a.vega-embedCSS selector inprintService.csscross-env— no script uses it@vitest/coverage-v8— the package has no coverage script andvitest.config.tsdoes not enable coverage@types/turndownand@types/element-resize-detectorcame with the two runtime packages, and the now-pointlessdeclare module 'joplin-turndown-plugin-gfm'shim insrc/types/shims.d.tsgoes with themKept on purpose:
eslint-plugin-format(packages/muya) — an optional peer of@antfu/eslint-config, required because the config enablesformatters@electron/rebuild,patch-package— used through their CLI names (electron-rebuild,patch-package), which a name-based sweep misses@types/*— resolved implicitly by TypeScript for the matching runtime importstylelint-config-standard,stylelint-order(packages/muya) — referenced from the.stylelintrcdotfilereact-dom(packages/website) — required by NextType of change
No box ticked: this is dependency hygiene with no behaviour change.
Test plan
pnpm run devand the builtout/bundle both run.pnpm installpnpm typecheckpnpm lintpnpm testpnpm validate-licensespnpm build:unpackNotes for reviewers [optional]
electronin the rootpackage.jsonlooks redundant too —scripts/postinstall.tsresolves the binary frompackages/desktop/node_modules, and every CI-facing script proxies to the desktop package. I left it alone because I cannot see why it was added in the first place; say the word and it can go in a follow-up.pnpm install(no manual conflict expected).By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.