{{ message }}
Repository navigation
chore: remove the retired packages/muyajs engine - #5675
Merged
Merged
Conversation
Contributor
|
Website preview ready: https://pr-5675-marktext-website.ransixi.workers.dev Built from |
The legacy JS engine has not been imported by anything since the TS rewrite landed (#4257): the desktop renderer consumes @muyajs/core (packages/muya), and the `muya/*` alias, the ambient bridge and the workspace dependency are already gone. Follow-ups the deletion needs: - drop `packages/muyajs` from the root ESLint config: the two ignore globs, the JS-file scope and the rule relaxations that existed only for the legacy sources; - drop `packages/muyajs` from the licence checker's workspace exclusions, which would otherwise `require()` a package.json that no longer exists; - drop the two `packages/muyajs/**` path filters from the website deploy workflow; - refresh AGENTS.md and packages/muya/AGENTS.md. The historical "the legacy engine did X" comments in muya's parity specs, the desktop specs and the PARITY docs are deliberately left untouched: they record why those tests exist, not the current layout. Prettier is told to leave pnpm-lock.yaml alone: it reformats the whole lockfile and pnpm rewrites it back on the next install.
Jocs
force-pushed
the
chore/remove-muyajs
branch
from
October 9, 2026 01:20
b1ed63e to
adcc5c5
Compare
Contributor
|
Build artifacts for PR #5675: Run: https://github.com/marktext/marktext/actions/runs/37869326561 |
3 of 6 tasks
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
Deletes
packages/muyajs, the legacy JS editor engine, and every reference to it.The package has been dead since the TypeScript rewrite landed: the desktop renderer consumes
@muyajs/core(packages/muya), and themuya/*alias, the ambientsrc/types/muya.d.tsbridge and the workspace dependency were already removed in #4257. A repo-wide search finds no import, dependency or build entry pointing at it —@marktext/muyajsonly ever appeared in its ownpackage.json. AGENTS.md has described it as "unreferenced, deleted post-0.20.0" for a while.What needed to come out with it:
eslint.config.js— the twopackages/muyajs/**ignore globs, thepackages/muyajs/**/*.{js,mjs,cjs}file scope, and the rule-relaxation block that existed only for the legacy sources.scripts/thirdPartyChecker.ts—packages/muyajshad to leaveworkspaceExclusions, whichrequire()s each entry'spackage.jsonand would throw once the directory is gone..github/workflows/website-deploy.yml— the twopackages/muyajs/**path filters.AGENTS.md/packages/muya/AGENTS.md— the tech-stack row, the directory-tree entry, the website note and the architecture diagram.packages/muyajsdid X" notes in muya’s parity specs, the desktop specs and thePARITY_*.mddocs record why those ported tests exist rather than describing the current layout, so they keep their original wording.Dropping the package also removes its dependency ranges from the lockfile, so the extra copy of mermaid 11 / katex 0.17 / pako 2 that the workspace otherwise carried is gone.
Type of change
Test plan
pnpm run devlaunches and the editor is usable.pnpm lintpnpm typecheckpnpm testpnpm --filter @muyajs/core lint·lint:types·test·test:specpnpm validate-licensespnpm build:unpackNotes for reviewers [optional]
eslint.config.js,scripts/thirdPartyChecker.tsand.prettierignore; whichever lands second needs a trivial rebase. chore(deps): bump the postcss override to 8.5.29 #5674 currently excludespackages/muyajsfrom ESLint, which this PR makes unnecessary..prettierignorenow excludespnpm-lock.yaml(the same change chore(deps): bump the postcss override to 8.5.29 #5674 carries). Prettier reformats the whole lockfile and pnpm rewrites it back on the next install, so thelint-stagedpre-commit task was churning ~26k lines.localStorage.getItem is not a function; that is the Node 25 Web Storage global shadowing jsdom, which test: run the desktop unit tests on Node 25 #5666 fixes by passing--no-experimental-webstorageto the Vitest workers. Numbered above are the results withNODE_OPTIONS=--no-experimental-webstorage; CI (Node 22/24) is unaffected either way. Nothing is duplicated from test: run the desktop unit tests on Node 25 #5666 here.packages/muya/AGENTS.mdline that described the legacy engine as "being retired" now just says it has been removed.By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.