Skip to content

Commit 0f18062

Browse files
authored
fix: prep for multi editor versions - no logical changes. structure only (#2591)
* fix: prep for multi editor versions - no logical changes. structure only * chore: fix broken path in tests after refactor
1 parent 163fcf2 commit 0f18062

2,823 files changed

Lines changed: 691 additions & 667 deletions

File tree

Some content is hidden

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

.github/scripts/risk-assess.mjs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ function buildHaikuPrompt(files, diff) {
104104
105105
## Critical paths (rendering/layout can break):
106106
- packages/layout-engine/ (style-engine, layout-engine, pm-adapter, layout-bridge, measuring, painters)
107-
- packages/super-editor/src/core/super-converter/ (DOCX import/export)
108-
- packages/super-editor/src/core/presentation-editor/ (editor↔layout bridge)
107+
- packages/super-editor/src/editors/v1/core/super-converter/ (DOCX import/export)
108+
- packages/super-editor/src/editors/v1/core/presentation-editor/ (editor↔layout bridge)
109109
- packages/superdoc/src/core/ (main entry core)
110110
- packages/word-layout/
111111
112112
## Sensitive paths (editing behavior):
113-
- packages/super-editor/src/extensions/ and src/core/
113+
- packages/super-editor/src/editors/v1/extensions/ and src/editors/v1/core/
114114
- packages/superdoc/src/
115115
- packages/layout-engine/contracts/
116116
- packages/esign/, shared/
@@ -181,8 +181,8 @@ function buildSonnetPrompt(pr, title, diff, haikuResult) {
181181
## Project Context
182182
Critical subsystems:
183183
- **Layout Engine** (packages/layout-engine/): style resolution, pagination, DOM painting, PM adapter
184-
- **Super Converter** (packages/super-editor/src/core/super-converter/): DOCX import/export
185-
- **Presentation Editor** (packages/super-editor/src/core/presentation-editor/): bridges editor ↔ layout
184+
- **Super Converter** (packages/super-editor/src/editors/v1/core/super-converter/): DOCX import/export
185+
- **Presentation Editor** (packages/super-editor/src/editors/v1/core/presentation-editor/): bridges editor ↔ layout
186186
- **Word Layout** (packages/word-layout/): Word document layout algorithms
187187
188188
Sensitive: editor extensions, editor core, superdoc package, shared utilities, esign.

.github/scripts/risk-label.mjs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ const CRITICAL_PATHS = [
1111
'packages/layout-engine/layout-bridge/',
1212
'packages/layout-engine/measuring/',
1313
'packages/layout-engine/painters/',
14-
'packages/super-editor/src/core/super-converter/',
15-
'packages/super-editor/src/core/presentation-editor/',
14+
'packages/super-editor/src/editors/v1/core/super-converter/',
15+
'packages/super-editor/src/editors/v1/core/presentation-editor/',
1616
'packages/superdoc/src/core/',
1717
'packages/word-layout/',
1818
];
1919

2020
const SENSITIVE_PATHS = [
21-
'packages/super-editor/src/extensions/',
22-
'packages/super-editor/src/core/',
21+
'packages/super-editor/src/editors/v1/extensions/',
22+
'packages/super-editor/src/editors/v1/core/',
2323
'packages/superdoc/src/',
2424
'packages/layout-engine/contracts/',
2525
'packages/esign/',

.github/scripts/risk-label.test.mjs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ describe('classify', () => {
1919

2020
it('sensitive: extensions', () => {
2121
assert.equal(
22-
classify(['packages/super-editor/src/extensions/bold/bold.ts']).level,
22+
classify(['packages/super-editor/src/editors/v1/extensions/bold/bold.ts']).level,
2323
'sensitive',
2424
);
2525
});
@@ -70,7 +70,7 @@ describe('classify', () => {
7070
it('critical: super-converter', () => {
7171
assert.equal(
7272
classify([
73-
'packages/super-editor/src/core/super-converter/v2/importer/foo.js',
73+
'packages/super-editor/src/editors/v1/core/super-converter/v2/importer/foo.js',
7474
]).level,
7575
'critical',
7676
);
@@ -107,7 +107,7 @@ describe('classify', () => {
107107
it('critical: presentation-editor', () => {
108108
assert.equal(
109109
classify([
110-
'packages/super-editor/src/core/presentation-editor/PresentationEditor.ts',
110+
'packages/super-editor/src/editors/v1/core/presentation-editor/PresentationEditor.ts',
111111
]).level,
112112
'critical',
113113
);
@@ -130,31 +130,31 @@ describe('classify', () => {
130130
it('highest risk wins when mixed', () => {
131131
const result = classify([
132132
'packages/layout-engine/style-engine/src/resolve.js',
133-
'packages/super-editor/src/extensions/bold/bold.ts',
133+
'packages/super-editor/src/editors/v1/extensions/bold/bold.ts',
134134
'apps/docs/guides/foo.mdx',
135135
]);
136136
assert.equal(result.level, 'critical');
137137
});
138138

139-
it('super-editor/src/core/ non-critical subpath is sensitive', () => {
139+
it('super-editor/src/editors/v1/core/ non-critical subpath is sensitive', () => {
140140
assert.equal(
141-
classify(['packages/super-editor/src/core/helpers/utils.js']).level,
141+
classify(['packages/super-editor/src/editors/v1/core/helpers/utils.js']).level,
142142
'sensitive',
143143
);
144144
});
145145

146146
it('downgrade: critical test-only becomes sensitive', () => {
147147
const result = classify([
148148
'packages/layout-engine/style-engine/__tests__/resolve.test.js',
149-
'packages/super-editor/src/core/super-converter/__tests__/import.test.js',
149+
'packages/super-editor/src/editors/v1/core/super-converter/__tests__/import.test.js',
150150
]);
151151
assert.equal(result.level, 'sensitive');
152152
assert.equal(result.downgraded, true);
153153
});
154154

155155
it('downgrade: sensitive test-only becomes low', () => {
156156
const result = classify([
157-
'packages/super-editor/src/extensions/bold/bold.test.ts',
157+
'packages/super-editor/src/editors/v1/extensions/bold/bold.test.ts',
158158
]);
159159
assert.equal(result.level, 'low');
160160
assert.equal(result.downgraded, true);

.github/workflows/spec-review.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ on:
55
pull_request:
66
types: [opened]
77
paths:
8-
- 'packages/super-editor/src/core/super-converter/v2/importer/**'
9-
- 'packages/super-editor/src/core/super-converter/v2/exporter/**'
10-
- 'packages/super-editor/src/core/super-converter/v3/handlers/**'
8+
- 'packages/super-editor/src/editors/v1/core/super-converter/v2/importer/**'
9+
- 'packages/super-editor/src/editors/v1/core/super-converter/v2/exporter/**'
10+
- 'packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/**'
1111

1212
concurrency:
1313
group: spec-review-${{ github.event.pull_request.number }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ lerna-debug.log*
3535
.vitepress/.cache
3636
.vitepress/dist
3737

38-
packages/super-editor/src/tests/data/*/
38+
packages/super-editor/src/editors/v1/tests/data/*/
3939

4040
packages/word-layout/tests/**/*.js
4141
packages/word-layout/tests/**/*.d.ts

.prettierignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ packages/superdoc/src/components/PdfViewer/helpers/pdfjs-worker.js
2323
# Test data directories
2424
**/data/**
2525
**/data
26-
packages/super-editor/src/tests/data
27-
packages/super-editor/src/tests/data/**
26+
packages/super-editor/src/editors/v1/tests/data
27+
packages/super-editor/src/editors/v1/tests/data/**
2828
src/tests/data
2929
src/tests/data/**
3030
tests/data

AGENTS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ PM Doc (hidden) → pm-adapter → FlowBlock[] → layout-engine → Layout[]
2121
|--------|-------|
2222
| How something looks | `pm-adapter/` (data) + `painters/dom/` (rendering) |
2323
| Style resolution | `style-engine/` |
24-
| Editing behavior | `super-editor/src/extensions/` |
24+
| Editing behavior | `super-editor/src/editors/v1/extensions/` |
2525

2626
**Do NOT** add ProseMirror decoration plugins for visual styling — DomPainter handles rendering.
2727

2828
### State Communication
2929

3030
State flows from super-editor → Layout Engine via:
31-
- `PresentationEditor.ts` listens to editor events (`super-editor/src/core/presentation-editor/`)
31+
- `PresentationEditor.ts` listens to editor events (`super-editor/src/editors/v1/core/presentation-editor/`)
3232
- Calls DomPainter methods to update state
3333
- DomPainter re-renders with new state
3434

@@ -58,10 +58,10 @@ tests/visual/ Visual regression tests (Playwright + R2 baselines)
5858
| Task | Location |
5959
|------|----------|
6060
| React integration | `packages/react/src/SuperDocEditor.tsx` |
61-
| Editing features | `super-editor/src/extensions/` |
61+
| Editing features | `super-editor/src/editors/v1/extensions/` |
6262
| Presentation mode visuals | `layout-engine/painters/dom/src/features/feature-registry.ts` → feature module |
6363
| Rendering orchestration | `layout-engine/painters/dom/src/renderer.ts` |
64-
| DOCX import/export | `super-editor/src/core/super-converter/` |
64+
| DOCX import/export | `super-editor/src/editors/v1/core/super-converter/` |
6565
| Style resolution | `layout-engine/style-engine/` |
6666
| Main entry point (Vue) | `superdoc/src/SuperDoc.vue` |
6767
| Visual regression tests | `tests/visual/` (see its CLAUDE.md) |
@@ -86,7 +86,7 @@ tests/visual/ Visual regression tests (Playwright + R2 baselines)
8686

8787
- **Visual rendering**: Check `painters/dom/src/features/feature-registry.ts` to find the feature module, then modify it. If no module exists yet, create one (see layout-engine CLAUDE.md). Feed data via `pm-adapter/`
8888
- **Style resolution**: Modify `style-engine/` — called by pm-adapter during conversion
89-
- **Editing commands/behavior**: Modify `super-editor/src/extensions/`
89+
- **Editing commands/behavior**: Modify `super-editor/src/editors/v1/extensions/`
9090
- **State bridging**: Modify `PresentationEditor.ts`
9191

9292
## Document API Contract

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ packages/
6161
superdoc/ Main entry point (npm: superdoc)
6262
react/ React wrapper (@superdoc-dev/react)
6363
super-editor/ ProseMirror editor core
64-
src/
64+
src/editors/v1/
6565
core/
6666
super-converter/ DOCX import/export (OOXML ↔ ProseMirror)
6767
extensions/ Editing behaviors (bold, lists, tables, etc.)
@@ -85,8 +85,8 @@ tests/visual/ Visual regression tests (Playwright)
8585
| How something looks (visual rendering) | `layout-engine/painters/dom/` |
8686
| Style resolution (fonts, colors, borders) | `layout-engine/style-engine/` |
8787
| Data flowing from editor to renderer | `layout-engine/pm-adapter/` |
88-
| Editing behavior (keyboard, commands) | `super-editor/src/extensions/` |
89-
| DOCX import/export | `super-editor/src/core/super-converter/` |
88+
| Editing behavior (keyboard, commands) | `super-editor/src/editors/v1/extensions/` |
89+
| DOCX import/export | `super-editor/src/editors/v1/core/super-converter/` |
9090
| React integration | `packages/react/` |
9191
| Main entry point (Vue) | `packages/superdoc/` |
9292
| Visual regression tests | `tests/visual/` |
@@ -108,8 +108,8 @@ These are areas where community contributions are especially welcome. Check [iss
108108
| Test coverage | Easy-Medium | `tests/visual/` | Add tests for existing features |
109109
| Rendering parity | Medium | `layout-engine/painters/dom/` | Open a .docx in Word and SuperDoc, fix visual differences |
110110
| Browser compatibility | Medium | `super-editor/`, `layout-engine/` | Fix Firefox/Safari-specific bugs |
111-
| Copy/paste | Medium | `super-editor/src/extensions/` | Fix formatting loss when pasting from Word, Google Docs, browsers |
112-
| DOCX import coverage | Medium-Hard | `super-editor/src/core/super-converter/` | Support additional OOXML tags and elements |
111+
| Copy/paste | Medium | `super-editor/src/editors/v1/extensions/` | Fix formatting loss when pasting from Word, Google Docs, browsers |
112+
| DOCX import coverage | Medium-Hard | `super-editor/src/editors/v1/core/super-converter/` | Support additional OOXML tags and elements |
113113

114114
## Your First PR
115115

THIRD_PARTY_LICENSES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This project includes code from third-party libraries. Their licenses are listed
66

77
## rtf.js (EMF/WMF Rendering)
88

9-
**Location:** `packages/super-editor/src/core/super-converter/v3/handlers/wp/helpers/rtfjs/`
9+
**Location:** `packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/wp/helpers/rtfjs/`
1010

1111
**Source:** https://github.com/nicktf/rtf.js
1212

apps/cli/src/__tests__/cli.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ const CLI_PACKAGE_JSON_PATH = join(import.meta.dir, '../../package.json');
6363
const REPO_ROOT = join(import.meta.dir, '../../../..');
6464
const ENCRYPTED_FIXTURE_SOURCE = join(
6565
REPO_ROOT,
66-
'packages/super-editor/src/core/ooxml-encryption/fixtures/encrypted-advanced-text.docx',
66+
'packages/super-editor/src/editors/v1/core/ooxml-encryption/fixtures/encrypted-advanced-text.docx',
6767
);
6868
const execFileAsync = promisify(execFile);
6969
const ZIP_MAX_BUFFER_BYTES = 10 * 1024 * 1024;

0 commit comments

Comments
 (0)