Skip to content

chore(demos): de-advertise 6 legacy demos (round 1, SD-3217)#3391

Merged
caio-pizzol merged 1 commit into
mainfrom
caio-pizzol/demo-cleanup-round-1
May 19, 2026
Merged

chore(demos): de-advertise 6 legacy demos (round 1, SD-3217)#3391
caio-pizzol merged 1 commit into
mainfrom
caio-pizzol/demo-cleanup-round-1

Conversation

@caio-pizzol
Copy link
Copy Markdown
Contributor

First execution PR after the demos/examples taxonomy audit (SD-3217). De-advertises six homepage: false legacy demos that teach patterns either superseded by newer APIs or that were never supported public surfaces.

Six entries archived

Demo Why Replacement
demos/nodejs Wrapped the Editor class behind Express. Predates the supported Node SDK + CLI server-side path. examples/editor/collaboration/backends/node-sdk, examples/document-engine/ai-redlining, Document Engine SDK/CLI docs.
demos/replace-content Used pre-Document-API editor.commands for content replacement. editor.doc.* Document API (text.rewrite, insert, replace).
demos/text-selection Reached into ProseMirror TextSelection and editor.view directly. ui.selection.* and ui.viewport.* Custom UI handles; examples/editor/custom-ui/selection-capture.
demos/loading-from-json There is no public editor.loadJSON() API. Demo also had no README. The jsonOverride option on SuperDoc construction.
demos/docxtemplater Third-party-library bridge, not actively maintained. Heavy dep stack (FontAwesome, jQuery). Document API mutations or Template Builder, depending on use case.
demos/toolbar Bundled two unrelated lessons (custom toolbar button + custom ProseMirror node) into one workspace. examples/editor/custom-ui/configurable-toolbar and examples/advanced/extensions/custom-node.

What this PR does

  • Replaces each demo's README.md (or creates one for loading-from-json, which never had one) with an archive notice that explains why it was archived and points at the supported replacement.
  • Removes the six entries from demos/manifest.json. demos/manifest.json now has 24 entries (was 30).
  • Validator (bun scripts/validate-examples-demos.ts) passes.

What this PR explicitly does not do

  • Does not delete source directories. Source is kept for an archival retention window; deletion is a later pass after link-rot verification.
  • Does not change any homepage: true entries. All six archived demos were already homepage: false, so the live gallery is unchanged.
  • Does not touch examples. The 11 missing-README entries in examples/manifest.json are addressed in a separate PR.
  • Does not change the compat-shim entries (demos/{react, vue, vanilla, cdn, typescript, custom-mark, custom-node}). Those stay for their redirect window.

Verified before landing

  • All six are homepage: false in the current manifest (no gallery impact).
  • apps/docs/ grep for demos/{nodejs,replace-content,text-selection,loading-from-json,docxtemplater,toolbar} returns zero matches: no inbound docs links to update.
  • bun scripts/validate-examples-demos.ts: clean.

Sibling work

This is round 1 of the audit execution. Plan (from SD-3217's docs/architecture/demos-examples-audit.md):

  • Round 1 (this PR): de-advertise homepage:false legacy demos.
  • Round 2: README coverage for the 11 missing-README entries (9 examples + 2 demos).
  • Round 3: consolidate demos/nextjs-ssr into examples/getting-started/nextjs.
  • Round 4: manifest typing + status PR (type field + status: active|shim|archived|hidden).
  • Round 5: move-out PRs for docx-from-html, linked-sections, and others.
  • Round 6: delete archived source after retention window.

Holding demos/html-editor for round 3 or later: direct SuperEditor + mode: 'html' is still a documented advanced path, so the right move is reframe/relocate, not archive.

Per the demos/examples taxonomy audit, six homepage:false demos
teach patterns that are either superseded by newer APIs or that
were never supported public surfaces. Each is removed from
demos/manifest.json and gets a README that explains the
replacement path. Source directories are kept for an archival
retention window; deletion comes in a later pass after link rot
is verified.

Archived:

- demos/nodejs: wrapped the Editor class behind Express. The
  supported server-side path is the Node SDK and CLI, which keep
  the same editor.doc.* surface as the browser editor.
- demos/replace-content: used pre-Document-API editor commands
  for content replacement. The supported path is editor.doc.* on
  the Document API.
- demos/text-selection: reached into ProseMirror TextSelection
  and editor.view directly. The supported path is ui.selection.*
  and ui.viewport.*.
- demos/loading-from-json: there is no public loadJSON() API.
  The supported path for JSON-init is the jsonOverride option.
- demos/docxtemplater: third-party-library bridge, not actively
  maintained. Customers needing template merge should use the
  Document API or Template Builder.
- demos/toolbar: bundled toolbar configuration with a custom-node
  authoring lesson. Each is covered by a focused example
  (examples/editor/custom-ui/configurable-toolbar and
  examples/advanced/extensions/custom-node).

24 manifest entries remain (was 30). Validator passes.
apps/docs/ has zero inbound links to any of the 6 archived paths
at the time of this PR.
@caio-pizzol caio-pizzol requested a review from a team as a code owner May 19, 2026 17:44
@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 19, 2026

SD-3217

@caio-pizzol caio-pizzol merged commit 0564f65 into main May 19, 2026
25 checks passed
@caio-pizzol caio-pizzol deleted the caio-pizzol/demo-cleanup-round-1 branch May 19, 2026 17:51
caio-pizzol added a commit that referenced this pull request May 19, 2026
The playwright config hard-coded demos/<id>/, which breaks every time a
demo moves. Read demos/manifest.json and look up sourcePath by id so the
smoke matrix follows the manifest as source of truth.

Also drop archived demos from the smoke matrix (docxtemplater, fields,
loading-from-json, text-selection, toolbar) that #3391 removed from the
manifest. Replace fields with fields-source, the local rename.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant