{"_id":"@jsonjoy.com/collaborative-prosemirror","_rev":"24-2bf382db6510c24f22d51a51db925205","name":"@jsonjoy.com/collaborative-prosemirror","dist-tags":{"latest":"18.30.0"},"versions":{"18.0.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.0.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.0.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","dist":{"shasum":"a9ad5db9b2b899e49d285c77f61c54099fb1180f","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.0.0.tgz","fileCount":39,"integrity":"sha512-4eCUtG5rzEHkG+OvaP/r9PtajNhwxtP9mLA2AxUZfWdq/oZgL2LPz5FE+CI0cONvhHrsrwoSECkCRFUguHJwTQ==","signatures":[{"sig":"MEYCIQCrnNqRUfk91wAdlwBd7ixXX5tKWlV5d9WdJeLkPT8hrQIhALtgfwt5iqXrDrje8ur+5JszK0UMjN3pfQKen8dngMc5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139442},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"gitHead":"b8f6531fe40ba35746ccbae7b11b40d6a343d919","scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"npx tsc --project tsconfig.build.json --module commonjs --target es2020 --outDir lib","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -p .","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"repository":{"url":"https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"dependencies":{"json-joy":"18.0.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.0.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.0.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.0.0","@jsonjoy.com/collaborative-peritext":"18.0.0","@jsonjoy.com/collaborative-presence":"18.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.8","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.0.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.0.0_1771784008186_0.4607802731184518","host":"s3://npm-registry-packages-npm-production"}},"18.1.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.1.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.1.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","dist":{"shasum":"8970e6185f63383d0d38a6882d515ea88f3f515f","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.1.0.tgz","fileCount":40,"integrity":"sha512-eseUVOMKizeekn4JygwU1gr7/C7zo3YkfYJsonxtx5BfX/sUrEdJVXQlGHshzgCAtDSflTW/AhWvCKRLT9ahxg==","signatures":[{"sig":"MEUCIQDX4OJ6SxF5y4qLesGbLR+WaXYpXYI4YwJTlGf2vnFa8AIgJ3gaELnq6U4H/uKTmSy9cjqBSySK7af1D21HOqS5mhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260431},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"gitHead":"6fadf62f896d462e8a99f54b775ad6e338822b00","scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"repository":{"url":"https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"dependencies":{"json-joy":"18.1.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.1.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.1.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.1.0","@jsonjoy.com/collaborative-peritext":"18.1.0","@jsonjoy.com/collaborative-presence":"18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.17","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.1.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.1.0_1774106769578_0.7373672866480283","host":"s3://npm-registry-packages-npm-production"}},"18.5.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.5.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.5.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"7e9eb87e873957340c50562bbd9b742ff7e17e0a","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.5.0.tgz","fileCount":40,"integrity":"sha512-HNX93/XdR646xBSzaFuDJ90pcaVu3Cy6xipSn/N/Udh1h5ADcIce+4bDmFzsFRp4VypBzv7tNe78SyIWaHhgng==","signatures":[{"sig":"MEUCIFOGmeHz3aeGomWDNOUsUpq5M5iP+Cqyt70wUkT6L/DaAiEA8XHfOlYTUQoiMyosE3khha9d7YX/p6RZwZ3ZdLKyjqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260975},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-HNX93/XdR646xBSzaFuDJ90pcaVu3Cy6xipSn/N/Udh1h5ADcIce+4bDmFzsFRp4VypBzv7tNe78SyIWaHhgng==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.9.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"json-joy":"18.5.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.5.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.5.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.5.0","@jsonjoy.com/collaborative-peritext":"18.5.0","@jsonjoy.com/collaborative-presence":"18.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.17","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.5.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.5.0_1775153593260_0.27094431589561774","host":"s3://npm-registry-packages-npm-production"}},"18.6.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.6.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.6.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"93a1ad6d36f2d0b5b757d791754ee4276151328d","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.6.0.tgz","fileCount":40,"integrity":"sha512-xtRcXUHwsrkXEKiT7NwAZlG9oiXvFwtYmYdaX8Oi5Ic+azmBt23wOOf935paFfCxOLNHxe2cN7GDH6O2c88YTw==","signatures":[{"sig":"MEUCIQCh2xeBEkD7WRv9dsfItUUBdm0INNrgKzBTq4u1JzxfRgIgftokV/NnTM/uZ6kD0ROHd9Du91sclUHuXdHWRMGlVIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260975},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-xtRcXUHwsrkXEKiT7NwAZlG9oiXvFwtYmYdaX8Oi5Ic+azmBt23wOOf935paFfCxOLNHxe2cN7GDH6O2c88YTw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.6.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.6.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.6.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.6.0","@jsonjoy.com/collaborative-peritext":"18.6.0","@jsonjoy.com/collaborative-presence":"18.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.17","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.6.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.6.0_1775324995961_0.7428126990130164","host":"s3://npm-registry-packages-npm-production"}},"18.7.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.7.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.7.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"29ffa27308e9143a23e18bcc046696564c070435","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.7.0.tgz","fileCount":40,"integrity":"sha512-2p7wzBj3A6QEvwxw406GJrW3t7g+xJKlR994FkyzbPe4TbFsShWZ2WUTo7pmg8LvkUu8E1uoHI/AmWDnl9JEwA==","signatures":[{"sig":"MEUCIDf4/hNSGDwSEBh+GvhbLNh4YY7i4YOgmiVk8hONhYNcAiEAvTmyWCKML+btgMQ1oAasFkU4e2Cnz663pBI+Q6ciy4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260975},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-2p7wzBj3A6QEvwxw406GJrW3t7g+xJKlR994FkyzbPe4TbFsShWZ2WUTo7pmg8LvkUu8E1uoHI/AmWDnl9JEwA==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.7.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.7.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.7.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.7.0","@jsonjoy.com/collaborative-peritext":"18.7.0","@jsonjoy.com/collaborative-presence":"18.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.17","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.7.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.7.0_1775426995000_0.301064739151776","host":"s3://npm-registry-packages-npm-production"}},"18.8.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.8.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.8.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"ecb229c3b81e29150ba5dbea38817480f9843991","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.8.0.tgz","fileCount":40,"integrity":"sha512-OE5QFnYv4OUXpFjUzOahfCQF0bObcZuTe1Lgq9v/XsPa3fLjzNqILW2uIN792dOQqR7ap770bkYnuL8VqDoiBg==","signatures":[{"sig":"MEUCIQC+GXRQj5ilVDHlOsVGvPpBv8Uwti8yckjoO3jCaKcmbgIgMNCVKk6wX9vZm5N5saqNeAPRNXMKOyPZmiAfftnAgJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260975},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-OE5QFnYv4OUXpFjUzOahfCQF0bObcZuTe1Lgq9v/XsPa3fLjzNqILW2uIN792dOQqR7ap770bkYnuL8VqDoiBg==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.8.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.8.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.8.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.8.0","@jsonjoy.com/collaborative-peritext":"18.8.0","@jsonjoy.com/collaborative-presence":"18.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@storybook/react":"^10.2.17","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.8.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.8.0_1775578331368_0.7348478852859237","host":"s3://npm-registry-packages-npm-production"}},"18.9.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.9.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.9.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"b159d6bf67da48af2af4049da7ae985df4c2ebbb","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.9.0.tgz","fileCount":40,"integrity":"sha512-XkW1FIRTtQj7fjNoQoEaqQrQtOVjBi7VbWsDj3bwHb+r3asVp+noqONkKNMyU197HFyXMzuhfZFRSZPD3lfn7g==","signatures":[{"sig":"MEQCIG/n5ls4T7mg1GXg4inOaV7PfB2aK2wqKNr64r840VIFAiAHYe9bw8yaxaNSeuPzSB07XauP0HI2Z5chiQqBpHwMRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260939},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-XkW1FIRTtQj7fjNoQoEaqQrQtOVjBi7VbWsDj3bwHb+r3asVp+noqONkKNMyU197HFyXMzuhfZFRSZPD3lfn7g==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.9.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.9.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.9.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.9.0","@jsonjoy.com/collaborative-peritext":"18.9.0","@jsonjoy.com/collaborative-presence":"18.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.9.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.9.0_1775653127366_0.3115967583888355","host":"s3://npm-registry-packages-npm-production"}},"18.10.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.10.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.10.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"33d48c154e5bb499f6c1a8b78fbc532ec77134f5","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.10.0.tgz","fileCount":40,"integrity":"sha512-DoE2NYXjZEgpQxp/+Ml1TPvgO2rfV5lqaTgsVJ3qUFf/sIfbDM6omObuOh0q0SwF5LX8z+nEArscEj9TMJA8Kw==","signatures":[{"sig":"MEUCIEAeIhc5hGS5C9XSnKV29ZBNOGHMfk/uY8WOyDEowCvGAiEA99iL1d2epldrs4SW3ruDpJc4d3q8qne4DAanVGeowNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261428},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-DoE2NYXjZEgpQxp/+Ml1TPvgO2rfV5lqaTgsVJ3qUFf/sIfbDM6omObuOh0q0SwF5LX8z+nEArscEj9TMJA8Kw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.10.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.10.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.10.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.10.0","@jsonjoy.com/collaborative-peritext":"18.10.0","@jsonjoy.com/collaborative-presence":"18.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.10.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.10.0_1775899377730_0.7586724720860383","host":"s3://npm-registry-packages-npm-production"}},"18.11.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.11.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.11.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"82e5e7ea74b5a05b147ab9507de236e5071e8319","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.11.0.tgz","fileCount":40,"integrity":"sha512-CPtuRCLqCLjX0i8kgKnWHllyM65Iq91QrZbR5KjEuSClULGEnuJ4tUzs+0MOE9DygGsIVsuKBOdxszOfPsSGcw==","signatures":[{"sig":"MEUCIQDiEbbMMpDDzwrEV/TikUpiYJPpuPsD9ICR5AIDQ1ADzwIgN5SJM9qCZQuvQwAJe7pMccBChKYh1qPYXcvmP2LRxFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261428},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-CPtuRCLqCLjX0i8kgKnWHllyM65Iq91QrZbR5KjEuSClULGEnuJ4tUzs+0MOE9DygGsIVsuKBOdxszOfPsSGcw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.11.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.11.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.11.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.11.0","@jsonjoy.com/collaborative-peritext":"18.11.0","@jsonjoy.com/collaborative-presence":"18.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.11.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.11.0_1775933761979_0.08160970373678356","host":"s3://npm-registry-packages-npm-production"}},"18.12.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.12.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.12.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"f75048fc02b695b3ab6df02a19893c4e9fbb9b7f","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.12.0.tgz","fileCount":40,"integrity":"sha512-fZqAt8TzU7IGD9hNgAmTDvNegxzGybIfRMRlvNjxtBBXb3eUGhXOEXPpNWEbUsrHygi8djlZ2Qu7JP7PoKbniA==","signatures":[{"sig":"MEQCIC+QBUXFQi+wF1bUCI6U9kI4Xr9z/XeW12wGYvZgo+6jAiBCVaVBWovFFP7Q+98aANhrPUO63mXtwZS++hUX1M5s6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261428},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-fZqAt8TzU7IGD9hNgAmTDvNegxzGybIfRMRlvNjxtBBXb3eUGhXOEXPpNWEbUsrHygi8djlZ2Qu7JP7PoKbniA==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.12.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.12.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.12.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.12.0","@jsonjoy.com/collaborative-peritext":"18.12.0","@jsonjoy.com/collaborative-presence":"18.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.12.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.12.0_1776009643219_0.0011651351115533615","host":"s3://npm-registry-packages-npm-production"}},"18.13.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.13.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.13.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"ebf21583526db12fdae5f5d80be85f3f6505dad6","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.13.0.tgz","fileCount":40,"integrity":"sha512-tUh5etHsQ+wh2d6w18wqnI3NGBt+tNXd5D+/UzVgPkoT70vq6+O5PL0RZxhV5PIYklx5Qp01V1TQvpWSYgUqNw==","signatures":[{"sig":"MEUCIQDsbD4ceI2Rf6YMIzy41MB8CSAS2yULbFJHDttZ9Nim3AIgEqnDzzSoTJDU7bSqZnX2tUM+UcfVjd59TlQIRsRHNeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261512},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-tUh5etHsQ+wh2d6w18wqnI3NGBt+tNXd5D+/UzVgPkoT70vq6+O5PL0RZxhV5PIYklx5Qp01V1TQvpWSYgUqNw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.13.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.13.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.13.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.13.0","@jsonjoy.com/collaborative-peritext":"18.13.0","@jsonjoy.com/collaborative-presence":"18.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.13.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.13.0_1776278110562_0.45010981980808795","host":"s3://npm-registry-packages-npm-production"}},"18.14.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.14.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.14.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"060aa03e58d43e210844ecc7ca7858823c4b9b02","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.14.0.tgz","fileCount":40,"integrity":"sha512-U2+s6DH8OGASto1X+ZJpuOe4xdA/gicOuCT8/liU7UHTwPcQNr/0BZQcyFrzQ5GGuNHm/1khokpDyzTFEYdPcQ==","signatures":[{"sig":"MEQCIB+c6G2rCCHwyQ72kRxvMOdbriTiYeXghzgfiQairpzWAiAJ/yMBNTdHwICsQVhsYDp5U+wV+SV4rFU1C9sW6FyP/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261512},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-U2+s6DH8OGASto1X+ZJpuOe4xdA/gicOuCT8/liU7UHTwPcQNr/0BZQcyFrzQ5GGuNHm/1khokpDyzTFEYdPcQ==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.14.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.14.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.14.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.14.0","@jsonjoy.com/collaborative-peritext":"18.14.0","@jsonjoy.com/collaborative-presence":"18.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.14.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.14.0_1776346001747_0.42019766623974486","host":"s3://npm-registry-packages-npm-production"}},"18.15.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.15.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.15.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"50b3366875bbf071df6d37682cf58f3cd7b95598","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.15.0.tgz","fileCount":40,"integrity":"sha512-2gCR7cRKEvA9LeH/y06eE1Ws/UHYmQAE+ejODqW+kW7rY+GRS1BX3xZtwlt471VoMWWCyIa7ZM/EKLIENcZowA==","signatures":[{"sig":"MEYCIQDn2eWm0AF6PhgjaaTPJn/wzYClqQkAmybbD69kulcmuAIhAJUqmGS0I6DKy9aVkf9QV1Hflb3a12/Df6M7kmfmecXm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261512},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-2gCR7cRKEvA9LeH/y06eE1Ws/UHYmQAE+ejODqW+kW7rY+GRS1BX3xZtwlt471VoMWWCyIa7ZM/EKLIENcZowA==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.15.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.15.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.15.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.15.0","@jsonjoy.com/collaborative-peritext":"18.15.0","@jsonjoy.com/collaborative-presence":"18.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.15.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.15.0_1776504652407_0.505501248023212","host":"s3://npm-registry-packages-npm-production"}},"18.16.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.16.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.16.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"9767fad20fe4a73124985749e62ea81176297f26","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.16.0.tgz","fileCount":40,"integrity":"sha512-pGG2YY3l4SNzCMro7Lkg7dOqxMZ7vRsuZYMMU/yvmCsZiAnT7DhQmdOt0DwnFg9u2n4Dqq0F4DsANDv9ZDkP9Q==","signatures":[{"sig":"MEQCICQEmTZj6absoKl5rvlAe63c9330aPIic+Ahk2rS1rHTAiAorEdbmDI9xQCnHtcBGoAmiftliTGjL+FR3pX5ChZYyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261516},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-pGG2YY3l4SNzCMro7Lkg7dOqxMZ7vRsuZYMMU/yvmCsZiAnT7DhQmdOt0DwnFg9u2n4Dqq0F4DsANDv9ZDkP9Q==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.16.0","nano-theme":"^1.5.0","@jsonjoy.com/ui":"18.16.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.16.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.16.0","@jsonjoy.com/collaborative-peritext":"18.16.0","@jsonjoy.com/collaborative-presence":"18.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.16.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.16.0_1778073585825_0.9221544142813176","host":"s3://npm-registry-packages-npm-production"}},"18.17.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.17.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.17.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"1f5ead7e36e996cc60dce6bb9ed9e9eb3d33b5ce","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.17.0.tgz","fileCount":40,"integrity":"sha512-MUFTfW7cAXq34u4Z4in4ZKy2AtvyA9F5JJZGWGIEHkW6OGCjBcEUMmoki+G9waR//T8PF9Tg0qMeQUTafQqK7Q==","signatures":[{"sig":"MEUCIBUNYemaHMUgz9+KYkJbPvmqovg3UUEuf9h0Xi3k7lGHAiEAzY/eHF4loTIqVkK2ydPkz4hdKX/C+mYd9xxteDO3yJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261057},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-MUFTfW7cAXq34u4Z4in4ZKy2AtvyA9F5JJZGWGIEHkW6OGCjBcEUMmoki+G9waR//T8PF9Tg0qMeQUTafQqK7Q==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.17.0","nano-theme":"18.17.0","@jsonjoy.com/ui":"18.17.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.17.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.17.0","@jsonjoy.com/collaborative-peritext":"18.17.0","@jsonjoy.com/collaborative-presence":"18.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.17.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.17.0_1778182505213_0.9063209018860985","host":"s3://npm-registry-packages-npm-production"}},"18.18.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.18.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.18.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"312e980618dbd7850e369aca751108299c589b3f","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.18.0.tgz","fileCount":40,"integrity":"sha512-RArFim42b6bClEDUdnk76lpRmvOWXTPHPBxxdYVwknj9Ja1wWZw8/QL0HZ6sEfjgsUGgejkarqrDTgKdPdd32A==","signatures":[{"sig":"MEUCIQDtnIuexvKAYf1tUHgN7yKLdWMt3yuSuOdn3j0oRiAT8gIgIWlZkXMMiR4VaSwneHtvkOAf/bOw4n9iz8gwWXcggI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261057},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-RArFim42b6bClEDUdnk76lpRmvOWXTPHPBxxdYVwknj9Ja1wWZw8/QL0HZ6sEfjgsUGgejkarqrDTgKdPdd32A==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.18.0","nano-theme":"18.18.0","@jsonjoy.com/ui":"18.18.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.18.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.18.0","@jsonjoy.com/collaborative-peritext":"18.18.0","@jsonjoy.com/collaborative-presence":"18.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.18.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.18.0_1778186227394_0.2958969005489529","host":"s3://npm-registry-packages-npm-production"}},"18.19.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.19.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.19.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"60e8bf528ae730f8484f636b062de34f7fe1d408","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.19.0.tgz","fileCount":40,"integrity":"sha512-nnsWZNhu1YaV8rWcMW0/AwmURN+cL/ahO1QPgw+oD7TtJZBEJOc97AKcwVZGTrG59lHbXlP3quSqm9qkO5FGCQ==","signatures":[{"sig":"MEUCIQD474iPEmj4Niz6ZD8V6KI4TFuKzU8JTIY4r1+HzaAGMQIgEz5tJS6WcUnnNG/R8YPFHpvKtPsD75pnQCzkjjAeyJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261057},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-nnsWZNhu1YaV8rWcMW0/AwmURN+cL/ahO1QPgw+oD7TtJZBEJOc97AKcwVZGTrG59lHbXlP3quSqm9qkO5FGCQ==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.19.0","nano-theme":"18.19.0","@jsonjoy.com/ui":"18.19.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.19.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.19.0","@jsonjoy.com/collaborative-peritext":"18.19.0","@jsonjoy.com/collaborative-presence":"18.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.19.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.19.0_1778190419041_0.24244104560357194","host":"s3://npm-registry-packages-npm-production"}},"18.20.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.20.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.20.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"d44b4fae7f1b4446b2cc604678942d26db2db8a1","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.20.0.tgz","fileCount":40,"integrity":"sha512-nJLv2DlR/suU7erppDcVhbahybH77sdEaX1krGuyrtrsZgPa0+FgBhkNLBZU3i0WC4sG+Q3Fcwq8NiflHH1lGA==","signatures":[{"sig":"MEYCIQCBBh3Qfji/1NtNLCm6GulFEF0jXPbHOhRI+frDr3nOlgIhAL1RmYUsdwHEdE9XnALgYvcK1zcOPtYbKy96RNo689yv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261057},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-nJLv2DlR/suU7erppDcVhbahybH77sdEaX1krGuyrtrsZgPa0+FgBhkNLBZU3i0WC4sG+Q3Fcwq8NiflHH1lGA==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.20.0","nano-theme":"18.20.0","@jsonjoy.com/ui":"18.20.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.20.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.20.0","@jsonjoy.com/collaborative-peritext":"18.20.0","@jsonjoy.com/collaborative-presence":"18.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.20.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.20.0_1778288177215_0.5322226006927246","host":"s3://npm-registry-packages-npm-production"}},"18.21.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.21.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.21.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"53cbd31772c7e84328865d62d13fa1f6e64eddc4","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.21.0.tgz","fileCount":40,"integrity":"sha512-Wl4tV2d/zbqsFUBfZsWwXGalWMAkh/0WcPGmqsEVHQQy73lnZ+/l7+x/z8Q1q9aVNN9kPtedOzNHDqgXg9UwEQ==","signatures":[{"sig":"MEYCIQCE6TWDJ3Uwf0nNfIOdB0jm7scJJ9UOwQUkM1kbPo2WRQIhANrM5pWRQvMePVAAbJJib6aeIVrC+OLQlY2gBIbWINm5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261057},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-Wl4tV2d/zbqsFUBfZsWwXGalWMAkh/0WcPGmqsEVHQQy73lnZ+/l7+x/z8Q1q9aVNN9kPtedOzNHDqgXg9UwEQ==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.11.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"json-joy":"18.21.0","nano-theme":"18.21.0","@jsonjoy.com/ui":"18.21.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.21.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.21.0","@jsonjoy.com/collaborative-peritext":"18.21.0","@jsonjoy.com/collaborative-presence":"18.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.21.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.21.0_1778416341619_0.19204265328985137","host":"s3://npm-registry-packages-npm-production"}},"18.22.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.22.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.22.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"a337eb7c32e0fd26eb643d12c6d15b9309143b9d","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.22.0.tgz","fileCount":40,"integrity":"sha512-4OxsmqpLe2fu8rLla4T6wSC8rt46ed7g3wzWLs+TZtzFE9vQHV/bluk9nOtjhXD447YjLX5oWmitZ0glHG6a3w==","signatures":[{"sig":"MEUCIAESiuW7VppoYf7flu0NLZygC5KjGA9/K4Elc7jtHQn3AiEA5hEm6ZR/ZZd6DiIr88zDsHMHOZ4dBc0sFOvasCKZmg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261177},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-4OxsmqpLe2fu8rLla4T6wSC8rt46ed7g3wzWLs+TZtzFE9vQHV/bluk9nOtjhXD447YjLX5oWmitZ0glHG6a3w==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.12.1","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"json-joy":"18.22.0","nano-theme":"18.22.0","@jsonjoy.com/ui":"18.22.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.22.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.22.0","@jsonjoy.com/collaborative-peritext":"18.22.0","@jsonjoy.com/collaborative-presence":"18.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.22.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.22.0_1778788825444_0.18905533645917472","host":"s3://npm-registry-packages-npm-production"}},"18.23.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.23.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.23.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"b341e754d484e54a9224111b69d935cad8349f65","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.23.0.tgz","fileCount":40,"integrity":"sha512-QatefW+EMuL/O6OtdjXdAOSnscoDX+U+eqCdit7Er77skh6PUnwBOdh/HKd5/bt8Fm4cxa6Rxuw4X0uL0PJUwg==","signatures":[{"sig":"MEQCIGHmVs86RI40VGrSPzG6/771v08J0xFxLNBx50R8d6WEAiBd9zYZM6MfkXbTh75cqcMX7Vx8z0KK/g/UR34Km93j1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261177},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-QatefW+EMuL/O6OtdjXdAOSnscoDX+U+eqCdit7Er77skh6PUnwBOdh/HKd5/bt8Fm4cxa6Rxuw4X0uL0PJUwg==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.12.1","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"json-joy":"18.23.0","nano-theme":"18.23.0","@jsonjoy.com/ui":"18.23.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.23.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.23.0","@jsonjoy.com/collaborative-peritext":"18.23.0","@jsonjoy.com/collaborative-presence":"18.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.23.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.23.0_1778796443084_0.9048891067766582","host":"s3://npm-registry-packages-npm-production"}},"18.24.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.24.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.24.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"ba438ccba5f8e1ec225e83f6bde79f1c79df32f7","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.24.0.tgz","fileCount":40,"integrity":"sha512-h5jOI5bh+ooz5970MI1CjTu1D0alaiWvb2epM7Bm3uJnsky+24neN+QozwrYAEVU2ib2PZxH0de1aiQm4FjOjw==","signatures":[{"sig":"MEUCICDwBrXRzfY5P1d00E7Rx9IUMxmYmTEG42nS4oIEuLRfAiEA6Q/Mi3YEkR7jKwmINxLYVr/+TgLVHE1Il4efFUVGv+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261316},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-h5jOI5bh+ooz5970MI1CjTu1D0alaiWvb2epM7Bm3uJnsky+24neN+QozwrYAEVU2ib2PZxH0de1aiQm4FjOjw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.12.1","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"json-joy":"18.24.0","nano-theme":"18.24.0","@jsonjoy.com/ui":"18.24.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.24.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.24.0","@jsonjoy.com/collaborative-peritext":"18.24.0","@jsonjoy.com/collaborative-presence":"18.24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.24.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.24.0_1778843729795_0.5673350519079461","host":"s3://npm-registry-packages-npm-production"}},"18.28.0":{"name":"@jsonjoy.com/collaborative-prosemirror","version":"18.28.0","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"author":{"url":"https://github.com/streamich","name":"streamich"},"license":"AGPL-3.0-only","_id":"@jsonjoy.com/collaborative-prosemirror@18.28.0","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"dist":{"shasum":"0c326194bbc433fee2e4d9fdeb00945880d8b326","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.28.0.tgz","fileCount":40,"integrity":"sha512-at9DigLbmyFql0vm64QationdmoVQR2YBIg1UoBcOthDF2JB5mya+6fSUdMcZXRLexqNZcZXFz81MvsMzLEOmw==","signatures":[{"sig":"MEYCIQCfHgVdcC80iM3VKOvxvSLLy/4uXAl5sYZT7obQZaiK6wIhAORx0Vz0qgfkU+YP5IiUnTKvuT1hFwowdZz1PqwqF4x2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266012},"jest":{"preset":"ts-jest","rootDir":".","testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","transform":{"^.+\\.tsx?$":"ts-jest"},"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"moduleFileExtensions":["ts","js","tsx"],"testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"],"transformIgnorePatterns":[".*/node_modules/.*"]},"main":"lib/index.js","_from":"file:package.tgz","types":"lib/index.d.ts","engines":{"node":">=10.0"},"funding":{"url":"https://github.com/sponsors/streamich","type":"github"},"scripts":{"jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","build":"tsc -b tsconfig.build.json","clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","test:ci":"yarn jest --maxWorkers 3 --no-cache","typedoc":"typedoc","coverage":"yarn test --collectCoverage","typecheck":"tsc -b --noEmit","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"},"typings":"lib/index.d.ts","_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"_resolved":"/Users/m1book/Developer/streamich/global-monorepo/public/json-joy/packages/collaborative-prosemirror/package.tgz","_integrity":"sha512-at9DigLbmyFql0vm64QationdmoVQR2YBIg1UoBcOthDF2JB5mya+6fSUdMcZXRLexqNZcZXFz81MvsMzLEOmw==","repository":{"url":"git+https://github.com/streamich/json-joy.git","type":"git","directory":"packages/collaborative-prosemirror"},"_npmVersion":"11.6.2","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","directories":{},"_nodeVersion":"25.1.0","dependencies":{"json-joy":"18.28.0","nano-theme":"18.28.0","@jsonjoy.com/ui":"18.28.0","prosemirror-view":"^1.41.5","@jsonjoy.com/util":"18.28.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-history":"^1.5.0","prosemirror-transform":"^1.11.0","@jsonjoy.com/json-equal":"18.28.0","@jsonjoy.com/collaborative-peritext":"18.28.0","@jsonjoy.com/collaborative-presence":"18.28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-schema-list":"^1.5.1","@jsonjoy.com/json-random":"^18.28.0","prosemirror-schema-basic":"^1.2.4","prosemirror-test-builder":"^1.1.1","prosemirror-example-setup":"^1.2.3"},"peerDependencies":{"tslib":"*"},"_npmOperationalInternal":{"tmp":"tmp/collaborative-prosemirror_18.28.0_1780421940751_0.7986543316295733","host":"s3://npm-registry-packages-npm-production"}},"18.30.0":{"name":"@jsonjoy.com/collaborative-prosemirror","publishConfig":{"access":"public"},"version":"18.30.0","description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","author":{"name":"streamich","url":"https://github.com/streamich"},"homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","repository":{"type":"git","url":"git+https://github.com/streamich/json-joy.git","directory":"packages/collaborative-prosemirror"},"license":"AGPL-3.0-only","funding":{"type":"github","url":"https://github.com/sponsors/streamich"},"keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"dependencies":{"@jsonjoy.com/collaborative-peritext":"18.30.0","@jsonjoy.com/collaborative-presence":"18.30.0","@jsonjoy.com/json-equal":"18.30.0","@jsonjoy.com/ui":"18.30.0","@jsonjoy.com/util":"18.30.0","json-joy":"18.30.0","nano-theme":"18.30.0","prosemirror-history":"^1.5.0","prosemirror-model":"^1.25.4","prosemirror-state":"^1.4.4","prosemirror-transform":"^1.11.0","prosemirror-view":"^1.41.5"},"peerDependencies":{"tslib":"*"},"devDependencies":{"@jsonjoy.com/json-random":"^18.30.0","@types/react":"^19","@types/react-dom":"^19","jest-environment-jsdom":"^30.2.0","prosemirror-example-setup":"^1.2.3","prosemirror-schema-basic":"^1.2.4","prosemirror-schema-list":"^1.5.1","prosemirror-test-builder":"^1.1.1","react":"^19.2.3","react-dom":"^19.2.3"},"engines":{"node":">=10.0"},"main":"lib/index.js","types":"lib/index.d.ts","typings":"lib/index.d.ts","scripts":{"clean":"npx rimraf lib typedocs coverage gh-pages yarn-error.log","build":"tsc -b tsconfig.build.json","jest":"node -r ts-node/register ./node_modules/.bin/jest","test":"jest --maxWorkers 7","test:ci":"yarn jest --maxWorkers 3 --no-cache","coverage":"yarn test --collectCoverage","typedoc":"typedoc","build:pages":"npx rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage","deploy:pages":"gh-pages -d gh-pages","publish-coverage-and-typedocs":"yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages","typecheck":"tsc -b --noEmit","demo:slate":"webpack serve --config src/__demos__/slate/webpack.config.js","demo:plate":"webpack serve --config src/__demos__/plate/webpack.config.js"},"jest":{"preset":"ts-jest","setupFilesAfterEnv":["<rootDir>/src/__tests__/setupAfterEnv.ts"],"testEnvironment":"node","moduleFileExtensions":["ts","js","tsx"],"transform":{"^.+\\.tsx?$":"ts-jest"},"transformIgnorePatterns":[".*/node_modules/.*"],"testRegex":".*/(__tests__|__jest__|demo)/.*(?<!\\.vi)\\.(test|spec)\\.tsx?$","rootDir":".","testPathIgnorePatterns":["node_modules","\\.vi\\.(test|spec)\\.tsx?$"]},"_id":"@jsonjoy.com/collaborative-prosemirror@18.30.0","bugs":{"url":"https://github.com/streamich/json-joy/issues"},"_integrity":"sha512-4YhCakYq8tC8utEWrvdQscbkO1K3k2PgYFwIN444KSic89mc8tpJU3YKh2ECsAJCZxtanEZA3YEzIlREICSCXw==","_resolved":"/home/runner/work/json-joy/json-joy/packages/collaborative-prosemirror/package.tgz","_from":"file:package.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-4YhCakYq8tC8utEWrvdQscbkO1K3k2PgYFwIN444KSic89mc8tpJU3YKh2ECsAJCZxtanEZA3YEzIlREICSCXw==","shasum":"0aa68c93c8500ac9d4c86bc8b070d5982018a332","tarball":"https://registry.npmjs.org/@jsonjoy.com/collaborative-prosemirror/-/collaborative-prosemirror-18.30.0.tgz","fileCount":40,"unpackedSize":261152,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jsonjoy.com%2fcollaborative-prosemirror@18.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFM/eWvUYMbHDiTxowHnzyehRSEDt4VSpjlz3ZiQaNcqAiEAjcmqWa4NCNTg2axPJVtZn55NsX7IUllHTKzcRynfVZk="}]},"_npmUser":{"name":"streamich","email":"vadimsdaleckis@gmail.com"},"directories":{},"maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/collaborative-prosemirror_18.30.0_1788858609509_0.84422523253244"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T18:13:28.062Z","modified":"2026-09-08T09:10:09.934Z","18.0.0":"2026-02-22T18:13:28.332Z","18.1.0":"2026-03-21T15:26:09.746Z","18.5.0":"2026-04-02T18:13:13.410Z","18.6.0":"2026-04-04T17:49:56.109Z","18.7.0":"2026-04-05T22:09:55.169Z","18.8.0":"2026-04-07T16:12:11.509Z","18.9.0":"2026-04-08T12:58:47.526Z","18.10.0":"2026-04-11T09:22:57.896Z","18.11.0":"2026-04-11T18:56:02.137Z","18.12.0":"2026-04-12T16:00:43.378Z","18.13.0":"2026-04-15T18:35:10.716Z","18.14.0":"2026-04-16T13:26:41.939Z","18.15.0":"2026-04-18T09:30:52.704Z","18.16.0":"2026-05-06T13:19:46.043Z","18.17.0":"2026-05-07T19:35:05.567Z","18.18.0":"2026-05-07T20:37:07.533Z","18.19.0":"2026-05-07T21:46:59.189Z","18.20.0":"2026-05-09T00:56:17.431Z","18.21.0":"2026-05-10T12:32:21.785Z","18.22.0":"2026-05-14T20:00:25.634Z","18.23.0":"2026-05-14T22:07:23.222Z","18.24.0":"2026-05-15T11:15:29.981Z","18.28.0":"2026-06-02T17:39:00.891Z","18.30.0":"2026-09-08T09:10:09.641Z"},"bugs":{"url":"https://github.com/streamich/json-joy/issues"},"author":{"name":"streamich","url":"https://github.com/streamich"},"license":"AGPL-3.0-only","homepage":"https://github.com/streamich/json-joy/tree/master/packages/collaborative-prosemirror","keywords":["collaborative","multiplayer","binding","collaborative-prosemirror","prosemirror","str","peritext","editor","input","textarea","contenteditable","json-crdt","json","crdt"],"repository":{"type":"git","url":"git+https://github.com/streamich/json-joy.git","directory":"packages/collaborative-prosemirror"},"description":"ProseMirror bindings for JSON CRDT Peritext for collaborative rich-text editing","maintainers":[{"name":"json-joy-team","email":"team@jsonjoy.com"},{"name":"streamich","email":"vadimsdaleckis@gmail.com"}],"readme":"# @jsonjoy.com/collaborative-prosemirror\n\nReal-time collaborative editing for [ProseMirror](https://prosemirror.net/),\npowered by [JSON CRDT](https://jsonjoy.com/specs/json-crdt) and\n[Peritext](https://www.inkandswitch.com/peritext/) rich-text CRDT.\n\n![collab-prosemirror-demo-2](https://github.com/user-attachments/assets/62afc220-8e1c-4042-9b0f-5c279000d43c)\n\n\n## Features\n\n- **Two-way binding** between a ProseMirror `EditorView` and a Peritext CRDT\n  model — local edits are written to the CRDT, remote CRDT changes are\n  patched into ProseMirror with minimal DOM churn.\n- **Remote cursor & selection rendering** — optional presence plugin draws\n  colored carets and selection highlights for every connected peer, driven\n  entirely by CSS animations (no JS timers).\n- **Undo/redo support** — works with the standard `prosemirror-history` plugin;\n  remote changes are excluded from the undo stack automatically.\n\n\n## Installation\n\n```bash\nnpm install @jsonjoy.com/collaborative-prosemirror\n```\n\n\n### Peer dependencies\n\nThe package requires ProseMirror core libraries and `json-joy` to be installed\nin your project:\n\n```bash\nnpm install json-joy @jsonjoy.com/collaborative-peritext prosemirror-model prosemirror-state prosemirror-view prosemirror-history\n```\n\nFor collaborative presence (remote cursors), also install:\n\n```bash\nnpm install @jsonjoy.com/collaborative-presence\n```\n\n\n## Quick start\n\n```ts\nimport {ModelWithExt, ext} from 'json-joy/lib/json-crdt-extensions';\nimport {EditorState} from 'prosemirror-state';\nimport {EditorView} from 'prosemirror-view';\nimport {schema} from 'prosemirror-schema-basic';\nimport {ProseMirrorFacade} from '@jsonjoy.com/collaborative-prosemirror';\nimport {PeritextBinding} from '@jsonjoy.com/collaborative-peritext';\n\n// 1. Create a ProseMirror editor as usual.\nconst doc = schema.nodes.doc.createAndFill()!;\nconst view = new EditorView(document.querySelector('#editor')!, {\n  state: EditorState.create({doc}),\n});\n\n// 2. Obtain a PeritextRef — a function that returns the PeritextApi from your\n//    JSON CRDT model. How you create the model depends on your setup; for\n//    example:\nconst json = {\"type\":\"doc\",\"content\":[\n  {\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Hello, ProseMirror!\"}]},\n]};\nconst model = ModelWithExt.create(ext.peritext.new(''));\nconst viewRange = FromPm.convert(mySchema.nodeFromJSON(json));\nconst txt = model.s.toExt().txt;\ntxt.editor.merge(viewRange);\ntxt.refresh();\nconst peritextRef = () => model.s.toExt();\n\n// 3. Create the facade and bind it to the model.\nconst facade = new ProseMirrorFacade(view, peritextRef);\nconst unbind = PeritextBinding.bind(peritextRef, facade);\n\n// 4. When done, clean up.\nunbind();\nfacade.dispose();\nview.destroy();\n```\n\n\n## Options\n\n`ProseMirrorFacade` accepts an optional third argument — a `ProseMirrorFacadeOpts` object:\n\n```ts\nconst facade = new ProseMirrorFacade(view, peritextRef, {\n  history: true,        // default: auto-detect\n  presence: manager,    // default: disabled\n});\n```\n\n### `history`\n\nControls whether the `prosemirror-history` undo/redo plugin is installed.\n\n| Value        | Behavior                                                     |\n| ------------ | ------------------------------------------------------------ |\n| `undefined`  | **(default)** Install history only when the editor state does not already contain a history plugin. |\n| `true`       | Always install the history plugin.                           |\n| `false`      | Never install the history plugin — useful when you handle undo/redo externally. |\n\n### `presence`\n\nEnables the collaborative presence plugin that renders remote cursors and\nselection highlights.\n\n| Value                  | Behavior                                                   |\n| ---------------------- | ---------------------------------------------------------- |\n| `undefined` / `false`  | **(default)** Presence plugin is not installed.            |\n| `PresenceManager`      | Install with default presence settings.                    |\n| `PresencePluginOpts`   | Install with full control over rendering and timing. See below. |\n\n#### `PresencePluginOpts`\n\n```ts\ninterface PresencePluginOpts {\n  manager: PresenceManager;\n  renderCursor?: CursorRenderer;\n  renderSelection?: SelectionRenderer;\n  userFromMeta?: (meta: Meta) => PresenceUser | undefined;\n  fadeAfterMs?: number;   // default: 3000\n  dimAfterMs?: number;    // default: 30000\n  hideAfterMs?: number;   // default: 60000\n  gcIntervalMs?: number;  // default: 5000\n}\n```\n\n\n## Architecture\n\n### Sync flow\n\n1. **Local edit to CRDT**: ProseMirror transactions are intercepted by the sync\n   plugin. Simple single-step edits are extracted as `PeritextOperation` tuples;\n   complex edits trigger a full document merge via full document diff.\n2. **CRDT to ProseMirror**: When the CRDT model changes (e.g. a remote patch\n   arrives), `PeritextBinding` calls `facade.set()`. The `ToPmNode` converter\n   builds a new ProseMirror document from the Peritext `Fragment`, reusing\n   cached block nodes. `applyPatch` then diffs the old and new documents and\n   emits minimal transaction steps.\n\n## Funding\n\nThis project is funded through [NGI Zero Core](https://nlnet.nl/core), a fund established by [NLnet](https://nlnet.nl) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu) program. Learn more at the [NLnet project page](https://nlnet.nl/project/JSON-Joy-Peritext).\n\n[<img src=\"https://nlnet.nl/logo/banner.png\" alt=\"NLnet foundation logo\" width=\"20%\" />](https://nlnet.nl)\n[<img src=\"https://nlnet.nl/image/logos/NGI0_tag.svg\" alt=\"NGI Zero Logo\" width=\"20%\" />](https://nlnet.nl/core)\n\n","readmeFilename":"README.md"}