Skip to content

Commit 1233111

Browse files
authored
chore: clean up examples folder (#1962)
* refactor: move gallery demos to demos/ and flatten structure Move website demo gallery projects from examples/ to a dedicated demos/ folder. Flatten category subfolders (getting-started/, advanced/, etc.) to root level since filtering happens in the gallery UI. Remove AI demos that are no longer maintained. * feat: add minimal Tier 1 getting-started examples Add clean, standalone examples for React, Vue, Vanilla JS, and CDN. Each uses the published superdoc package (no monorepo workspace). Remove pnpm-workspace.yaml — examples install from npm directly. Add CI workflow to build-check examples on PRs. Fix doc links to point to new example paths. * test: add Playwright smoke tests for examples Add smoke test suite that starts each example's dev server, opens Chromium, and asserts no console errors. Runs in CI via matrix strategy (react, vue, vanilla, cdn). Fix CDN example to use UMD build instead of ES modules (bare specifiers don't resolve in browsers). * chore: clean up examples, remove tiptap-cloud/y-sweet, fix collab smoke tests * feat: add feature and headless examples, improve docs clarity * docs: surface track changes example from config and modules overview * test: replace broken demo visual tests with smoke tests, add ci-demos workflow * chore: simplify ci-superdoc workflow into single job * chore: bump all GitHub Actions to latest versions * docs: fix stale GitHub links in demo READMEs * docs: clean up demo READMEs, fix typos and stale version refs * fix: exclude broken html-editor and replace-content demos from CI * fix: pin yjs to 13.6.19 in collaboration examples to match superdoc peer dep
1 parent 794f834 commit 1233111

File tree

682 files changed

+1951
-7341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

682 files changed

+1951
-7341
lines changed

.github/workflows/baseline-superdoc.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
steps:
2727
- name: Checkout
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v6
2929
with:
3030
fetch-depth: 0
3131
ref: ${{ github.sha }}
@@ -90,15 +90,15 @@ jobs:
9090

9191
- name: Setup Node.js
9292
if: steps.version.outputs.skip != 'true'
93-
uses: actions/setup-node@v4
93+
uses: actions/setup-node@v6
9494
with:
9595
node-version-file: .nvmrc
9696
cache: pnpm
9797
cache-dependency-path: devtools/visual-testing/pnpm-lock.yaml
9898

9999
- name: Cache apt packages
100100
if: steps.version.outputs.skip != 'true'
101-
uses: actions/cache@v4
101+
uses: actions/cache@v5
102102
with:
103103
path: ~/apt-cache
104104
key: apt-canvas-${{ runner.os }}-v1
@@ -131,7 +131,7 @@ jobs:
131131
132132
- name: Cache Playwright browsers
133133
if: steps.version.outputs.skip != 'true'
134-
uses: actions/cache@v4
134+
uses: actions/cache@v5
135135
id: playwright-cache
136136
with:
137137
path: ~/.cache/ms-playwright

.github/workflows/ci-demos.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: CI Demos
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'demos/**'
7+
workflow_dispatch:
8+
9+
jobs:
10+
smoke-test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
demo:
16+
- cdn
17+
- custom-mark
18+
- custom-node
19+
- docx-from-html
20+
- docxtemplater
21+
- fields
22+
- grading-papers
23+
# - html-editor # broken: imports unpublished superdoc/super-editor/style.css subpath
24+
- linked-sections
25+
- loading-from-json
26+
- nextjs-ssr
27+
- react
28+
# - replace-content # broken: runtime nextSibling error in SuperDoc
29+
- text-selection
30+
- toolbar
31+
- typescript
32+
- vanilla
33+
- vue
34+
steps:
35+
- uses: actions/checkout@v6
36+
37+
- name: Setup Node.js
38+
uses: actions/setup-node@v6
39+
with:
40+
node-version: '20'
41+
42+
- name: Install demo dependencies
43+
working-directory: demos/${{ matrix.demo }}
44+
run: npm install
45+
46+
- name: Install smoke test dependencies
47+
working-directory: demos/__tests__
48+
run: npm install && npx playwright install chromium
49+
50+
- name: Run smoke test
51+
working-directory: demos/__tests__
52+
run: DEMO=${{ matrix.demo }} npx playwright test

