migrate from quill to quill-next#27308
Conversation
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (290 lines, 15 files), I've queued these reviewers:
How this works
|
🔭 PR Review Fleet ReportNote This report is generated by an experimental AI review fleet and is provided as a beta feature. Findings are a starting point for discussion, not a gate. Use your own judgement. Verdict: 0 Alert, 0 Stop, 1 Caution Findings
|
There was a problem hiding this comment.
Pull request overview
This PR migrates the Quill-based React integration and text-editor example from quill to the API-compatible quill-next fork, removing test workarounds that were only needed because quill accessed the DOM at import time.
Changes:
- Replaces
quilldependencies/imports/CSS paths withquill-next. - Removes import-time JSDOM setup hooks from quill-react and simplifies text-editor test setup.
- Updates README wording to describe the quill-next-based integration.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
pnpm-lock.yaml |
Updates lockfile entries from quill to quill-next and its transitive delta package. |
packages/framework/quill-react/package.json |
Swaps package dependency from quill to quill-next. |
packages/framework/quill-react/README.md |
Updates package description and removes obsolete DOM import-time limitation. |
packages/framework/quill-react/.mocharc.cjs |
Removes explicit test hook require for import-time JSDOM setup. |
packages/framework/quill-react/src/plain/quillView.tsx |
Updates Quill import to quill-next. |
packages/framework/quill-react/src/formatted/quillFormattedView.tsx |
Updates Quill import to quill-next while keeping standalone quill-delta. |
packages/framework/quill-react/src/test/cleanup.test.tsx |
Updates test import to quill-next. |
packages/framework/quill-react/src/test/textEditor.test.tsx |
Removes obsolete comment about import-time JSDOM setup. |
packages/framework/quill-react/src/test/mochaHooks.ts |
Deletes no-longer-needed root hook plugin. |
packages/framework/quill-react/src/test/tsconfig.json |
Removes deleted mocha hook from test include list. |
examples/data-objects/text-editor/package.json |
Swaps example dependency from quill to quill-next. |
examples/data-objects/text-editor/src/app.tsx |
Updates stylesheet import path to quill-next. |
examples/data-objects/text-editor/.mocharc.cjs |
Updates test setup comment to reflect CSS-loader-only hook. |
examples/data-objects/text-editor/src/test/mochaHooks.ts |
Removes import-time JSDOM setup and keeps CSS loader registration. |
examples/data-objects/text-editor/src/test/app.test.tsx |
Adds suite-scoped JSDOM setup for rendering tests. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Summary
Swaps the
quilldependency forquill-next, an API-compatible fork, in both@fluidframework/quill-reactand thetext-editorexample. No code changes beyond import paths.The motivating difference:
quill-nextdoes not accessdocumentat module-import time. This lets us delete the workarounds that existed to satisfy that constraint:packages/framework/quill-react/src/test/mochaHooks.ts(deleted) — used to installglobalJsdom()at module load and tear it down in abeforeAllroot hook so per-test hooks could install a clean DOM. With no import-time DOM requirement, the file (and itsRootHookObjectexport) has nothing to do.config.require = [...]line inpackages/framework/quill-react/.mocharc.cjs.globalJsdom()call inexamples/data-objects/text-editor/src/test/mochaHooks.ts— that file now only registers the CSS loader.quill-react's README that warned consumers about the import-time DOM requirement.Per-test JSDOM setup in
cleanup.test.tsx,textEditor.test.tsx, andapp.test.tsxis unchanged in behavior — those hooks now own DOM lifecycle end-to-end.All previous tests pass after the package change.