{"_id":"@automerge/prosemirror","_rev":"20-34b89daed3e9fb1198080e54f35cccc7","name":"@automerge/prosemirror","dist-tags":{"next":"0.2.0-alpha.0","latest":"0.2.0"},"versions":{"0.0.2":{"name":"@automerge/prosemirror","version":"0.0.2","license":"MIT","_id":"@automerge/prosemirror@0.0.2","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"c175af23df433c07394bf78caadd1b132c28bacc","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.2.tgz","fileCount":69,"integrity":"sha512-x2A9k846oRaEKRPnWD9H39uYX3MS/652BZ9PMR/UuypUoi0z6vSnNrlrbZxSSvBw0RtUU88I3+g3tkngTa8q6g==","signatures":[{"sig":"MEYCIQCkoOI08Nn/keDOs4yU5u9SMMutxPGGR5rxW/4ntYqWGQIhAOlWML+B6mEwrqc/P0VvCu2h60mtnqlr4/8yaocr5jD3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237252},"main":"dist/index.js","type":"module","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge":"^2.1.11-richtext-alpha.1"},"description":"## Status","directories":{},"dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"^2.1.11-richtext-alpha.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.1","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.2_1710523354253_0.0062427447445652096","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@automerge/prosemirror","version":"0.0.3","license":"MIT","_id":"@automerge/prosemirror@0.0.3","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"f06e285f76d2261b756b1a55cc32ff210e57c416","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.3.tgz","fileCount":99,"integrity":"sha512-/msMSqoZhcr2llCjiuSCB440s8w6aXryk9P6nCncUujSJz9LXy2Zy88MaIHjUs//ZMqBm5GWY1J/1reWQnUNsQ==","signatures":[{"sig":"MEUCIDnPk064npIIMxMYBstq7uo10VQN0xQYBlxHkrYBdvadAiEA+RslO3Py2+3hQ5Faxb0T1nLeEUQP6n8jlXiAeU5bYN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447253},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"606c7c6cc6fe7df4e317eb3cc52cd3b0c1d8bc93","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge":"^2.1.11-richtext-alpha.1"},"_npmVersion":"9.8.1","description":"## Status","directories":{},"_nodeVersion":"20.6.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"^2.1.11-richtext-alpha.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.1","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.3_1710523902581_0.7687155808673432","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@automerge/prosemirror","version":"0.0.4","license":"MIT","_id":"@automerge/prosemirror@0.0.4","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"41c8ba5e5bbd42d5311b5a5ad1429f5ba6f475f5","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.4.tgz","fileCount":99,"integrity":"sha512-L4uCGxm8kyG14Idt0op+Hv6VGV/YAtnWTz11c19Ei8snl+vnQwbzHCQxh6n+AssO+ij2mPZZq1VKJzo+UjAdcQ==","signatures":[{"sig":"MEYCIQCxQYTMFU4wLeDeIInKqWGOyCbGL2mYjBkwLayPPu88SgIhALKZprG8+BomH3rc520D1dnKmfkOvof0dzIC+u0OrkNi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447382},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"8d7ef84f944e0a6072d0ca864cf6d1ac1992a346","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge":"^2.1.11-richtext-alpha.1","@automerge/automerge-repo":{"@automerge/automerge":"^2.1.11-richtext-alpha.1"}},"_npmVersion":"9.8.1","description":"## Status","directories":{},"_nodeVersion":"20.6.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"^2.1.11-richtext-alpha.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.1","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.4_1710526269086_0.2071219680976606","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@automerge/prosemirror","version":"0.0.5","license":"MIT","_id":"@automerge/prosemirror@0.0.5","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"e89fccc0f3cdbf9e02050543cf2d91271d495c40","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.5.tgz","fileCount":99,"integrity":"sha512-Ajvt03Z/aZS9XL8gggj5qJFPBV18T7awnsDFpcRBhAVb9SV66FX9tI6JcRJcGD/VR04tosRTI3ZjkcHolptqPg==","signatures":[{"sig":"MEYCIQCLhNiiYcECbITQqti2FRYUhkGf4GI+H/sozef9GXU3hAIhAOopwcDxPyg0rtbxRXMsFAn+CGnebizbUNxsATMkpTnE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447106},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"9d716b972aa8d1a5a48f3735298df7f017e9ca25","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge":"^2.1.11-richtext-alpha.1","@automerge/automerge-repo":{"@automerge/automerge":"^2.1.11-richtext-alpha.1"}},"_npmVersion":"9.8.1","description":"## Status","directories":{},"_nodeVersion":"20.6.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"^2.1.11-richtext-alpha.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.1","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.5_1710526646632_0.5402916477617212","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@automerge/prosemirror","version":"0.0.6","license":"MIT","_id":"@automerge/prosemirror@0.0.6","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"ce2a04025daae1642a6aee7bf7f747de3f433de4","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.6.tgz","fileCount":52,"integrity":"sha512-jX8TUdlDoUsjChB2poLlmTwxqUPn0ZveQvqgry0mh5yovmnV5tdpWL0F66MXhm6za/VALkimuUgnO+93Eq+kHA==","signatures":[{"sig":"MEYCIQCkmQdK3R6yP5gFn4Q15w8gJ2xUgACyiNFHZ+IDDZyplwIhAMFcw3XaW3wVXbfahNbZGgZGOH2XtwYRRHxx0Y4QuLXk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254859},"main":"dist/index.js","type":"module","gitHead":"f7c86e951f2c5d4e50b7a54bd1be46f5f862ce62","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.0-rc.2"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.0-rc.2","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.6_1712931233092_0.28869317392883187","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@automerge/prosemirror","version":"0.0.7","license":"MIT","_id":"@automerge/prosemirror@0.0.7","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"8a9db98f50920e589ac17d4d282d63c36e42d9b7","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.7.tgz","fileCount":50,"integrity":"sha512-jtKqa/sUTFLIS7XCD8WkH6dDO+B84l7eC1AYoG0wc62PNodgSbELAcCckpglimGnCHXN6+idea0YsZk8kD0XvQ==","signatures":[{"sig":"MEUCIQDV1foDI6v5Ob5AidPuVPDiHRQla6vh0Zf7RWQDXqK2YAIgamtbKWPOjscmhRJkjkPU5oorht3/d5s91rvUxX+H23g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163668},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e302e8a4e2c8c9f750fe09004074b6eda30747c0","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.0-rc.2"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.0-rc.2","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.7_1712932033343_0.8399860783779338","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@automerge/prosemirror","version":"0.0.8","license":"MIT","_id":"@automerge/prosemirror@0.0.8","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"f360675ae383c5812ed1998d7534f02991b5355a","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.8.tgz","fileCount":50,"integrity":"sha512-Vmy/5TmZ7E547T26+Wr8Q3eZMxVAHjoJM7FCbvgL29qF17nN8oayylXAqC5uEko+5mpKp4xBqPqU8gfG1u2ONw==","signatures":[{"sig":"MEYCIQDVsSoq+E273U8D4/aWF2Kou86IDROvD+IbOC5i+aNPfQIhALY0AbOnhhrkgSK4m2s9wh5WHR8Qb9FDlYl90WFUgdd3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185624},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"8a97466631ffbafd59c52798f0bee7d41b83cd80","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.0"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.0","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.8_1713886442300_0.28242932354854133","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@automerge/prosemirror","version":"0.0.9","license":"MIT","_id":"@automerge/prosemirror@0.0.9","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"c5e0185b200a67572ebb9a181409f7d97b53f2f2","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.9.tgz","fileCount":50,"integrity":"sha512-rwne/pvoEX53/PxI9BghWv38Zl4E/PoIVMRwbbphXrxIN2NeqKJa2Aqna7Zy8B9Uc6BzAfDOlk/kgeftXMBbAA==","signatures":[{"sig":"MEUCIQCox2qAHou/bBkO95krxwMCjv++ijITZ5JDR6RGDC191gIgVjC96K2ogzTXklVUh/py/J9vS8s0x865cIpPh9NT4xY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185606},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"20a43a00e40f8925ab672afd29b121d0c9b14475","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.0"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.0","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.9_1714079821635_0.18233574225707216","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@automerge/prosemirror","version":"0.0.10","license":"MIT","_id":"@automerge/prosemirror@0.0.10","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"f313b38f4de8143b1641b664969b99ca4ec53e62","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.10.tgz","fileCount":50,"integrity":"sha512-ea6wNzvaAMPi4GrykdG1nvjjRZ5D/VKK1eu7rwzdJEIx813Db5MNDsjDnLomNA5tunap7LSvna4Wa187xsZ2vQ==","signatures":[{"sig":"MEUCIQDX8vkrdklYG0ryXAPUcHAilEZiX3yGtQezXqzEyYfYZQIgUOqHfuwpl0EPF4umO6HcQBX5YkvLcE1k2xmcUZBTWlo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178900},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"dad5efb0f94fab9ddd3598f6e6b9915a2ff6f199","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.10_1714861035633_0.6799226971299381","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"@automerge/prosemirror","version":"0.0.11","license":"MIT","_id":"@automerge/prosemirror@0.0.11","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"e7c14b32d7cf0b9532c0c5f865ec6527da00823b","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.11.tgz","fileCount":50,"integrity":"sha512-2xnmuNNyQ7wLQW7SrBo75VitZvr3/KeP/iOEXaRnL+nn3j9ZGgQkVhZplS5wzxR2I/wzPMB2yHFrimmcmzDUMQ==","signatures":[{"sig":"MEUCIQChiZ45Qy+DOd2yc53L0eY13m+Eg2Jrok072gZEXN2SywIgNH4y6KOnpO+V5qUi33/FaUiwlTV9moeNWQEqRFGSQjA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179478},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"00b4cc5af25f301dca6c058ec422fe01b78d497f","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.11_1714864334730_0.6598862778586989","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@automerge/prosemirror","version":"0.0.12","license":"MIT","_id":"@automerge/prosemirror@0.0.12","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"8395dd8df800d97b9849918456f50ae382b12297","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.12.tgz","fileCount":50,"integrity":"sha512-/6abAktlXPJjzAyMvhi5Ff5dcJCSIfYP8FamZC8HVCXtJChl848OAw1lFnzJsJX8fwTm5++M8z4BIebaZGJwjA==","signatures":[{"sig":"MEUCIDJpqf0Wu/wsEAH9k0t6kmpXmF5jA70lZ4d6c06y1f01AiEA/H0hje7ma9oHfJdAZzlV32LVefOX6yMmr9V1D8CfWXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178614},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a809c12daeda53537a5ded23839b21d2adc48dd6","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.5.0","description":"## Status","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.11.24","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.12_1715007368400_0.1393488642089642","host":"s3://npm-registry-packages"}},"0.0.13-alpha.1":{"name":"@automerge/prosemirror","version":"0.0.13-alpha.1","license":"MIT","_id":"@automerge/prosemirror@0.0.13-alpha.1","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"2a0ca359029b0eb5c6f8db6ae42fa3a207ee36d6","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.13-alpha.1.tgz","fileCount":38,"integrity":"sha512-8csBHorOueabtmPQxkH0cPk5rFHA8Orr7pwTmbuV7/BvNGChJoV2HLKLueKBM/2nwai0UrrGxM0yMa0jCYy5kQ==","signatures":[{"sig":"MEQCIBztKyp9DuEbmhKZmHozL6JEYIgYGULzN54QX913RfuEAiAR4Moas4cek04bKHfTelZcHNK3L74Dbyl9uZX/59/SpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":182053},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"514c12cd47e0f019e327b1302410ec79ab1e3d93","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.5.2","description":"## Status","directories":{},"_nodeVersion":"20.13.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.13-alpha.1_1716544545122_0.419139468115056","host":"s3://npm-registry-packages"}},"0.0.13-alpha.2":{"name":"@automerge/prosemirror","version":"0.0.13-alpha.2","license":"MIT","_id":"@automerge/prosemirror@0.0.13-alpha.2","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"e8904696eeaeeae99a83bcdcd266729d431b3839","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.13-alpha.2.tgz","fileCount":38,"integrity":"sha512-I6IR84IawhEVNiB5pC5LcoXsyhxlTWH9sJD3Mpcd6jwBehAzFoTdc5AY6gISs8rOyZkwLenHqJ3hu1pyPt7HwA==","signatures":[{"sig":"MEYCIQDZgmTbUuXrByYcgK5l8R2xxs8VsEjci+dEylgiABQ9/gIhAOKMSQbRRnHLJ8g08B9gxI4Bs0CrZKWNR2UGvV6fFsyZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":191884},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0fd4364ec954856708fe499d15ef2b1983239d5a","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.7.0","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/under-the-hood/rich_text_schema/) using ProseMirror.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.13-alpha.2_1722466539891_0.8987380792512925","host":"s3://npm-registry-packages"}},"0.0.13-alpha.3":{"name":"@automerge/prosemirror","version":"0.0.13-alpha.3","license":"MIT","_id":"@automerge/prosemirror@0.0.13-alpha.3","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"c8c689ff56737a8b9fedc0baf525038b273a0ef7","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.13-alpha.3.tgz","fileCount":38,"integrity":"sha512-ThjMVI8Bb/O914IlljPQvN6j29NYjEVKsGddiTQxMdSZ1aS4zSsrbWwbDguaU7B61uBiU9E9XHp0tS4vnc0v4A==","signatures":[{"sig":"MEQCIBnqiIj1H4tqDdUo8RLhNQBxPJ7Batk1eytzlrQoEw17AiA3fTfD145nCXyU73eP4WiBcEWJSpmEQAdFHeYXJPAiyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":192855},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"08612db748290d371ae053a7b5831309cd2d65c6","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"overrides":{"@automerge/automerge-repo":{"@automerge/automerge":"2.2.1"}},"_npmVersion":"10.8.1","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/under-the-hood/rich_text_schema/) using ProseMirror.","directories":{},"_nodeVersion":"20.16.0","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","@automerge/automerge":"2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^1.1.5","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.13-alpha.3_1723028686490_0.11069406243329372","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"@automerge/prosemirror","version":"0.0.13","license":"MIT","_id":"@automerge/prosemirror@0.0.13","maintainers":[{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"},{"name":"pvh","email":"npm@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"}],"dist":{"shasum":"062b663a85e3d812ad1444a798f916f3b85f6966","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.0.13.tgz","fileCount":41,"integrity":"sha512-TmRw9M1AfONjwHpWlGLnr8BRTXbXVRJtDHsOEhDsQWoflsKoBJO/rf/SP4wjgi2jYrlgUwTRaOny1p0AF9o27Q==","signatures":[{"sig":"MEQCID5bOXlM6vhILFIEfof5hCE896gCtK4qg6AkDXXK3wJsAiAR8Frrv1G12yW/ojxnLaIu2AI4FvEzRDH8zmzWVePyPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198037},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"_npmVersion":"10.7.0","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/under-the-hood/rich_text_schema/) using ProseMirror.","directories":{},"_nodeVersion":"22.2.0","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.33.1","prosemirror-model":"^1.19.4","prosemirror-state":"^1.4.3","prosemirror-history":"^1.4.1","@automerge/automerge":"^2.2.3","prosemirror-changeset":"^2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","@eslint/js":"^9.11.1","fast-check":"^3.17.1","typescript":"^5.1.3","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^2.0.0-alpha.13","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.0.13_1728064833956_0.6361037287942186","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@automerge/prosemirror","version":"0.1.0","license":"MIT","_id":"@automerge/prosemirror@0.1.0","maintainers":[{"name":"pvh","email":"pvh@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"},{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"}],"dist":{"shasum":"38a5016dba61c2bcd67acebf14be024900993655","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.1.0.tgz","fileCount":41,"integrity":"sha512-1VDuVzey6/UksmenUv3pbUH+kaEhboVDpqgo3RC1bd6Tztk3ZjxJ2hBSuKaVRfl+4q4v+VysI4oHGgNhrBv5Xg==","signatures":[{"sig":"MEQCIEZzXHoixZcP888AEMm1q0hAE4H7HvHVrADND17Qa/keAiA2IoSmXBRSiK+UoSZpsmExwvUPjjC6ufHmJ+UEe3o2ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198221},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"98ee8418d073c45d2af0f7064eef6758c50b5e17","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"pvh","email":"pvh@pvh.ca"},"_npmVersion":"10.8.2","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/under-the-hood/rich_text_schema/) using ProseMirror.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.40.1","prosemirror-model":"^1.25.2","prosemirror-state":"^1.4.3","prosemirror-history":"^1.4.1","@automerge/automerge":"3.1.1","prosemirror-changeset":"^2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","@eslint/js":"^9.11.1","fast-check":"^4.2.0","typescript":"^5.1.3","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^2.1.0","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.1.0_1753807636718_0.6222684812431944","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.0":{"name":"@automerge/prosemirror","version":"0.2.0-alpha.0","license":"MIT","_id":"@automerge/prosemirror@0.2.0-alpha.0","maintainers":[{"name":"pvh","email":"pvh@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"},{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"}],"dist":{"shasum":"174e2ec157c2730259ff5fd1eb91cf5eb6176f74","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.2.0-alpha.0.tgz","fileCount":41,"integrity":"sha512-ho0ghRZxpWoVs0RPJV3a1b6AhZeMfXJhmWGAjrftGeg0JuZFJ0kyLol5TnNslLwyKCfBG42cLiciH/9ztSpFKQ==","signatures":[{"sig":"MEUCIDR+LuXxNulK8c8FOMpr5omJrqdz+CRGnh54x0R23A7MAiEA+k017eDf7NJzTpcbbR2VaTEEgjSnQtEseT25v2TxPBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201177},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f99ffc2b563ae094310823341e889cb8779c08b5","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"pvh","email":"pvh@pvh.ca"},"_npmVersion":"10.8.2","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/under-the-hood/rich_text_schema/) using ProseMirror.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.40.1","prosemirror-model":"^1.25.2","prosemirror-state":"^1.4.3","prosemirror-history":"^1.4.1","@automerge/automerge":"3.1.1","prosemirror-changeset":"^2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","jsdiff":"^1.1.1","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","@eslint/js":"^9.11.1","fast-check":"^4.2.0","typescript":"^5.1.3","@types/diff":"^7.0.2","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^2.1.0","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.2.0-alpha.0_1754499427755_0.5170470161876912","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@automerge/prosemirror","version":"0.2.0","license":"MIT","_id":"@automerge/prosemirror@0.2.0","maintainers":[{"name":"pvh","email":"pvh@pvh.ca"},{"name":"martinkl","email":"martin@kleppmann.com"},{"name":"orionhenry","email":"orion.henry@gmail.com"},{"name":"memorythought","email":"alex@memoryandthought.me"}],"dist":{"shasum":"61fb6d5115873e4553674422ae734caa5c211584","tarball":"https://registry.npmjs.org/@automerge/prosemirror/-/prosemirror-0.2.0.tgz","fileCount":41,"integrity":"sha512-Mixxftvfs12tKi7DsStobrQxFayoLJXhEjbrnmNnaQbMzwHrUzuwac+OUvw6ujbtXaulWX+JE8hAuHFAGRDsvQ==","signatures":[{"sig":"MEUCIHsmzoz/kp+33t+2/ipNoRw2ZqGy8uD+e8KsIz8LjLE/AiEAhba2I33mfh716B7jwqRjg29Y2lfFt0MGs1gXmtu0P3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201178},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"4d1faa4b36da565b9190918fb8cbb1e75ecbe6c3","scripts":{"lint":"eslint .","build":"tsc -p ./tsconfig/tsconfig.build.json","mocha":"node --experimental-specifier-resolution=node --experimental-loader=ts-node/esm ./node_modules/.bin/mocha ./test/**/*.spec.ts","prettier":"prettier '**/*.{js,ts,tsx,json}' --check","playground":"vite dev playground","cypress:open":"cypress open","playground:build":"vite build playground","playground:preview":"vite preview playground"},"_npmUser":{"name":"memorythought","email":"alex@memoryandthought.me"},"_npmVersion":"10.8.2","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/reference/under-the-hood/rich-text-schema/) using ProseMirror.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ordered-map":"^0.1.0","prosemirror-view":"^1.40.1","prosemirror-model":"^1.25.2","prosemirror-state":"^1.4.3","prosemirror-history":"^1.4.1","@automerge/automerge":"^3.1","prosemirror-changeset":"^2.2.1","prosemirror-transform":"^1.7.3","prosemirror-schema-list":"^1.3.0","prosemirror-schema-basic":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"ist":"^1.1.7","chai":"^5.0.3","vite":"^4.3.9","debug":"^4.3.4","mocha":"^10.2.0","react":"^18.2.0","eslint":"^8.43.0","jsdiff":"^1.1.1","cypress":"^13.6.3","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","@eslint/js":"^9.11.1","fast-check":"^4.2.0","typescript":"^5.1.3","@types/diff":"^7.0.2","@types/node":"^20.12.10","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/react":"^18.2.13","lucide-react":"^0.344.0","vite-plugin-wasm":"^3.2.2","prosemirror-keymap":"^1.2.2","@vitejs/plugin-react":"^4.0.0","prosemirror-commands":"^1.5.2","prosemirror-inputrules":"^1.4.0","@automerge/automerge-repo":"^2.1.0","@typescript-eslint/parser":"^5.60.0","eslint-plugin-react-hooks":"^4.6.2","prosemirror-example-setup":"^1.2.2","eslint-plugin-react-refresh":"^0.4.6","vite-plugin-top-level-await":"^1.3.1","@typescript-eslint/eslint-plugin":"^5.60.0","@automerge/automerge-repo-network-messagechannel":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prosemirror_0.2.0_1772012626171_0.4812269689958488","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-03-15T17:22:34.153Z","modified":"2026-04-13T19:45:15.140Z","0.0.2":"2024-03-15T17:22:34.457Z","0.0.3":"2024-03-15T17:31:42.789Z","0.0.4":"2024-03-15T18:11:09.414Z","0.0.5":"2024-03-15T18:17:26.848Z","0.0.6":"2024-04-12T14:13:53.280Z","0.0.7":"2024-04-12T14:27:13.523Z","0.0.8":"2024-04-23T15:34:02.501Z","0.0.9":"2024-04-25T21:17:01.843Z","0.0.10":"2024-05-04T22:17:15.804Z","0.0.11":"2024-05-04T23:12:14.920Z","0.0.12":"2024-05-06T14:56:08.546Z","0.0.13-alpha.1":"2024-05-24T09:55:45.254Z","0.0.13-alpha.2":"2024-07-31T22:55:40.138Z","0.0.13-alpha.3":"2024-08-07T11:04:46.649Z","0.0.13":"2024-10-04T18:00:34.170Z","0.1.0":"2025-07-29T16:47:17.038Z","0.2.0-alpha.0":"2025-08-06T16:57:07.939Z","0.2.0":"2026-02-25T09:43:46.337Z"},"license":"MIT","description":"Collaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/reference/under-the-hood/rich-text-schema/) using ProseMirror.","maintainers":[{"email":"pvh@pvh.ca","name":"pvh"},{"email":"martin@kleppmann.com","name":"martinkl"},{"email":"orion.henry@gmail.com","name":"orionhenry"},{"email":"alex@memoryandthought.me","name":"memorythought"},{"email":"hello@brooklynzelenka.com","name":"expede"},{"email":"jtfmumm@gmail.com","name":"jtfmumm-dev"}],"readme":"# Automerge prosemirror bindings\n\nCollaborate on rich text documents which follow the [rich text schema](https://automerge.org/docs/reference/under-the-hood/rich-text-schema/) using ProseMirror.\n\n## Status\n\nThis plugin is beta quality software. The API will probably change a bit before a stable release and there are bugs, but it also works reasonably well.\n\n## How to play\n\nThere is a fully functional editor in this repository, you can play with that by running `npm run playground` and then visiting `http://localhost:5173`.\n\n## Example\n\nThis library provides a plugin which maps between Automerge documents and ProseMirror documents. This plugin relies on two things: firstly that the schema you use be a very specific subset of the ProseMirror schema which is mapped to the Automerge rich text schema (more on this later), and secondly that you initialize the ProseMirror document from the Automerge document. Thus, we provide a simple entrypoint which does all these things for you:\n\n```javascript\nimport { init } from \"@automerge/prosemirror\"\n\n// Obtain a DocHandle somehow\nconst handle = repo.find(\"some-doc-url\")\n// wait for the handle to be ready before continuing\nawait handle.whenReady()\n\n// This is the important part, we initialize the plugin with the handle and the path to the text field in the document\n// and we get back a schema, a ProseMirror document, and a plugin\nconst { schema, pmDoc, plugin } = init(handle, [\"text\"])\n\n// Create your prosemirror state with the schema, plugin, and document\nlet editorConfig = {\n  schema,\n  plugins: [\n    keymap({\n      ...baseKeymap,\n      \"Mod-b\": toggleBold,\n      \"Mod-i\": toggleItalic,\n      \"Mod-z\": undo,\n      \"Mod-y\": redo,\n      \"Mod-Shift-z\": redo,\n    }),\n    plugin,\n  ],\n  doc: pmDoc\n}\n\nlet state = EditorState.create(editorConfig)\n\nconst view = new EditorView(<whatever DOM element you are rendering to>, {\n  state\n})\n```\n\nSee the `playground/src/Editor.tsx` file for a fully featured example.\n\n## Schema Mapping\n\nProseMirror documents have a schema, which determines the kinds of nodes and marks which are allowed in the document. In order to map between the block markers and marks in the Automerge document and the ProseMirror document you must create a `SchemaAdapter`. The argument to the `SchemaAdapter` is the same as the `{nodes, marks}` object you would use to create a `ProseMirror` schema, but the `nodes` and `marks` objects have an additional optional key called `automerge`, which configures how the automerge document is mapped to the ProseMirror document.\n\nFor example, here's a snippet which maps the `paragraph` node to the `paragraph` block type:\n\n```typescript\nimport {SchemaAdapter} from \"@automerge/prosemirror\"\nconst adapter = new SchemaAdapter({\n    nodes: {\n        ... // other nodes\n        /// A plain paragraph textblock. Represented in the DOM\n        /// as a `<p>` element.\n        paragraph: {\n          // ---------------------------------------\n          //    This is the automerge configuration\n          // ---------------------------------------\n          automerge: {\n            block: \"paragraph\",\n          },\n          // ---------------------------------------\n          content: \"inline*\",\n          group: \"block\",\n          parseDOM: [{ tag: \"p\" }],\n          toDOM() {\n            return pDOM\n          },\n        } as NodeSpec,\n    }\n})\n```\n\nThis schema adapter can then be passed to `init` as an option:\n\n```typescript\nconst { pmDoc, schema, plugin } = init(handle, [\"text\"], {\n  schemaAdapter: adapter,\n})\n```\n\nThere are a number of keys available in the `automerge` mapping. To understand what they all mean you need to understand the goals of schema mapping:\n\n- Converting between automerge blocks and ProseMirror nodes\n- Converting between automerge marks and ProseMirror marks\n- Representing unknown blocks and marks in the ProseMirror document so that editing a document with unknown marks or blocks does not cause them to be lost\n\n### Converting blocks to nodes\n\n#### Simple block <-> node mappings\n\nThe simple case of converting blocks to nodes is when there is a one-to-one mapping from the block type to the node type and the node doesn't have any extra attributes. As in the case of the paragraph marker above, this typically looks like:\n\n```typescript\nnodes: {\n    <node name>: {\n        // rest of the node spec\n        automerge: {\n            block: <block name>\n        }\n    }\n}\n```\n\n#### Mappings which depend on their parents\n\nA more complex case is when the type of the block depends on surrounding content. For example, a `<li>` node in ProseMirror can be either an `ordered-list-item` or an `unordered-list-item` in the rich text schema. In this case you can use the `within` key:\n\n```typescript\nnodes: {\n    list_item: {\n        // rest of the node spec\n        automerge: {\n            // Here the keys of the map are other nodes in the schema\n            within: {\n                ordered_list: \"ordered-list-item\",\n                bullet_list: \"unordered-list-item\"\n            }\n        }\n    }\n}\n```\n\n#### Mappings which have extra attributes\n\nMany nodes and block markers are more complex than just a type name. They also carry attributes. In this case you use the `attrParsers` of the `automerge` key. For example, the `heading` block marker has a `level` attribute which is used to determine the level of the heading. This is how you would map that to a ProseMirror node:\n\n```typescript\nnodes: {\n    heading {\n    // rest of the node spec\n      automerge: {\n        block: \"heading\",\n        attrParsers: {\n          fromAutomerge: block => ({ level: block.attrs.level }),\n          fromProsemirror: node => ({ level: node.attrs.level }),\n        },\n      },\n    }\n}\n```\n\nThe `fromAutomerge` function will be passed the block marker and should return a set of node attributes whilst the `fromProsemirror` function will be passed a node and should return map of block attributes.\n\n#### Embedded blocks\n\nSome block types do not represent hierarchical content but instead represent embedded content which does not change the structural role of text following them. For example, an image block tag just indicates that an image should appear at the location of the block marker. For these kinds of blocks you can set the `isEmbed` key to `true`:\n\n```typescript\nnodes: {\n  image: {\n    // the rest of the node spec\n    automerge: {\n      block: \"image\",\n      isEmbed: true,\n      attrParsers: { .. },\n    }\n  }\n}\n```\n\n### Converting marks to marks\n\nMarks are a bit simpler than blocks. The `automerge` key on a mark spec can contain a `markName` key which specifies what mark in the automerge document corresponds to this mark in the ProseMirror document.\n\nFor example, a `strong` mark might be mapped like this:\n\n```typescript\nmarks: {\n    strong: {\n      // rest of the mark spec\n      automerge: {\n        markName: \"strong\",\n      },\n    },\n}\n```\n\nAs with blocks some marks also have attributes which need to be converted. This is done with the `attrParsers` key. Unlike blocks marks cannot store complex content on the mark value in automerge, so in the parsers we typically convert to and from a JSON encoded string, like so:\n\n```typescript\nmarks: {\n    link: {\n      automerge: {\n        markName: \"link\",\n        parsers: {\n          fromAutomerge: (mark: am.MarkValue) => {\n            if (typeof mark === \"string\") {\n              try {\n                const value = JSON.parse(mark)\n                return {\n                  href: value.href || \"\",\n                  title: value.title || \"\",\n                }\n              } catch (e) {\n                console.warn(\"failed to parse link mark as JSON\")\n              }\n            }\n            return {\n              href: \"\",\n              title: \"\",\n            }\n          },\n          fromProsemirror: (mark: Mark) =>\n            JSON.stringify({\n              href: mark.attrs.href,\n              title: mark.attrs.title,\n            }),\n        },\n      },\n  }\n}\n```\n\n#### Unknown blocks\n\nEvery schema adapter must provide some way to represent unknown blocks. This allows applications using different schema to collaborate on the same text document. Unknown blocks will be represented my the `node` which has the `automerge.unknownBlock` key set to true and which can contain any other node in the schema.\n\nAn easy way to do this is:\n\n```typescript\nnodes: {\n  unknownBlock: {\n    automerge: {\n      unknownBlock: true,\n    },\n    group: \"block\",\n    content: \"block+\", // Allow any block content\n    parseDOM: [{ tag: \"div\", attrs: { \"data-unknown-block\": \"true\" } }],\n    toDOM() {\n      return [\"div\", { \"data-unknown-block\": \"true\" }, 0]\n    },\n  },\n}\n```\n\n## API\n\n### `SchemaAdapter`\n\nA `SchemaAdapter` provides the mapping between a ProseMirror Schema and the block markers you are using in the automerge document. The part of this API to understand is the specification which you pass to the `SchemaAdapter` constructor.\n\nA schema adapter specification is an extension of a ProseMirror schema. It constists of an object with a `nodes` key and a `marks` key, each of which are like their equivalents in a ProseMirror schema but with a few additional keys.\n\nThe `nodes` values must be ProseMirror `NodeSpec` objects with an additional `automerge` key with the following type:\n\n```typescript\ntype AutomergeNodeSpec = {\n  unknownBlock?: boolean\n  block?: BlockMappingSpec\n  isEmbed?: boolean\n  attrParsers?: {\n    fromProsemirror: (node: Node) => { [key: string]: am.MaterializeValue }\n    fromAutomerge: (block: BlockMarker) => Attrs\n  }\n}\n\ntype BlockMappingSpec = string | { within: { [key: string]: string } }\n\ntype BlockMarker = {\n  type: automerge.ImmutableString\n  parents: automerge.ImmutableString[]\n  attrs: { [key: string]: any }\n  isEmbed?: boolean\n}\n```\n\nThe `marks` values must be ProseMirror `MarkSpec` objects with an additional `automerge` key with the following type:\n\n```typescript\nautomerge?: {\n    markName: string\n    parsers?: {\n      fromAutomerge: (value: automerge.MarkValue) => Attrs\n      fromProsemirror: (mark: Mark) => automerge.MarkValue\n    }\n  }\n\n```\n","readmeFilename":"README.md"}