@@ -23,10 +23,11 @@ import sourceResolve from '../../vite.sourceResolve';
2323const require = createRequire ( import . meta. url ) ;
2424const stdlibRequire = createRequire ( require . resolve ( 'node-stdlib-browser/package.json' ) ) ;
2525const repoRequire = createRequire ( path . resolve ( __dirname , '../../package.json' ) ) ;
26+ const superEditorRequire = createRequire ( path . resolve ( __dirname , '../super-editor/package.json' ) ) ;
2627const punycodeEntry = stdlibRequire . resolve ( 'punycode/punycode.js' ) ;
2728
28- const resolvePackageEsmEntry = ( pkg ) => {
29- const resolved = repoRequire . resolve ( pkg ) ;
29+ const resolvePackageEsmEntry = ( pkg , resolver = repoRequire ) => {
30+ const resolved = resolver . resolve ( pkg ) ;
3031 if ( resolved . endsWith ( `${ path . sep } index.cjs` ) ) {
3132 return resolved . slice ( 0 , - 'index.cjs' . length ) + 'index.js' ;
3233 }
@@ -37,11 +38,13 @@ const resolvePackageEsmEntry = (pkg) => {
3738// identity with the EditorView's prosemirror-view copy. If multiple ProseMirror module
3839// instances are bundled, `instanceof DecorationSet` checks fail and collaborative startup
3940// can crash during the first Yjs rerender.
41+ // In the pnpm workspace these packages are installed under super-editor, not necessarily
42+ // at the repo root, so resolve them from the package that owns the dependency edges.
4043const proseMirrorSingletonAliases = [
41- { find : 'prosemirror-model' , replacement : resolvePackageEsmEntry ( 'prosemirror-model' ) } ,
42- { find : 'prosemirror-state' , replacement : resolvePackageEsmEntry ( 'prosemirror-state' ) } ,
43- { find : 'prosemirror-transform' , replacement : resolvePackageEsmEntry ( 'prosemirror-transform' ) } ,
44- { find : 'prosemirror-view' , replacement : resolvePackageEsmEntry ( 'prosemirror-view' ) } ,
44+ { find : 'prosemirror-model' , replacement : resolvePackageEsmEntry ( 'prosemirror-model' , superEditorRequire ) } ,
45+ { find : 'prosemirror-state' , replacement : resolvePackageEsmEntry ( 'prosemirror-state' , superEditorRequire ) } ,
46+ { find : 'prosemirror-transform' , replacement : resolvePackageEsmEntry ( 'prosemirror-transform' , superEditorRequire ) } ,
47+ { find : 'prosemirror-view' , replacement : resolvePackageEsmEntry ( 'prosemirror-view' , superEditorRequire ) } ,
4548] ;
4649
4750const visualizerConfig = {
0 commit comments