.github/workflows/ci-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ jobs:
1010
validate:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
13+
- uses: actions/checkout@v6
1414

1515
- name: Setup pnpm
1616
uses: pnpm/action-setup@v4
1717

1818
- name: Setup Node.js
19-
uses: actions/setup-node@v4
19+
uses: actions/setup-node@v6
2020
with:
2121
node-version: '20'
2222
cache: 'pnpm'

.github/workflows/ci-esign.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717
validate:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v6
2121

2222
- uses: pnpm/action-setup@v4
2323

24-
- uses: actions/setup-node@v4
24+
- uses: actions/setup-node@v6
2525
with:
2626
node-version-file: .nvmrc
2727
cache: pnpm

.github/workflows/ci-examples.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: CI Examples
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'examples/**'
7+
workflow_dispatch:
8+
9+
jobs:
10+
getting-started:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
example: [react, vue, vanilla, cdn]
15+
steps:
16+
- uses: actions/checkout@v6
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v6
20+
with:
21+
node-version: '20'
22+
23+
- name: Install example dependencies
24+
if: matrix.example != 'cdn'
25+
working-directory: examples/getting-started/${{ matrix.example }}
26+
run: npm install
27+
28+
- name: Install smoke test dependencies
29+
working-directory: examples/__tests__
30+
run: npm install && npx playwright install chromium
31+
32+
- name: Run smoke test
33+
working-directory: examples/__tests__
34+
run: EXAMPLE=${{ matrix.example }} npx playwright test
35+
36+
collaboration:
37+
runs-on: ubuntu-latest
38+
strategy:
39+
matrix:
40+
example: [superdoc-yjs, hocuspocus, liveblocks]
41+
steps:
42+
- uses: actions/checkout@v6
43+
44+
- name: Setup Node.js
45+
uses: actions/setup-node@v6
46+
with:
47+
node-version: '20'
48+
49+
- name: Create .env for cloud providers
50+
working-directory: examples/collaboration/${{ matrix.example }}
51+
run: |
52+
if [ "${{ matrix.example }}" = "liveblocks" ]; then
53+
echo "VITE_LIVEBLOCKS_PUBLIC_KEY=${{ secrets.VITE_LIVEBLOCKS_PUBLIC_KEY }}" > .env
54+
fi
55+
56+
- name: Install example dependencies
57+
working-directory: examples/collaboration/${{ matrix.example }}
58+
run: npm install
59+
60+
- name: Install smoke test dependencies
61+
working-directory: examples/__tests__
62+
run: npm install && npx playwright install chromium
63+
64+
- name: Run smoke test
65+
working-directory: examples/__tests__
66+
run: EXAMPLE=collaboration/${{ matrix.example }} npx playwright test
67+
68+
features:
69+
runs-on: ubuntu-latest
70+
strategy:
71+
matrix:
72+
example: [track-changes, ai-redlining, comments, custom-toolbar]
73+
steps:
74+
- uses: actions/checkout@v6
75+
76+
- name: Setup Node.js
77+
uses: actions/setup-node@v6
78+
with:
79+
node-version: '20'
80+
81+
- name: Install example dependencies
82+
working-directory: examples/features/${{ matrix.example }}
83+
run: npm install
84+
85+
- name: Install smoke test dependencies
86+
working-directory: examples/__tests__
87+
run: npm install && npx playwright install chromium
88+
89+
- name: Run smoke test
90+
working-directory: examples/__tests__
91+
run: EXAMPLE=features/${{ matrix.example }} npx playwright test
92+
93+
headless:
94+
runs-on: ubuntu-latest
95+
steps:
96+
- uses: actions/checkout@v6
97+
98+
- name: Setup Node.js
99+
uses: actions/setup-node@v6
100+
with:
101+
node-version: '20'
102+
103+
- name: Install dependencies
104+
working-directory: examples/headless/ai-redlining
105+
run: npm install
106+
107+
- name: Run headless tests
108+
working-directory: examples/headless/ai-redlining
109+
run: npx tsx src/index.test.ts

0 commit comments

Comments
 (0)