{"_id":"@portabletext/markdown","_rev":"35-b6c6953ce928bee1021450ddc7a7c54d","name":"@portabletext/markdown","dist-tags":{"latest":"2.4.0"},"versions":{"1.0.0":{"name":"@portabletext/markdown","version":"1.0.0","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"ca9631c4e62d124324f96d5d9ae9c6d833146f5d","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.0.tgz","fileCount":27,"integrity":"sha512-LVFPxBXnZENNG2TteCd9yATCu5JLTIMVkm8BENAVGfIN/XGfMjYDJaLoCfxbXUzQLYWZc8IFdB7W02ERnH68eg==","signatures":[{"sig":"MEUCIAL96ThJgvPefe+WaqB1xlJiqEfJ9QoUprvqPUkyWotXAiEAoDUa7yZOIUr1PzwqOrAjN6riRrERj2aNkAJHcgauUHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391528},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"b91610cf2863d131031f566036a7864b2e1f805f","scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","prepublishOnly":"turbo run build","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"christianhg","email":"services@groengaard.dk"},"repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"10.9.2","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"23.10.0","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"workspace:^","@portabletext/toolkit":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"catalog:","@sanity/schema":"^4.17.0","@sanity/tsconfig":"^1.0.0","@sanity/pkg-utils":"^10.0.0","@portabletext/test":"workspace:^","@types/markdown-it":"^14.1.2","@portabletext/types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.0_1764763197666_0.17957225799798548","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@portabletext/markdown","version":"1.0.1","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.1","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"7119c946532fa54a8b22368c0d1eb0754d5a7396","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.1.tgz","fileCount":27,"integrity":"sha512-AAIEwUUwToGkK8woI+op3PTDiIjupTzizJCfP5UgWhA0sxNBWTSYrU+/nurvGor6LwVWVEVy4z9PueoGjxWJ0A==","signatures":[{"sig":"MEQCIHjpwljcPG2Y+G2Iesat+QflYpz3Xom3O1lIWNajiYu6AiBCpvV+PrsFFn+oDxZ4AHeNlVP3/z01MzEZJJsZpZp9rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391495},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"f1b791fd2da6125820165acf42b6ce5aa7623e09","scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","prepublishOnly":"turbo run build","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"christianhg","email":"services@groengaard.dk"},"repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"10.9.2","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"23.10.0","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"workspace:^","@portabletext/toolkit":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"catalog:","@sanity/tsconfig":"^1.0.0","@sanity/pkg-utils":"^10.0.0","@portabletext/test":"workspace:^","@types/markdown-it":"^14.1.2","@portabletext/types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.1_1764767388782_0.6933519643812682","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@portabletext/markdown","version":"1.0.2","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.2","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"71bf0d1dbced96a2188f38f887fd6a26c3d93abd","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.2.tgz","fileCount":28,"integrity":"sha512-vQsjGgebpKOpfAHZz0WnJOlJJIr6283yuXZ17ksbthVO6gsEx+WXY3fZb6QvKfMOQlmTxEUV3qr0nvWvEblvrw==","signatures":[{"sig":"MEYCIQCrOYrlUBYf9hG6UXpT51MAif2k4yKUr1BV34NvRNsQsAIhAJ8yPVrKxC88+QWfS68vEbwWJ/LKstVsG0nfsTOSUnax","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":392513},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/22a774bef93382d63c64f53f8e257c16/portabletext-markdown-1.0.2.tgz","_integrity":"sha512-vQsjGgebpKOpfAHZz0WnJOlJJIr6283yuXZ17ksbthVO6gsEx+WXY3fZb6QvKfMOQlmTxEUV3qr0nvWvEblvrw==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.6.4","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.0.0","@portabletext/toolkit":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^1.0.0","@sanity/pkg-utils":"^10.0.0","@portabletext/test":"^1.0.0","@types/markdown-it":"^14.1.2","@portabletext/types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.2_1764768779662_0.8212095087573543","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@portabletext/markdown","version":"1.0.3","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.3","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"9dc927b9164492d24ba1f7e84c426db0ca02bfe1","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.3.tgz","fileCount":28,"integrity":"sha512-xR5ASmVf5ASEbelW7Nx8lc9TAokj3kOb3EXv5Zb4ntYXOcyhtNZnNrC9EvTCUdRr0ZVX2P/6PUCiUuNackXxqg==","signatures":[{"sig":"MEUCIQDRGpB2YCLp1QjcOGqeM8m6361Zr0rzSEwe9W2h8UMOFAIgFqGsnAhrMNWmZcRfRvaeJ+tFckedI/7Tm4bNS3KaqTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395275},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/47782e2858170a1817d8dccabd15bcd1/portabletext-markdown-1.0.3.tgz","_integrity":"sha512-xR5ASmVf5ASEbelW7Nx8lc9TAokj3kOb3EXv5Zb4ntYXOcyhtNZnNrC9EvTCUdRr0ZVX2P/6PUCiUuNackXxqg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.6.4","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.0.0","@portabletext/toolkit":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^1.0.0","@sanity/pkg-utils":"^10.0.0","@portabletext/test":"^1.0.0","@types/markdown-it":"^14.1.2","@portabletext/types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.3_1764777150823_0.865410434968672","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@portabletext/markdown","version":"1.0.4","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.4","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"2b4a0fabf1834aaf4fb17b27c57c50345c36a7d4","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.4.tgz","fileCount":7,"integrity":"sha512-EyCUHJjm5XT+rNIJ9zU2VGCTVxpm08Zzc5SMBMq0zGhYrI2TyPuzMMTruxvTkFgEK5hc7uDsp0TwHxQMTHqJZw==","signatures":[{"sig":"MEUCIEhxnrxbCHh/ieMb/sQimWba5xyHQsCJXxdP+ek0RDyhAiEA23Rl/dYpdCM4Xjl3iDXHz2VQ3H6Ih8IkflOBC8GOGa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187867},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/dd7729ab9a4afbccb404f8b9c1a4044a/portabletext-markdown-1.0.4.tgz","_integrity":"sha512-EyCUHJjm5XT+rNIJ9zU2VGCTVxpm08Zzc5SMBMq0zGhYrI2TyPuzMMTruxvTkFgEK5hc7uDsp0TwHxQMTHqJZw==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.6.4","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.0.1","@portabletext/toolkit":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^1.0.0","@sanity/pkg-utils":"^10.1.1","@portabletext/test":"^1.0.2","@types/markdown-it":"^14.1.2","@portabletext/types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.4_1765282434876_0.24513211498145115","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@portabletext/markdown","version":"1.0.5","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.5","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"97b9bdf2b3c8077c5e5aaf9f6df7090dd0f738b9","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.5.tgz","fileCount":7,"integrity":"sha512-EO/QkiUHbjXsS4QpL2vL9W4MseDNpda9pvc7FLfMnbOZNLHkrGwfgmAqdlCoFnWwFc1avSna+yxX9Eswqx0EUg==","signatures":[{"sig":"MEYCIQDY68KeL5/dUpJHv4qKANkm7nY9XWgKecZvcBt7iVhHzAIhANKp42yPstq/dLsZZvxJe/dYiYU8CqjFp6cUIoyajaUq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187983},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/9e38dfd7fc662a5c1aad1c83ba1fead6/portabletext-markdown-1.0.5.tgz","_integrity":"sha512-EO/QkiUHbjXsS4QpL2vL9W4MseDNpda9pvc7FLfMnbOZNLHkrGwfgmAqdlCoFnWwFc1avSna+yxX9Eswqx0EUg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.0.1","@portabletext/toolkit":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.1.2","@portabletext/test":"^1.0.2","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.5_1765359334941_0.7955571971694795","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@portabletext/markdown","version":"1.0.6","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.6","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"d74f112829f0d6059067f3ba8ede48a5d37c4a61","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.6.tgz","fileCount":7,"integrity":"sha512-QHYT2Eb+2lMRhP9v7XHSUZ+NUMWeekGVPgCTAGsCQRaeo/B2GlSQ3SzKtVpQ7RV0o96gkLch5kxp3NT9Qj1JJg==","signatures":[{"sig":"MEUCIB2vp4HIsxRfv3XmK+7O2bwODp13FhNs1H4IETfEP/uKAiEA80hZNwzrbeEdBE3nGGre6yJg2qVJthxO8Y1Jf+lqPFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":189562},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/1e7e7c1851da7dca1cc9e04a478b252b/portabletext-markdown-1.0.6.tgz","_integrity":"sha512-QHYT2Eb+2lMRhP9v7XHSUZ+NUMWeekGVPgCTAGsCQRaeo/B2GlSQ3SzKtVpQ7RV0o96gkLch5kxp3NT9Qj1JJg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.0.1","@portabletext/toolkit":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.1.2","@portabletext/test":"^1.0.2","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.6_1765449149009_0.7237977147659174","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@portabletext/markdown","version":"1.0.7","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.7","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"d4b1d342bf321ddc85c858b95c7cc0da02c92ee1","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.7.tgz","fileCount":7,"integrity":"sha512-8geSV5vKXsnkC010JMQ3ayi5DoWSW5YtUgGSRpyQvx0KS+gpNEgLOeqBunrnceYJZumkkeaYcDG1MyT9xozQHQ==","signatures":[{"sig":"MEUCIFoYmLZEA4Jk4v+GRYo7/eXIJq8uh17X8lu40ykiBQ9KAiEAspB7MyJ+IghIl/7TIz1mIc8z2vd4FwpHdfkzTCSXFBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":189762},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/c36dd903651e3b0265b4066eed1bac44/portabletext-markdown-1.0.7.tgz","_integrity":"sha512-8geSV5vKXsnkC010JMQ3ayi5DoWSW5YtUgGSRpyQvx0KS+gpNEgLOeqBunrnceYJZumkkeaYcDG1MyT9xozQHQ==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.1.0","@portabletext/toolkit":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.1.2","@portabletext/test":"^1.0.2","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.7_1765452621408_0.33933051367319766","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@portabletext/markdown","version":"1.0.8","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.0.8","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"7d1ed5e63df64318478eb61cc5e08bac9e3015f1","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.0.8.tgz","fileCount":7,"integrity":"sha512-MDoE1j+zTCZPTlIs1fFKO78jGtUiqcoa3cttTZnS2VV6BR+I5O5b24MLn7VICVwSnkML/Q3BSSPSnFioTyORZA==","signatures":[{"sig":"MEQCIDww6RwgKpeMaJoBUnyFcVlAogyba7A7ztX+kysySwnjAiAOODfJLzrV5qNgHOs1bD1TIPApW1uEk6J9nsPhA3BBQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193151},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.0.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/0ac7c66d206cb1e7de6c4fa398c6799d/portabletext-markdown-1.0.8.tgz","_integrity":"sha512-MDoE1j+zTCZPTlIs1fFKO78jGtUiqcoa3cttTZnS2VV6BR+I5O5b24MLn7VICVwSnkML/Q3BSSPSnFioTyORZA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.1.0","@portabletext/toolkit":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.1.2","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.0.8_1765870621630_0.12723650453796065","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@portabletext/markdown","version":"1.1.0","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.1.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"8bab8f982a4667021808f663f758e6f7bf1bbc05","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.1.0.tgz","fileCount":7,"integrity":"sha512-zRYie1I/NAm2C6LHfYngboj3E762Qe4Dcfi4Apwqu9jdm9yho/+d+troLkWSLMUbXY9/esD4kJTQ0bAiOFORBg==","signatures":[{"sig":"MEUCIHScKUhMCx+bU0BhybGhxFyvMI1Mxe4p/eXh5Jd4UoQBAiEAo/QZGgioDUpNPkH4zSc6dDM7IPU2hdy7e69GakJIl2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193150},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/6df114822b1049086bde88711308792d/portabletext-markdown-1.1.0.tgz","_integrity":"sha512-zRYie1I/NAm2C6LHfYngboj3E762Qe4Dcfi4Apwqu9jdm9yho/+d+troLkWSLMUbXY9/esD4kJTQ0bAiOFORBg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.1.0","@portabletext/toolkit":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.1.2","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.1.0_1765899469836_0.7625314002805192","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@portabletext/markdown","version":"1.1.1","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.1.1","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"010e0eabb6d80992eeabfafb7c633ede432b96a5","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.1.1.tgz","fileCount":7,"integrity":"sha512-XUnqjQ5qB4mSyN1o0Y+chKE1pbrUWe1zQp2awLpbvrVjS/9AfK3UWj9GlRSVAsinYdqZuOB3/BiZkB415bxcRw==","signatures":[{"sig":"MEYCIQCdK717A+rhLsG+hCjTSyDCuMpisMnImm4vecfXP1p8xAIhAJ87iuMB/bX6xY37m6zIjZAIvCOOHJUcAdxeHxRiyZx+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193042},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/3c84f30e7d449e0bd707efcefeea1fa7/portabletext-markdown-1.1.1.tgz","_integrity":"sha512-XUnqjQ5qB4mSyN1o0Y+chKE1pbrUWe1zQp2awLpbvrVjS/9AfK3UWj9GlRSVAsinYdqZuOB3/BiZkB415bxcRw==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.1.1","@portabletext/toolkit":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.9","typescript":"5.9.3","@sanity/tsconfig":"^2.0.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.1.1_1765904655135_0.8424482944840364","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@portabletext/markdown","version":"1.1.2","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.1.2","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"9fd7f9be73d7b4ccd5396e057133e9b3fc8b9e2d","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.1.2.tgz","fileCount":7,"integrity":"sha512-jFVJLEZ4GP4gXvfFVwXSjR7ucd/ucsB6YkOcDaB1LD6RC4OYVleCPvs3+7eD5f2wFxMMX0pMMZsJl7fLz/fegQ==","signatures":[{"sig":"MEYCIQCxamIl25bBIGKMAbhLIESLDh43i8C0VuphWs/Vmz52YwIhAMavDvHLmA709UgAwo8ydN5/rQ6s8edBQjL9NpRy+q9m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193043},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/c33143e792555c1e7a3d018e88fd9f21/portabletext-markdown-1.1.2.tgz","_integrity":"sha512-jFVJLEZ4GP4gXvfFVwXSjR7ucd/ucsB6YkOcDaB1LD6RC4OYVleCPvs3+7eD5f2wFxMMX0pMMZsJl7fLz/fegQ==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.7.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"markdown-it":"^14.1.0","@portabletext/schema":"^2.1.1","@portabletext/toolkit":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.1.2_1767611517340_0.11623940062025473","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@portabletext/markdown","version":"1.1.3","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.1.3","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"3f64fa3d30bf4bf95e279e3b8fec9b54e87f81c4","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.1.3.tgz","fileCount":7,"integrity":"sha512-YRDKDhvZNPfxyORKWINqOVw88sxkJiJY8n6DUyWc1orWSXeF5yUPWMD40WoRV2cVC4RCSmEEbV1vhBe+QSFnqA==","signatures":[{"sig":"MEUCIQD4nrmVVetY6T+0EGdCuw41Xcds+NiROgvosq+0pCOmQwIgbLj4d7A4dqnWojqSAPj12eQG/MRQx+bcAY4GiqDOOoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193043},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/594780025c82f5184a0fb00d29d1350e/portabletext-markdown-1.1.3.tgz","_integrity":"sha512-YRDKDhvZNPfxyORKWINqOVw88sxkJiJY8n6DUyWc1orWSXeF5yUPWMD40WoRV2cVC4RCSmEEbV1vhBe+QSFnqA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.10.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"markdown-it":"^14.1.1","@portabletext/schema":"^2.1.1","@portabletext/toolkit":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.1.3_1771407935689_0.19594463065275125","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@portabletext/markdown","version":"1.1.4","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.1.4","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"15460bc6aab1a46a496e7de719a74056bdaa5b08","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.1.4.tgz","fileCount":7,"integrity":"sha512-GgOqI0tWUdm5SrV5U33Uxrv/KvNgwl1s3Khr19x5pieopVASAGnbx0nkJGgso6pQTs1AhdCx2nclIr+mK+6W1Q==","signatures":[{"sig":"MEYCIQCdaF8XBzzF5OP+F6vdrg1dndVQ9Smb4p5I2CNhaMgR9QIhAKQPh0jg3KZmxy6+xWJqzj4ksq6QigrLsoWFpHud/f2V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193043},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.1.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/db95c996906f2878cc6d15dc596ade5b/portabletext-markdown-1.1.4.tgz","_integrity":"sha512-GgOqI0tWUdm5SrV5U33Uxrv/KvNgwl1s3Khr19x5pieopVASAGnbx0nkJGgso6pQTs1AhdCx2nclIr+mK+6W1Q==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.11.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"markdown-it":"^14.1.1","@portabletext/schema":"^2.1.1","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.1.4_1772628234333_0.47004863619194515","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@portabletext/markdown","version":"1.2.0","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.2.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"c7ae46847cd71cc5f0af6667545ff8dc85e9ef57","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.2.0.tgz","fileCount":7,"integrity":"sha512-D1fkDVFebLGtynXx96tFR1vCilOEbFenZyeGapcapZg5xN9raXYzTLIIiRbuF9af7viRiEsZPnJX5Cei8uzURw==","signatures":[{"sig":"MEUCIEjpeLU788E3TrVvzZ3vwIVputx2rSxeGBvkAsTa72b4AiEAmgDHqd9B8EFsgb0FiJYgvZkXxT+JERVrPy9zsdO/fkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200757},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/a2396a602a17ec879836d067f23efdbb/portabletext-markdown-1.2.0.tgz","_integrity":"sha512-D1fkDVFebLGtynXx96tFR1vCilOEbFenZyeGapcapZg5xN9raXYzTLIIiRbuF9af7viRiEsZPnJX5Cei8uzURw==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.12.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"markdown-it":"^14.1.1","@mdit/plugin-alert":"^0.23.1","@portabletext/schema":"^2.1.1","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.2.0_1774859377266_0.37527837227230854","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@portabletext/markdown","version":"1.3.0","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.3.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"8b9c4f887f5274574d9b634a37359ee19b18f99d","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.3.0.tgz","fileCount":7,"integrity":"sha512-9fqmgvMr+7D3CbyKLY4ATcteTx30HFokxi02hWoREJNRa+Bw6lUNU1lFEvsP5E7s3tjsJwi2obCw8SBVEiMb7Q==","signatures":[{"sig":"MEUCIQDllCTMg67zXxaAaNsEC0wX9gne/vDxodDXkKlFEeKqlgIgJ7U460EhuyN+t0PlKNCfbbRzHuY6LNlPYC2+t6XBSCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244764},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/799fb453c769386d2087b3630b64c51f/portabletext-markdown-1.3.0.tgz","_integrity":"sha512-9fqmgvMr+7D3CbyKLY4ATcteTx30HFokxi02hWoREJNRa+Bw6lUNU1lFEvsP5E7s3tjsJwi2obCw8SBVEiMb7Q==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.14.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"markdown-it":"^14.1.1","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.0","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.3.0_1779280215392_0.2782616606849211","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@portabletext/markdown","version":"1.3.1","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.3.1","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"df6e0eca3f58d8bb0b6c5914c7146009c515f6a6","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.3.1.tgz","fileCount":7,"integrity":"sha512-+RRqX+xYOnO6LnwXRi5VabP+Y/uM6z3LEwiioA2C1SK3nltUSMun3FWniDpYhsUFqcebpm6nmz2+/XSxL+xDYA==","signatures":[{"sig":"MEYCIQCAjoT/Ir/mDmUtaFndxfHu8gZ+FKR+kc1oPb8LJT4V2wIhAKGWfn41DdMk3KzjZ5Jlj0AQ+QdWzlapSh+fS48WFRdz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245309},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/2ac1aad766238d92c18c4a050f5247ae/portabletext-markdown-1.3.1.tgz","_integrity":"sha512-+RRqX+xYOnO6LnwXRi5VabP+Y/uM6z3LEwiioA2C1SK3nltUSMun3FWniDpYhsUFqcebpm6nmz2+/XSxL+xDYA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.15.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"markdown-it":"^14.1.1","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.0","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.3.1_1779868213904_0.47847965269389614","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@portabletext/markdown","version":"1.3.2","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.3.2","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"fcaa9428be5876379b683b41092986c5146509b4","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.3.2.tgz","fileCount":7,"integrity":"sha512-4hQmu9TqEP/XxWXXe+JWFNnU5nQ/toLKhxmMyyYMnsGqi80wbbXpT5l4vpsK2w+yNe0vi7vC4jRYcRVSXR5Y4w==","signatures":[{"sig":"MEUCIHAQTE8VL2KPI/3jGtSKG7XIgDJlg25o8q8lrmO4Cy8rAiEAkZ3uzRht8j1nWUEU377pVtaE70Yf8FXu/ATYB09RMPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247586},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.3.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/b141f7277f2b42c39386823a4ba39939/portabletext-markdown-1.3.2.tgz","_integrity":"sha512-4hQmu9TqEP/XxWXXe+JWFNnU5nQ/toLKhxmMyyYMnsGqi80wbbXpT5l4vpsK2w+yNe0vi7vC4jRYcRVSXR5Y4w==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.15.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"markdown-it":"^14.1.1","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.0","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.3.2_1779906944895_0.6848055213149207","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@portabletext/markdown","version":"1.4.0","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"d9b5a411d45305a87fce4687933a4697cad59b4e","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.0.tgz","fileCount":7,"integrity":"sha512-RRYqyK+c5Hm7nzrEkTMiSoHUybU9KefGIN6WxS16L+ki6ehYsPzyySXYxRN3lZL4/ti0qq2icI2S/NRVfCLc1Q==","signatures":[{"sig":"MEUCIQCJZ+Kw7HQ6EhXItlzLxuW07YmGbs3XHoWlPZK8tqCCuwIgCZopkezLwzahAj2R9W+8jxjZVHlslmnFEiuCavdoomg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":250879},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/a62dc4a829c41b1920160c8e0d78a115/portabletext-markdown-1.4.0.tgz","_integrity":"sha512-RRYqyK+c5Hm7nzrEkTMiSoHUybU9KefGIN6WxS16L+ki6ehYsPzyySXYxRN3lZL4/ti0qq2icI2S/NRVfCLc1Q==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.16.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.0","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.0_1780651398671_0.6012476043845936","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@portabletext/markdown","version":"1.4.1","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.1","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"0d36bf9960df88087657ce4d25cbd360435b8320","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.1.tgz","fileCount":7,"integrity":"sha512-MulxTDXRfy8fV0Hzdt6jyjs3jKGQ69b6cOlVLpbjeZUJNUHF84wQUvqqn5Qrqzo1cz9OB0JSYd0s5hWeHRR3gQ==","signatures":[{"sig":"MEUCIQCE3npO7JW4prp3lggj7i3E5W6nhVEv/v446AuJ3g+JvgIgfrG3Ibv3uSh4KlSPk8vXj2GH67Ps58lV/C3ZCGfgHlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":250879},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/890fbedfd6f350b2be9ca620a01dde61/portabletext-markdown-1.4.1.tgz","_integrity":"sha512-MulxTDXRfy8fV0Hzdt6jyjs3jKGQ69b6cOlVLpbjeZUJNUHF84wQUvqqn5Qrqzo1cz9OB0JSYd0s5hWeHRR3gQ==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.17.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.1","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.3","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.1_1781856926466_0.2829538110205285","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@portabletext/markdown","version":"1.4.2","keywords":["portable-text","markdown"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.2","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"189443e59d6be847b3cad153ec4d12f61ccea1b0","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.2.tgz","fileCount":7,"integrity":"sha512-CEXSfH12Gs/F7fiqNq0fCAdY8NLxbpzYs+eTgDiXM/L51grbWlfdAaVnmXXwGbxa3z5cySIoZP+M7EzTKsBfKA==","signatures":[{"sig":"MEUCID+SZP3+eKs+84YQOU7M10yRIlq7jKOuEs/sSWdObJzuAiEAtRwUuFB8UwcDvVxL0L52im1vAZ2MNpwgGp/Odj4eDTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":250879},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/21411903a3be89aa304748fae6df46af/portabletext-markdown-1.4.2.tgz","_integrity":"sha512-CEXSfH12Gs/F7fiqNq0fCAdY8NLxbpzYs+eTgDiXM/L51grbWlfdAaVnmXXwGbxa3z5cySIoZP+M7EzTKsBfKA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.17.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.2","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","typescript":"5.9.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.2.1","@portabletext/test":"^1.0.4","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.2_1782294101320_0.6289272847908338","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"@portabletext/markdown","version":"1.4.3","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.3","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"85f35d687f9904e49b33319c25705a05b936ed40","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.3.tgz","fileCount":7,"integrity":"sha512-UMMO9Ub/WvBwTrWHZtpCBPMDTCtav71pXe/hWcBJWFF5oQ6YD0g3LJqakbFDbLTsNrj1Yd09VMNFyzVyVoYHcg==","signatures":[{"sig":"MEYCIQCg9AH3P2GSQXnzIET/H2kVqtA2yao9unnT9wq/Yi5ctwIhAO3K1IByz0C2XbLcjFsz+mkH1kbbi7/0h8uWNKIKkWox","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244637},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/1eae99e3f241b0bd94567489fc962308/portabletext-markdown-1.4.3.tgz","_integrity":"sha512-UMMO9Ub/WvBwTrWHZtpCBPMDTCtav71pXe/hWcBJWFF5oQ6YD0g3LJqakbFDbLTsNrj1Yd09VMNFyzVyVoYHcg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.18.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.2","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.8.2","@portabletext/test":"^1.0.4","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.3_1783337376406_0.6935785619875312","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"@portabletext/markdown","version":"1.4.4","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.4","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"9584d4bf56dd178b85d5d29c4566f3cde22b291e","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.4.tgz","fileCount":7,"integrity":"sha512-XNzCKBHaZ9e/4cB5qI+mpZBSFYvWNwSft7EYQ90kIT1e7nm++rwcOmF6BEjlpMnkny72NAhhgVH5stmqO2Eykg==","signatures":[{"sig":"MEUCIQDvSKtBkh+SVVhQn89bO41yaeT/LSKhpBvkG2dQ1mjvGwIgP+XF2oXp0EAxAGekJ4SvWJ6DHE391kfL+nE7ozJ9hKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244638},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check --clean","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/22a906ad3c64c7239d1246acfcd15a14/portabletext-markdown-1.4.4.tgz","_integrity":"sha512-XNzCKBHaZ9e/4cB5qI+mpZBSFYvWNwSft7EYQ90kIT1e7nm++rwcOmF6BEjlpMnkny72NAhhgVH5stmqO2Eykg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.18.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.3","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.10","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^10.8.2","@portabletext/test":"^1.0.4","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.4_1783686993866_0.7455867346141725","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"@portabletext/markdown","version":"1.4.5","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.5","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"890628fcc3ad1d060885173625795a7b1b735cc5","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.5.tgz","fileCount":7,"integrity":"sha512-ETJTMuvKmteyjHTPHyIU3foO2CxKPfi6EL2kgT/AsH8mcRt7FWchRgFaO3pvGBlZoIk6Q5TXcvscpWmvJTReSA==","signatures":[{"sig":"MEMCIA6MR3YCOjBvevsvkAaVyOnCTEbujEi5loD/F61PcQ5CAh9LBsL5vJhHdPxcg/A82tsC2gg3OPP1rxyCZEambVX+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230675},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/eed88160e7d5b14d5f18bfbdd9604e78/portabletext-markdown-1.4.5.tgz","_integrity":"sha512-ETJTMuvKmteyjHTPHyIU3foO2CxKPfi6EL2kgT/AsH8mcRt7FWchRgFaO3pvGBlZoIk6Q5TXcvscpWmvJTReSA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"markdown-it":"^14.2.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.4","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.10","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.1.0","@portabletext/test":"^1.0.5","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.5_1786343734031_0.8871716060053674","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"@portabletext/markdown","version":"1.4.6","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.6","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"fa8a4fe3a8f9e92211defc368480bf1ae0d2542e","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.6.tgz","fileCount":7,"integrity":"sha512-53iW/VB6I0B+HmgrMm4z+sqLMu3u3cGZ4HUzcm80pHhl+deYoaKNSNY+0LjP8HvnLFFD+ZkHNa7kafelx7suoA==","signatures":[{"sig":"MEUCIQCDqN1lDvbeQ0mx/dLx5lnYYYws+xV3A8gYsXZqed/mWAIgXHLYMtGxZEj9SDZh/DArreeYDI2vrpwkN2sRc8VehEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230675},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/aa54b0bfe40946d32df0ed9e839cd9cd/portabletext-markdown-1.4.6.tgz","_integrity":"sha512-53iW/VB6I0B+HmgrMm4z+sqLMu3u3cGZ4HUzcm80pHhl+deYoaKNSNY+0LjP8HvnLFFD+ZkHNa7kafelx7suoA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.4","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.10","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.1.0","@portabletext/test":"^1.0.5","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.6_1786370222810_0.45823554834414515","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"@portabletext/markdown","version":"1.4.7","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.4.7","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"d699f3bd8f89a55ff5b40d3fc0fe2f9e1ecd0ebe","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.4.7.tgz","fileCount":7,"integrity":"sha512-lLU3DEj0hJ5V8pJA/3p3nSU5ZTCrI5xcOymychVkRG9HMP6WvL1m+Pfuu75smomYrwjsKczG+gaXcyxC5tBT/A==","signatures":[{"sig":"MEUCIFA29HIFrP7dyx1CqLfzMgllq/nPar2xKqDtOJZRLHMGAiEAlSpM0M5MQYDaXlhg/yYFYEGwufnvGUI6pFmjZxwK8gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233729},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.4.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/b2d10070f1f2bc20aa55c046b4807612/portabletext-markdown-1.4.7.tgz","_integrity":"sha512-lLU3DEj0hJ5V8pJA/3p3nSU5ZTCrI5xcOymychVkRG9HMP6WvL1m+Pfuu75smomYrwjsKczG+gaXcyxC5tBT/A==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.4","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.10","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.1.0","@portabletext/test":"^1.0.5","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.4.7_1786690190309_0.4092649947511411","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@portabletext/markdown","version":"1.5.0","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@1.5.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"62b4b55a727e9483a1bfc3507677d14df38ff7de","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-1.5.0.tgz","fileCount":7,"integrity":"sha512-TLlWrsLT6kXUeE4Fn6KWW+NMOBB/epT5qZiD92+15cJje6R7xmmQ/orCwViSicCiQ77t1/zwguilCUzdNB4XDA==","signatures":[{"sig":"MEUCIQDDkS/O6JXRRAWBR3S8tR4FTPin0q5EzmvGmZExgCQPtAIgSaCsf3QY5GL44Ud//Xto+E2TTao6cbDmKUCd4MLgUM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248614},"main":"./dist/index.js","type":"module","_from":"file:portabletext-markdown-1.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","lint:fix":"biome lint --write .","test:unit":"vitest --run --project unit","check:lint":"biome lint .","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/ada6a010fc6f8b8a558cfddcf420303e/portabletext-markdown-1.5.0.tgz","_integrity":"sha512-TLlWrsLT6kXUeE4Fn6KWW+NMOBB/epT5qZiD92+15cJje6R7xmmQ/orCwViSicCiQ77t1/zwguilCUzdNB4XDA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^2.2.4","@portabletext/toolkit":"^5.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.10","typescript":"6.0.3","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.1.0","@portabletext/test":"^1.0.5","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_1.5.0_1786972148930_0.5144283298180716","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@portabletext/markdown","version":"2.0.0","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.0.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"3c591edf5afe44ba4f15963b632640b05b590ac1","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.0.0.tgz","fileCount":7,"integrity":"sha512-epg5CYjVH2xbNqw9vdrY/BP4OOjkRxDTYZejVXx0nRlzFGR7KIlSXpoLX+aA34M6L7xNldb0UwjoPYQKY/jQeA==","signatures":[{"sig":"MEUCIHSxkkZ7AlphvL6rnQ9fHWGGtNMONGDHPe4EkNe27mNhAiEA9pWRGydMtMX/7x8GNBYf7okNKWgFbtN8Hp2vgt7aUA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":250848},"type":"module","_from":"file:portabletext-markdown-2.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/f07bfb8534b73869c798603797add425/portabletext-markdown-2.0.0.tgz","_integrity":"sha512-epg5CYjVH2xbNqw9vdrY/BP4OOjkRxDTYZejVXx0nRlzFGR7KIlSXpoLX+aA34M6L7xNldb0UwjoPYQKY/jQeA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.0","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.10","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@portabletext/test":"^2.0.0","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.0.0_1787648608023_0.721937813748158","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@portabletext/markdown","version":"2.1.0","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.1.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"d69c5d81dc50996d6912ccb591091e3d1bfb2681","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.1.0.tgz","fileCount":7,"integrity":"sha512-utbtGnLDI7s6seVX1e1zVe2Ux+Pr1/AVePzSE1t0G9IVHmkbq/QZKos+HpMHkn+Gf57g68ZKKXRYEnK242aqMQ==","signatures":[{"sig":"MEUCIA/qM7PucZNmvkIW9DJ8VnipoqIj38+VaaF79dGrBFERAiEA18BPuQujMpxhHNG7gQwPkDd1q57tzjIrRT2WoH6tnBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":396879},"type":"module","_from":"file:portabletext-markdown-2.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/cf361c34ff3e241f413d30fc37a56498/portabletext-markdown-2.1.0.tgz","_integrity":"sha512-utbtGnLDI7s6seVX1e1zVe2Ux+Pr1/AVePzSE1t0G9IVHmkbq/QZKos+HpMHkn+Gf57g68ZKKXRYEnK242aqMQ==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^5.0.2","markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@types/linkify-it":"^5.0.0","@portabletext/test":"^2.1.0","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.1.0_1788933934382_0.35870001520095673","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@portabletext/markdown","version":"2.2.0","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.2.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"0dd34eb77a169d81147870fd0c5032ab8212922d","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.2.0.tgz","fileCount":7,"integrity":"sha512-rvmbm/pPhu3vekjuo9p9F8UlplQGRQ2zWMCljEKvFe/FtLtkhG/qEOKeD1tQH3nbFpP4tSGeE13TxAfTq9qzEA==","signatures":[{"sig":"MEUCIQD/m3QA0QNu0MjkzlOyPUlBI8a046n8pzoDOOZMbIUyhQIgFT6eDBrGj+GwCa2SvqUtwj2oVN26dTL6+U3IjCA81lU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567547},"type":"module","_from":"file:portabletext-markdown-2.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/9f7869da0122040289a0613cb0e2317c/portabletext-markdown-2.2.0.tgz","_integrity":"sha512-rvmbm/pPhu3vekjuo9p9F8UlplQGRQ2zWMCljEKvFe/FtLtkhG/qEOKeD1tQH3nbFpP4tSGeE13TxAfTq9qzEA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^5.0.2","markdown-it":"^14.3.0","@mdit/plugin-alert":"^0.23.2","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0","@sanity/diff-match-patch":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@types/linkify-it":"^5.0.0","@portabletext/test":"^2.1.0","@types/markdown-it":"^14.1.2","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.2.0_1789386381152_0.5287397688165274","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@portabletext/markdown","version":"2.2.1","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.2.1","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"6b5568ba38f6e82c99eae8799f84f0da8251d2cc","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.2.1.tgz","fileCount":7,"integrity":"sha512-KHl4MP5w2JemxuzHZtLkiSSTbhw7kVi6NZ/2sfV61IGfjnlkJYWrkURzxRmvNcwO+vHBwYYtUm0paQkDymxScg==","signatures":[{"sig":"MEQCIArUt8E2ebWCHarNcr2XVgErg5o3iQ0+eBJmKK36DU37AiAovyuUHWtlSo4/x8OcgH6/UGaQ/JntcIkXzmueg191QQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDsx7paSbOYMzoRc8XBoKd25KSwKlKyRe6zmIS2LzkTdAiBxUDPNvFF0iujURvQEnbxaRGwUh1WLTodIIY8h6Msezw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568494},"type":"module","_from":"file:portabletext-markdown-2.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/4c2d9616db312fad2284b7e2e1389168/portabletext-markdown-2.2.1.tgz","_integrity":"sha512-KHl4MP5w2JemxuzHZtLkiSSTbhw7kVi6NZ/2sfV61IGfjnlkJYWrkURzxRmvNcwO+vHBwYYtUm0paQkDymxScg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^6.1.0","markdown-it":"^15.0.2","@mdit/plugin-alert":"^2.0.1","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0","@sanity/diff-match-patch":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@portabletext/test":"^2.1.0","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.2.1_1789649339589_0.9796399904326287","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@portabletext/markdown","version":"2.2.2","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.2.2","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"764ec6b711bd01f362d7abfc5f3c635f54a601fd","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.2.2.tgz","fileCount":7,"integrity":"sha512-iaHZOZWAdQ/2MBm460aBk582DbxS5YnUSqRGi+1NcA+u1LCZSXzwK16l+2b0Fk+lpB/e9fTtI6J3+q60sIwceQ==","signatures":[{"sig":"MEYCIQCARGwwmniknJVsdqivoUeZawYdh8kadks7G0KAVFrMlwIhAMkAn2d9ULP69DS2oV6YfRbrksXuL7I1v445yxImTeB1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC2UKQev7f2Swlu3c+vYemUmMzvq3NXGQ5JgkMZXjXRFgIgHIuJwNoPUXyEew4cRcMrfr4FNJQDYDvJJruenyBwVaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568494},"type":"module","_from":"file:portabletext-markdown-2.2.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/9c09610cf621270dcd88e92dfba3cbec/portabletext-markdown-2.2.2.tgz","_integrity":"sha512-iaHZOZWAdQ/2MBm460aBk582DbxS5YnUSqRGi+1NcA+u1LCZSXzwK16l+2b0Fk+lpB/e9fTtI6J3+q60sIwceQ==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^6.1.0","markdown-it":"^15.0.2","@mdit/plugin-alert":"^2.0.1","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0","@sanity/diff-match-patch":"^3.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@portabletext/test":"^2.1.0","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.2.2_1790003706866_0.07939260890237154","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@portabletext/markdown","version":"2.3.0","keywords":["markdown","portable-text"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@portabletext/markdown@2.3.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"homepage":"https://portabletext.org","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"a516599f9baf40839caf68292f0375f591c289ae","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.3.0.tgz","fileCount":7,"integrity":"sha512-FakrnH6rfpnMdEWyH82dkga4VYsfCtiTnuXoOTDbAPKdvmXAsX0PB31XjwlrTlb/ya2zJO1dVjmiZZj+H2IIfg==","signatures":[{"sig":"MEUCIFG1Ax5eC6E8pZv9laNSPcuEZFlK3ca2UBnEb4T7PF6/AiEA3RlomnvVMTrBUJOhuf72RSbNs1p6JrUqq0MuwK2gqCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAefGkVSdGWkwuAXpe/8aZI3u1yZOQEauROTTs7bKL17AiBUfgxSg/8EBxdrm2fylZ5Nl5qn2/gYC5HXgY9dBfP60g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609168},"type":"module","_from":"file:portabletext-markdown-2.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"_resolved":"/tmp/3310328dfd292afec60f65e67c176035/portabletext-markdown-2.3.0.tgz","_integrity":"sha512-FakrnH6rfpnMdEWyH82dkga4VYsfCtiTnuXoOTDbAPKdvmXAsX0PB31XjwlrTlb/ya2zJO1dVjmiZZj+H2IIfg==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.19.1","description":"Convert Portable Text to and from Markdown","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^6.1.0","markdown-it":"^15.0.2","@mdit/plugin-alert":"^2.0.1","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0","@sanity/diff-match-patch":"^3.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@portabletext/test":"^2.1.0","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/markdown_2.3.0_1790069201673_0.882319366467389","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"_id":"@portabletext/markdown@2.4.0","bugs":{"url":"https://github.com/portabletext/editor/issues"},"dist":{"shasum":"28c7e7b8c4bd1f2ad650cca547ae74caa9d26c8b","tarball":"https://registry.npmjs.org/@portabletext/markdown/-/markdown-2.4.0.tgz","fileCount":7,"integrity":"sha512-5oHjuBeQ5KMB3QmxVUHKuM2ZtNfGWwZWKIkjJan5ldzgpoADzA596/aOAsA02nWV0f9bZVV+q7TVCxH8xI32nA==","signatures":[{"sig":"MEUCIQC8d/5ritEr2T8jOUB3rj60M64b+Hq+cWU2tyAGpTEIgwIgPADNMk2TpFG4G0ZKi87EHYHb53XKP4KlV008uMq8n2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD4Jyt1OHkse63Py88dwxVetxyOdT7Yiv2uGfYKm2AktgIgDYG7CCPsy4shSP0TG6lKOkLiwPTAj7sRPQNah46738M="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@portabletext%2fmarkdown@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616364},"name":"@portabletext/markdown","type":"module","_from":"file:portabletext-markdown-2.4.0.tgz","types":"./dist/index.d.ts","author":{"name":"Sanity.io","email":"hello@sanity.io"},"engines":{"node":">=22.12"},"exports":{".":"./dist/index.js","./package.json":"./package.json"},"license":"MIT","scripts":{"dev":"pkg-utils watch","test":"vitest --run","build":"pkg-utils build --strict --check","clean":"del .turbo && del dist && del node_modules","test:unit":"vitest --run --project unit","test:watch":"vitest","check:types":"tsc","test:unit:watch":"vitest --project unit","check:types:watch":"tsc --watch"},"version":"2.4.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:527fea0a-0e9c-466e-aed0-3f5158b9c8c5"}},"homepage":"https://portabletext.org","keywords":["markdown","portable-text"],"_resolved":"/tmp/b597e841d12725bd2ea141b2a30a0758/portabletext-markdown-2.4.0.tgz","_integrity":"sha512-5oHjuBeQ5KMB3QmxVUHKuM2ZtNfGWwZWKIkjJan5ldzgpoADzA596/aOAsA02nWV0f9bZVV+q7TVCxH8xI32nA==","repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"_npmVersion":"11.20.0","description":"Convert Portable Text to and from Markdown","directories":{},"maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"linkify-it":"^6.1.0","markdown-it":"^15.0.2","@mdit/plugin-alert":"^2.0.1","@portabletext/schema":"^3.0.0","@portabletext/toolkit":"^6.0.0","@sanity/diff-match-patch":"^3.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vitest":"^4.1.11","typescript":"^7.0.2","@sanity/tsconfig":"^2.1.0","@sanity/pkg-utils":"^12.3.0","@portabletext/test":"^2.1.0","@portabletext/types":"^4.0.2"},"inlinedDependencies":{"@portabletext/types":"4.0.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/markdown_2.4.0_1790260173812_0.6590811039266706"}}},"time":{"created":"2025-12-03T11:59:57.605Z","modified":"2026-09-24T14:29:34.296Z","1.0.0":"2025-12-03T11:59:57.860Z","1.0.1":"2025-12-03T13:09:49.028Z","1.0.2":"2025-12-03T13:32:59.838Z","1.0.3":"2025-12-03T15:52:31.060Z","1.0.4":"2025-12-09T12:13:55.024Z","1.0.5":"2025-12-10T09:35:35.092Z","1.0.6":"2025-12-11T10:32:29.187Z","1.0.7":"2025-12-11T11:30:21.547Z","1.0.8":"2025-12-16T07:37:01.781Z","1.1.0":"2025-12-16T15:37:49.993Z","1.1.1":"2025-12-16T17:04:15.295Z","1.1.2":"2026-01-05T11:11:57.489Z","1.1.3":"2026-02-18T09:45:35.837Z","1.1.4":"2026-03-04T12:43:54.472Z","1.2.0":"2026-03-30T08:29:37.432Z","1.3.0":"2026-05-20T12:30:15.557Z","1.3.1":"2026-05-27T07:50:14.038Z","1.3.2":"2026-05-27T18:35:45.034Z","1.4.0":"2026-06-05T09:23:18.823Z","1.4.1":"2026-06-19T08:15:26.602Z","1.4.2":"2026-06-24T09:41:41.464Z","1.4.3":"2026-07-06T11:29:36.568Z","1.4.4":"2026-07-10T12:36:34.011Z","1.4.5":"2026-08-10T06:35:34.173Z","1.4.6":"2026-08-10T13:57:02.963Z","1.4.7":"2026-08-14T06:49:50.457Z","1.5.0":"2026-08-17T13:09:09.069Z","2.0.0":"2026-08-25T09:03:28.166Z","2.1.0":"2026-09-09T06:05:34.539Z","2.2.0":"2026-09-14T11:46:21.291Z","2.2.1":"2026-09-17T12:48:59.687Z","2.2.2":"2026-09-21T15:15:07.030Z","2.3.0":"2026-09-22T09:26:41.777Z","2.4.0":"2026-09-24T14:29:33.906Z"},"bugs":{"url":"https://github.com/portabletext/editor/issues"},"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","homepage":"https://portabletext.org","keywords":["markdown","portable-text"],"repository":{"url":"git+https://github.com/portabletext/editor.git","type":"git","directory":"packages/markdown"},"description":"Convert Portable Text to and from Markdown","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"josef-sanity","email":"josef.hlavacek@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"christianhg","email":"services@groengaard.dk"}],"readme":"# `@portabletext/markdown`\n\n> Convert Portable Text to Markdown and back again\n\n## Installation\n\n```bash\nnpm install @portabletext/markdown\n```\n\n## Quick start\n\n**Markdown → Portable Text**\n\n```ts\nimport {markdownToPortableText} from '@portabletext/markdown'\n\nconst blocks = markdownToPortableText('# Hello **world**')\n```\n\n```json\n[\n  {\n    \"_type\": \"block\",\n    \"_key\": \"f4s8k2\",\n    \"style\": \"h1\",\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"a9c3x1\", \"text\": \"Hello \", \"marks\": []},\n      {\"_type\": \"span\", \"_key\": \"b7d2m5\", \"text\": \"world\", \"marks\": [\"strong\"]}\n    ],\n    \"markDefs\": []\n  }\n]\n```\n\n**Portable Text → Markdown**\n\n```ts\nimport {portableTextToMarkdown} from '@portabletext/markdown'\n\nconst markdown = portableTextToMarkdown([\n  {\n    _type: 'block',\n    _key: 'f4s8k2',\n    style: 'h1',\n    children: [\n      {_type: 'span', _key: 'a9c3x1', text: 'Hello ', marks: []},\n      {_type: 'span', _key: 'b7d2m5', text: 'world', marks: ['strong']},\n    ],\n    markDefs: [],\n  },\n])\n```\n\n```md\n# Hello **world**\n```\n\n**Edit through Markdown without losing keys**\n\n```ts\nimport {applyMarkdownEdit, portableTextToMarkdown} from '@portabletext/markdown'\n\nconst markdown = portableTextToMarkdown(stored)\nconst editedMarkdown = markdown.replace('tomorow', 'tomorrow')\nconst edited = applyMarkdownEdit(stored, editedMarkdown)\n// same content as parsing editedMarkdown, with the stored `_key`s\n// kept the way the same edit in an editor would have kept them\n```\n\n## Supported features\n\n| Feature          | Markdown → Portable Text | Portable Text → Markdown |\n| ---------------- | ------------------------ | ------------------------ |\n| Headings (h1–h6) | ✅                       | ✅                       |\n| Paragraphs       | ✅                       | ✅                       |\n| Bold             | ✅                       | ✅                       |\n| Italic           | ✅                       | ✅                       |\n| Inline code      | ✅                       | ✅                       |\n| Strikethrough    | ✅                       | ✅                       |\n| Links            | ✅                       | ✅                       |\n| Blockquotes      | ✅                       | ✅                       |\n| Ordered lists    | ✅                       | ✅                       |\n| Unordered lists  | ✅                       | ✅                       |\n| Task lists       | ✅                       | ✅                       |\n| Nested lists     | ✅                       | ✅                       |\n| Code blocks      | ✅                       | ✅                       |\n| Horizontal rules | ✅                       | ✅                       |\n| Images           | ✅                       | ✅                       |\n| Tables           | ✅                       | ✅                       |\n| HTML blocks      | ✅                       | ✅                       |\n| Callouts         | ✅                       | ✅                       |\n\n## Round-trip behavior\n\nConverting Markdown to Portable Text and back isn't a lossless mirror:\n\n1. Translation preserves semantics, not source spelling: the first MD→PT→MD pass normalizes Markdown to one canonical spelling (autolinks become inline links, indented code becomes fenced code, soft-wrapped lines join into one, and so on).\n2. The normalized Markdown is a fixpoint for plain text and the [Supported features](#supported-features) table: parsing it and serializing again reproduces it byte-for-byte.\n3. MD→PT survival is schema-driven: a construct whose type the schema doesn't declare keeps its content and drops the structure that named it.\n4. PT structures with no Markdown form degrade predictably on PT→MD (extra table header rows flatten into the body, deep or level-skipping lists collapse to relative nesting, unknown marks pass their text through unformatted). Unknown object types round-trip instead: block-level as a ` ```json:object ` fence, inline as a `json:object`-tagged code span, both carrying the value as JSON. A fence or span whose body isn't a JSON object with a `_type` is ordinary code.\n5. Identity does not round-trip for text blocks: keys are regenerated on every parse, and adjacent spans with identical marks merge into one. Unknown objects keep their `_key`. [`applyMarkdownEdit`](#applymarkdownedit) restores stored keys after an edit.\n6. A hard break and a `\\n` in a span's text are exclusive counterparts in both directions: a `\\n` always renders as hard-break syntax on the way out, and hard-break syntax always becomes `\\n` on the way in, never the space a soft wrap joins with.\n\nThe named exceptions to the fixpoint claim: an explicit-scheme URL or email keeps its text but gains a `link` mark on reparse, and a fuzzy `www.` form does too unless it carries markdown-significant punctuation; a hard break inside a heading splits into a second block on reparse, since an ATX heading is single-line; leading or trailing whitespace that CommonMark's own block parsing trims isn't part of the fixpoint; a `code` object with the reserved language `json:object` loses that language on serialization; and span text ending in `json:object` directly before a code-marked span holding a typed JSON object binds into an inline object on reparse.\n\nSee [Markdown round-tripping](https://www.portabletext.org/conversion/markdown-round-tripping/) on the docs site for the full contract and worked examples.\n\n## Usage\n\n<!-- The schema table, matcher table, and supported-features table have\n     condensed twins on the docs site\n     (apps/docs/src/content/docs/conversion/markdown-to-portable-text.mdx).\n     Keep them in sync: a claim corrected in one place is stale in the\n     other. The Round-trip behavior section above is a summary of\n     apps/docs/src/content/docs/conversion/markdown-round-tripping.mdx,\n     which is canonical; keep the two in sync the same way. -->\n\n### `markdownToPortableText`\n\n```ts\nimport {markdownToPortableText} from '@portabletext/markdown'\n\nconst blocks = markdownToPortableText(`\n# Hello World\n\nThis is **bold** and *italic* text with a [link](https://example.com).\n\n- First item\n- Second item\n`)\n```\n\n```json\n[\n  {\n    \"_type\": \"block\",\n    \"_key\": \"k9f2x1\",\n    \"style\": \"h1\",\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"s1a2b3\", \"text\": \"Hello World\", \"marks\": []}\n    ],\n    \"markDefs\": []\n  },\n  {\n    \"_type\": \"block\",\n    \"_key\": \"m3n4p5\",\n    \"style\": \"normal\",\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"s2c3d4\", \"text\": \"This is \", \"marks\": []},\n      {\"_type\": \"span\", \"_key\": \"s3e4f5\", \"text\": \"bold\", \"marks\": [\"strong\"]},\n      {\"_type\": \"span\", \"_key\": \"s4g5h6\", \"text\": \" and \", \"marks\": []},\n      {\"_type\": \"span\", \"_key\": \"s5i6j7\", \"text\": \"italic\", \"marks\": [\"em\"]},\n      {\"_type\": \"span\", \"_key\": \"s6k7l8\", \"text\": \" text with a \", \"marks\": []},\n      {\"_type\": \"span\", \"_key\": \"s7m8n9\", \"text\": \"link\", \"marks\": [\"a1b2c3\"]},\n      {\"_type\": \"span\", \"_key\": \"s8o9p0\", \"text\": \".\", \"marks\": []}\n    ],\n    \"markDefs\": [\n      {\"_type\": \"link\", \"_key\": \"a1b2c3\", \"href\": \"https://example.com\"}\n    ]\n  },\n  {\n    \"_type\": \"block\",\n    \"_key\": \"q1r2s3\",\n    \"style\": \"normal\",\n    \"listItem\": \"bullet\",\n    \"level\": 1,\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"s9q0r1\", \"text\": \"First item\", \"marks\": []}\n    ],\n    \"markDefs\": []\n  },\n  {\n    \"_type\": \"block\",\n    \"_key\": \"t4u5v6\",\n    \"style\": \"normal\",\n    \"listItem\": \"bullet\",\n    \"level\": 1,\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"s0s1t2\", \"text\": \"Second item\", \"marks\": []}\n    ],\n    \"markDefs\": []\n  }\n]\n```\n\nThe conversion is driven by two concepts:\n\n- **Schema**: Defines what Portable Text types are available (styles, lists, decorators, annotations, block objects). The library only outputs types that exist in the schema.\n- **Matchers**: Control how Markdown elements map to schema types. For example, the `h1` matcher maps `# Heading` to the `'h1'` style.\n\nOut of the box, the library includes sensible defaults for both. Customize them to match your content model.\n\n### Schema configuration\n\nThe default schema includes the following definitions:\n\n| Type            | Values                                                                                                                                                                                                                                                                       |\n| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `styles`        | `'normal'`, `'h1'`, `'h2'`, `'h3'`, `'h4'`, `'h5'`, `'h6'`, `'blockquote'`                                                                                                                                                                                                   |\n| `lists`         | `'number'`, `'bullet'`, `'task'`                                                                                                                                                                                                                                             |\n| `decorators`    | `'strong'`, `'em'`, `'code'`, `'strike-through'`                                                                                                                                                                                                                             |\n| `annotations`   | `'link'` (fields: `'href'`, `'title'`)                                                                                                                                                                                                                                       |\n| `blockObjects`  | `'code'` (fields: `'language'`, `'code'`), `'image'` (fields: `'src'`, `'alt'`, `'title'`), `'horizontal-rule'`, `'html'` (fields: `'html'`), `'table'` (the canonical nested shape, see [Default behavior](#default-behavior)), `'callout'` (fields: `'tone'`, `'content'`) |\n| `inlineObjects` | `'image'` (fields: `'src'`, `'alt'`, `'title'`)                                                                                                                                                                                                                              |\n\nTo use a custom Schema, import `compileSchema` and `defineSchema` from `@portabletext/schema`:\n\n```ts\nimport {compileSchema, defineSchema} from '@portabletext/schema'\n\nmarkdownToPortableText(markdown, {\n  schema: compileSchema(\n    defineSchema({\n      styles: [{name: 'normal'}, {name: 'heading 1'}],\n    }),\n  ),\n})\n```\n\nTo use a Sanity schema, use `@portabletext/sanity-bridge` to convert it to a Portable Text Schema first:\n\n```ts\nimport {sanitySchemaToPortableTextSchema} from '@portabletext/sanity-bridge'\n\n// Convert a Sanity block array schema to a Portable Text schema\nconst schema = sanitySchemaToPortableTextSchema(sanityBlockArraySchema)\n\nmarkdownToPortableText(markdown, {schema})\n```\n\n### Matchers\n\nMatchers map Markdown concepts to Portable Text types defined in the Schema. Each default matcher checks if a type exists in the schema and returns the appropriate value.\n\n| Group      | Matcher          | Markdown                | Maps to schema type |\n| ---------- | ---------------- | ----------------------- | ------------------- |\n| `block`    | `normal`         | Paragraphs              | `'normal'`          |\n|            | `h1`–`h6`        | `#` – `######` headings | `'h1'`–`'h6'`       |\n|            | `blockquote`     | `>` blockquotes         | `'blockquote'`      |\n| `listItem` | `bullet`         | `- ` or `* ` lists      | `'bullet'`          |\n|            | `number`         | `1. ` ordered lists     | `'number'`          |\n|            | `task`           | `- [ ]` / `- [x]` items | `'task'`            |\n| `marks`    | `strong`         | `**bold**`              | `'strong'`          |\n|            | `em`             | `*italic*`              | `'em'`              |\n|            | `code`           | `` `inline code` ``     | `'code'`            |\n|            | `strikeThrough`  | `~~strikethrough~~`     | `'strike-through'`  |\n|            | `link`           | `[text](url \"title\")`   | `'link'`            |\n| `types`    | `code`           | Fenced code blocks      | `'code'`            |\n|            | `horizontalRule` | `---`                   | `'horizontal-rule'` |\n|            | `image`          | `![alt](src)`           | `'image'`           |\n|            | `html`           | HTML blocks             | `'html'`            |\n|            | `callout`        | `> [!NOTE]`, etc.       | `'callout'`         |\n|            | `table`          | GFM pipe tables         | `'table'`           |\n|            | `blockquote`\\*   | `>` blockquotes         | `'blockquote'`      |\n|            | `list`\\*         | `- ` or `1. ` lists     | `'list'`            |\n\n\\* Opt-in, not registered by default: `blockquote` and `list` map onto structural container shapes, and the parser only produces those shapes when you register the matcher (see [Configuring matchers](#configuring-matchers)). Without them, blockquotes and lists parse to flat text blocks, which is the standard Portable Text shape for both, not a degraded fallback.\n\n#### Default behavior\n\n**Tables** (GFM pipe tables) convert by default, in the canonical shape `@portabletext/plugin-table` expects: a `table` block object (`headerRows`, `rows`), each row a `row` object (`cells`), each cell a `cell` object (`value`, an array of Portable Text blocks; a cell holding a single image becomes a standalone block-level `image` object instead of a text block wrapping it). `alignment` is a `@portabletext/markdown` extension field; `@portabletext/plugin-table` ignores it. This needs no configuration when the schema declares a `table` block object with a `rows` field (see `blockObjects` above). A schema whose `table` doesn't declare `rows`, or that doesn't declare `table` at all, produces no table object at all: the table's cell content flattens into top-level blocks, in reading order, and the table structure is discarded.\n\n**Images** are handled based on context:\n\n- Standalone images (a paragraph containing only an image) become block-level `'image'` objects\n- Images mixed with text become inline `'image'` objects (if the schema includes `'image'` in `inlineObjects`)\n- If neither is supported, falls back to plain text: `![alt](src)`\n\nThe default image matcher requires the schema type to have a `'src'` field. If your `'image'` type doesn't include this field, the matcher returns `undefined`.\n\n**Code** is handled based on the Markdown syntax:\n\n- Fenced code blocks (` ``` `) become `'code'` block objects with `language` and `code` fields\n- Inline code (`` ` ``) applies the `'code'` decorator to a span\n\nThe default code block matcher requires the schema type to have a `'code'` field. If your `'code'` type doesn't include this field, the matcher returns `undefined`.\n\n**Links** support optional titles using `[text](url \"title\")` syntax. The title is captured in the `'title'` field of the `'link'` annotation.\n\n**Line breaks**: soft-wrapped lines within a paragraph join with a single space; a hard break (two or more trailing spaces, or a backslash, before the newline) becomes a line break within the block.\n\n**Nested lists** are handled automatically. Each list item block includes a `level` property indicating its nesting depth (1 for top-level, 2 for nested, etc.).\n\n**HTML blocks** (like `<div>...</div>`) become `'html'` block objects with the raw HTML in the `'html'` field. Inline HTML is controlled by the `html.inline` option.\n\n**Callouts** use the `> [!TYPE]` syntax (GFM alerts) where `TYPE` is one of `NOTE`, `TIP`, `WARNING`, `CAUTION`, or `IMPORTANT`. They become `'callout'` block objects with a `'tone'` field (the lowercased type name) and a `'content'` field (an array of Portable Text blocks). When the schema doesn't include a `'callout'` block object, the content falls back to blockquote-styled blocks.\n\n#### Configuring matchers\n\nYou can provide custom matchers to change how Markdown maps to your schema.\n\n**Custom heading style:** If your schema uses `'heading 1'` instead of `'h1'`:\n\n```ts\nmarkdownToPortableText(markdown, {\n  schema: compileSchema(\n    defineSchema({\n      // Your schema including a 'heading 1' style\n    }),\n  ),\n  block: {\n    h1: ({context}) => {\n      // Check if 'heading 1' exists in the schema\n      const style = context.schema.styles.find((s) => s.name === 'heading 1')\n      return style?.name\n    },\n  },\n})\n```\n\n> **Note:** Checking if the type exists in the schema isn't required, but it's good practice. Returning `undefined` skips unsupported types.\n\n**Table matcher:** GFM pipe tables convert by default (see [Default behavior](#default-behavior)). Provide your own matcher to map onto a differently-shaped `table` type:\n\n```ts\nmarkdownToPortableText(markdown, {\n  types: {\n    table: ({context, value}) => {\n      const tableType = context.schema.blockObjects.find(\n        (obj) => obj.name === 'table',\n      )\n      if (!tableType) return undefined\n\n      return {\n        _type: 'table',\n        _key: context.keyGenerator(),\n        rows: value.rows,\n        headerRows: value.headerRows,\n      }\n    },\n  },\n})\n```\n\n**List matcher:** By default, lists are emitted as flat text blocks with `listItem` and `level` fields, and adjacent blocks form a list at render time. If your schema models lists as a structural block-object instead (a `list` type with an `items` array holding `list-item` objects, each with a `content` array), provide a `types.list` matcher to opt into that shape:\n\n```ts\nmarkdownToPortableText(markdown, {\n  schema: schemaWithList,\n  types: {\n    list: ({context, value}) => ({\n      _type: 'list',\n      _key: context.keyGenerator(),\n      kind: value.kind, // 'bullet' | 'number' | 'task'\n      items: value.items, // each item: {_type, _key, checked?, content: [...]}\n    }),\n  },\n})\n```\n\nThe matcher receives `value.items` already assembled. Each item's `content` array holds whatever blocks the markdown produced inside the item: text blocks, code blocks, callouts, images, even nested lists. `kind` is promoted to `'task'` automatically when any item carries a GFM checkbox (`- [ ]` / `- [x]`); items only carry a `checked` field when the markdown actually has one. If the matcher returns `undefined`, the parser falls back to flat-list parsing for that list.\n\nWithout `types.list`, the existing flat-block path runs unchanged.\n\n**GFM task lists** (`- [ ]` / `- [x]`): Task lists are recognized when the schema declares a `task` list item; the default schema does, so task lists parse zero-config. Without a `task` definition (a custom schema that omits it), the checkbox markers are stripped from the text and the items render as their surrounding list type (bullet or number). With a `task` definition, items carrying a checkbox become text blocks with `listItem: 'task'` and a `checked: boolean` field; items without a checkbox keep their surrounding list type.\n\n```ts\nmarkdownToPortableText('- [x] done\\n- [ ] todo', {\n  schema: compileSchema(\n    defineSchema({\n      lists: [{name: 'bullet'}, {name: 'task'}],\n    }),\n  ),\n})\n// → [\n//   {_type: 'block', listItem: 'task', level: 1, checked: true,  children: [{text: 'done', ...}], ...},\n//   {_type: 'block', listItem: 'task', level: 1, checked: false, children: [{text: 'todo', ...}], ...},\n// ]\n```\n\nIf your schema uses a different name for the task list type (e.g. `'todo'`), provide a custom `listItem.task` matcher:\n\n```ts\nmarkdownToPortableText(markdown, {\n  schema: compileSchema(defineSchema({lists: [{name: 'todo'}]})),\n  listItem: {\n    task: ({context}) =>\n      context.schema.lists.find((list) => list.name === 'todo')?.name,\n  },\n})\n```\n\nWhen emitting Portable Text back to Markdown, blocks with `listItem: 'task'` render as `- [x] ` or `- [ ] ` based on the `checked` field.\n\n**Blockquote matcher:** By default, blockquotes are emitted as flat text blocks with `style: 'blockquote'`, and adjacent blocks form a visual blockquote at render time. If your schema models a blockquote as a structural block-object instead (a `blockquote` type with a `content` array), provide a `types.blockquote` matcher to opt into that shape:\n\n```ts\nmarkdownToPortableText(markdown, {\n  schema: schemaWithBlockquote,\n  types: {\n    blockquote: ({context, value}) => ({\n      _type: 'blockquote',\n      _key: context.keyGenerator(),\n      content: value.content, // array of blocks the markdown produced inside the blockquote\n    }),\n  },\n})\n```\n\nThe matcher receives `value.content` already assembled. The array holds whatever blocks the markdown produced inside the blockquote: text blocks, code blocks, images, even nested blockquotes. GFM alerts (`> [!NOTE]`, `> [!TIP]`, etc.) use a different token stream and produce callouts instead, so `types.blockquote` and `types.callout` can be registered side-by-side without conflict.\n\nIf the matcher returns `undefined`, the parser falls back to flat-style by re-emitting the content blocks with `style: 'blockquote'`.\n\nWithout `types.blockquote`, the existing flat-block path runs unchanged.\n\nMatchers receive:\n\n- `context.schema` – the compiled schema to validate against\n- `context.keyGenerator` – function to generate unique keys\n- `value` – the parsed Markdown data (structure depends on the matcher type)\n- `isInline` – whether the element appears inline (for `ObjectMatcher` only)\n\nReturn `undefined` to skip the element (e.g., if the type isn't in the schema).\n\n#### Other options\n\n```ts\nmarkdownToPortableText(markdown, {\n  // Custom key generator for blocks and spans\n  keyGenerator: () => nanoid(),\n\n  // Configure how inline HTML is handled (default: 'skip')\n  html: {\n    inline: 'skip' | 'text', // 'skip' ignores inline HTML, 'text' converts it to plain text\n  },\n})\n```\n\n#### Reporting degradation\n\nEvery construct the schema can't represent (a decorator not in the schema, a table with no `table` block object, a task checkbox with no `task` list, and so on) degrades to a lossier shape rather than throwing. A ` ```json:object ` fence or tagged code span that fails to reconstruct (invalid JSON, or no string `_type`) reports too, as `object-carrier-invalid`, even on a schema that would otherwise accept everything: it's the payload that's unusable, not the schema. `onDegradation` observes both, one callback covering all uses. Left unset, the conversion stays silent and returns the lossiest representation it can build, since a library shouldn't log on its own initiative. Passed a function, observe the losses: it's called once, after the whole document has been walked, only when at least one construct degraded, with a report object holding every `Degradation` in encounter order and a canonical grouped `message`. Enforce against lossy output by throwing your own error from inside that callback; the throw propagates out of `markdownToPortableText`.\n\n```ts\nmarkdownToPortableText(markdown, {\n  onDegradation: ({degradations, message}) => {\n    // degradations: every Degradation, in encounter order\n    // message: the same degradations grouped, snippeted, and sorted by line\n    logger.warn(message)\n  },\n})\n```\n\nEach `Degradation` carries `type`, a human-readable `message`, `line` when a source line is available, and `snippet` (the offending construct's text, truncated to 40 characters) when there's a specific piece of source text to quote. Match on `type`, not `message`: the type is the stable contract, the message can change between releases.\n\nEnforcing means throwing your own error from inside the callback:\n\n```ts\nmarkdownToPortableText('# heading\\n\\n**bold**', {\n  schema: compileSchema(defineSchema({})),\n  onDegradation: ({message}) => {\n    throw new Error(message)\n  },\n})\n// throws Error:\n// Markdown could not be converted without loss:\n// - line 1: `#` heading became a normal paragraph: the schema has no `h1` style (\"heading\")\n// - line 3: Removed bold formatting, kept the text: the schema has no `strong` decorator (\"bold\")\n```\n\nRepeated declines of the same kind (the same missing decorator on three spans, say) collapse into one line of `message` instead of repeating the sentence: `- Removed bold formatting, kept the text: the schema has no \\`strong\\` decorator (3×: \"a\", \"b\", \"c\")`. `degradations` stays ungrouped, one entry per occurrence.\n\n### `portableTextToMarkdown`\n\n```ts\nimport {portableTextToMarkdown} from '@portabletext/markdown'\n\nconst markdown = portableTextToMarkdown([\n  {\n    _type: 'block',\n    _key: 'k9f2x1',\n    style: 'h1',\n    children: [{_type: 'span', _key: 's1a2b3', text: 'Hello World', marks: []}],\n    markDefs: [],\n  },\n  {\n    _type: 'block',\n    _key: 'm3n4p5',\n    style: 'normal',\n    children: [\n      {_type: 'span', _key: 's2c3d4', text: 'This is ', marks: []},\n      {_type: 'span', _key: 's3e4f5', text: 'bold', marks: ['strong']},\n      {_type: 'span', _key: 's4g5h6', text: ' and ', marks: []},\n      {_type: 'span', _key: 's5i6j7', text: 'italic', marks: ['em']},\n      {_type: 'span', _key: 's6k7l8', text: ' text with a ', marks: []},\n      {_type: 'span', _key: 's7m8n9', text: 'link', marks: ['a1b2c3']},\n      {_type: 'span', _key: 's8o9p0', text: '.', marks: []},\n    ],\n    markDefs: [{_type: 'link', _key: 'a1b2c3', href: 'https://example.com'}],\n  },\n  {\n    _type: 'block',\n    _key: 'q1r2s3',\n    style: 'normal',\n    listItem: 'bullet',\n    level: 1,\n    children: [{_type: 'span', _key: 's9q0r1', text: 'First item', marks: []}],\n    markDefs: [],\n  },\n  {\n    _type: 'block',\n    _key: 't4u5v6',\n    style: 'normal',\n    listItem: 'bullet',\n    level: 1,\n    children: [{_type: 'span', _key: 's0s1t2', text: 'Second item', marks: []}],\n    markDefs: [],\n  },\n])\n```\n\n```md\n# Hello World\n\nThis is **bold** and _italic_ text with a [link](https://example.com).\n\n- First item\n- Second item\n```\n\nThe conversion is driven by **Renderers**: functions that render Portable Text elements to Markdown strings. The library includes default renderers for common types; provide your own for custom block types.\n\n#### Default renderers\n\n| Group               | Renderer          | Renders                           | Output                   |\n| ------------------- | ----------------- | --------------------------------- | ------------------------ |\n| `types`             | `callout`         | `callout` block objects           | `> [!TYPE]\\n> content`   |\n|                     | `code`            | `code` block objects              | Fenced code block        |\n|                     | `horizontal-rule` | `horizontal-rule` block objects   | `---`                    |\n|                     | `html`            | `html` block objects              | Raw HTML                 |\n|                     | `image`           | `image` block/inline objects      | `![alt](src \"title\")`    |\n|                     | `table`           | `table` block objects             | Markdown table           |\n| `block`             | `normal`          | Paragraphs                        | `{children}`             |\n|                     | `h1`–`h6`         | Headings                          | `# `–`###### `           |\n|                     | `blockquote`      | Blockquotes                       | `> {children}`           |\n| `marks`             | `strong`          | Bold text                         | `**{children}**`         |\n|                     | `em`              | Italic text                       | `_{children}_`           |\n|                     | `code`            | Inline code                       | `` `{children}` ``       |\n|                     | `underline`       | Underlined text                   | `<u>{children}</u>`      |\n|                     | `strike-through`  | Strikethrough                     | `~~{children}~~`         |\n|                     | `link`            | Links                             | `[{children}](url)`      |\n| `listItem`          |                   | List items (bullet, number, task) | `- `, `1. `, or `- [x] ` |\n| `hardBreak`         |                   | Line breaks within blocks         | `  \\n` (two spaces)      |\n| `blockSpacing`      |                   | Spacing between blocks            | `\\n\\n`, `\\n`, `\\n>\\n`    |\n| `unknownType`       |                   | Unknown block types               | JSON code block          |\n| `unknownBlockStyle` |                   | Unknown block styles              | `{children}`             |\n| `unknownListItem`   |                   | Unknown list item types           | `- {children}`           |\n| `unknownMark`       |                   | Unknown marks                     | `{children}`             |\n\nUnknown types render as JSON code blocks by default; unknown styles, list items, and marks pass through their children.\n\nThe default type renderers are collision-safe: because the serializer dispatches on the `_type` name alone, `code`, `html`, `image`, `callout`, and `table` fall back to the `unknownType` renderer (a JSON code block) when a value doesn't match the shape their renderer expects (say, your own differently-shaped `code` type); `horizontal-rule` has no shape to check and always renders `---`. `image` also falls back when `src` is a string a Markdown parser would refuse (a `javascript:`/`vbscript:`/`file:` URI, or a `data:` URI outside `png`/`gif`/`jpeg`/`webp`), so the value survives as a `json:object` fence instead of reparsing as literal text. Register your own `types.<name>` renderer to override how any of them serialize, or to handle a same-named type of a different shape.\n\n> **Note:** The `underline` renderer is included for Portable Text that uses it, but there's no standard Markdown syntax for underline, so it renders as HTML.\n\n#### Configuring renderers\n\nProvide custom renderers to control how Portable Text renders to Markdown.\n\n**Custom type renderers:** Render custom block types (objects in the blocks array). A custom renderer under a default's name (see [Default renderers](#default-renderers)) replaces that default:\n\n```ts\nportableTextToMarkdown(blocks, {\n  types: {\n    // Render a custom \"chart\" block object\n    chart: ({value}) => `![${value.title}](${value.imageUrl})`,\n  },\n})\n```\n\n**Custom block styles:** Override how block styles render:\n\n```ts\nportableTextToMarkdown(blocks, {\n  block: {\n    // Use ATX-style heading with closing hashes\n    h1: ({children}) => `# ${children} #`,\n    // Use HTML for blockquotes\n    blockquote: ({children}) => `<blockquote>${children}</blockquote>`,\n  },\n})\n```\n\n**Built-in type renderers:** the library exports every built-in type renderer, in case you want to compose one into a different renderer or reuse it under a different type name. Two of them are exported but not registered by default: `DefaultBlockquoteObjectRenderer` and `DefaultListRenderer` render the structural container shapes (`types.blockquote`/`types.list` on the parser side) and stay opt-in, since the parser only produces those shapes when a matcher is registered for them:\n\n```ts\nimport {\n  DefaultBlockquoteObjectRenderer,\n  DefaultListRenderer,\n  portableTextToMarkdown,\n} from '@portabletext/markdown'\n\nportableTextToMarkdown(blocks, {\n  types: {\n    blockquote: DefaultBlockquoteObjectRenderer,\n    list: DefaultListRenderer,\n  },\n})\n```\n\n| Renderer                          | Expected value                                         | Output                 |\n| --------------------------------- | ------------------------------------------------------ | ---------------------- |\n| `DefaultBlockquoteObjectRenderer` | `{content: PortableTextBlock[]}`                       | `> content`            |\n| `DefaultCalloutRenderer`          | `{tone: string, content: PortableTextBlock[]}`         | `> [!TYPE]\\n> content` |\n| `DefaultCodeBlockRenderer`        | `{code: string, language?: string}`                    | ` ```lang\\ncode\\n``` ` |\n| `DefaultHorizontalRuleRenderer`   | (no fields required)                                   | `---`                  |\n| `DefaultHtmlRenderer`             | `{html: string}`                                       | Raw HTML               |\n| `DefaultImageRenderer`            | `{src: string, alt?: string, title?: string}`          | `![alt](src \"title\")`  |\n| `DefaultListRenderer`             | `{kind: 'bullet' \\| 'number' \\| 'task', items: [...]}` | Markdown list          |\n| `DefaultTableRenderer`            | `{rows: [...], headerRows?: number}`                   | Markdown table         |\n\n#### What renderers receive\n\nOne question decides which text field a renderer reads: **are you wrapping markdown, or emitting something else?** `children` is markdown: nested marks are rendered and literal punctuation is backslash-escaped, so it embeds in markdown output as-is (`` `**${children}**` ``). `text` is source: the raw span text exactly as stored, for renderers that emit their own delimiters or non-markdown output (code fences, HTML tags), where escapes would appear literally. The built-in `code` decorator renderer reads `text`; every other built-in reads `children`.\n\n**Block renderers** (`block.*`):\n\n- `value` – the block object\n- `children` – rendered content of the block, as markdown (escaped)\n- `index` – position in the blocks array\n\n**Mark renderers** (`marks.*`):\n\n- `value` – the mark definition (for annotations like links)\n- `children` – the rendered marked content, as markdown (escaped)\n- `text` – the raw text content (unescaped, no nested mark rendering)\n- `markType` – the mark type name\n- `markKey` – the mark's key (for annotations)\n\n**Type renderers** (`types.*`):\n\n- `value` – the typed object\n- `index` – position in the blocks array\n- `isInline` – whether it appears inline or as a block\n\nUse `isInline` to handle block vs inline objects differently:\n\n```ts\nportableTextToMarkdown(blocks, {\n  types: {\n    image: ({value, isInline}) => {\n      if (isInline) {\n        // Skip inline images entirely by returning empty string\n        return ''\n      }\n      // Render block images as full Markdown\n      return `![${value.alt || ''}](${value.src})`\n    },\n  },\n})\n```\n\nReturn an empty string to skip rendering an element entirely.\n\n**List item renderer** (`listItem`):\n\n- `value` – the list item block\n- `children` – rendered content\n- `listIndex` – position in the list (for numbered lists)\n\n#### Handling unknown types\n\nThe library provides fallback renderers for unknown content:\n\n```ts\nportableTextToMarkdown(blocks, {\n  // Called for block types not in `types`\n  unknownType: ({value}) => `<!-- Unknown type: ${value._type} -->`,\n\n  // Called for block styles not in `block`\n  unknownBlockStyle: ({value, children}) => children ?? '',\n\n  // Called for list item types not in `listItem`\n  unknownListItem: ({children}) => `- ${children}`,\n\n  // Called for marks not in `marks`\n  unknownMark: ({children}) => children,\n})\n```\n\nBy default, unknown types render as `json:object` fences or tagged code spans that round-trip (see [Round-trip behavior](#round-trip-behavior)), and unknown marks/styles pass through their children unchanged.\n\n#### Gating default renderers on a schema\n\nGoing to convert the markdown back with `markdownToPortableText`? Pass the same `schema` to both, and nothing the schema can't rebuild becomes markdown that gets destroyed on the way back: undeclared types travel as `json:object` fences that reparse to the same value.\n\n```ts\nimport {compileSchema, defineSchema} from '@portabletext/schema'\n\nconst schema = compileSchema(\n  defineSchema({\n    blockObjects: [\n      {\n        name: 'code',\n        fields: [\n          {name: 'code', type: 'string'},\n          {name: 'language', type: 'string'},\n        ],\n      },\n    ],\n  }),\n)\n\nportableTextToMarkdown(blocks, {schema})\n```\n\nA default renderer (`callout`, `code`, `horizontal-rule`, `html`, `image`, `table`) runs only when the schema declares that type at the position the node appears in: `blockObjects` for a block, `inlineObjects` for an inline object. An `image` declared in only one of the two still falls back to `unknownType` at the other position.\n\nThe gate reads type names, never field values: declaring a type doesn't validate anything, and a value's fields play no part in which renderer runs. Fields matter on the parse side instead: `markdownToPortableText` filters a construct down to its declared fields, so declare each type with the fields its values carry, or the markdown forms this gate lets through come back rebuilt without them.\n\nAn undeclared type falls back to `unknownType`, whose default output is the same `json:object` fence or tagged code span described above, so it round-trips at block and inline positions. Inside a table cell the `json:object` form is the inline code span (a GFM cell is one line, and a fence would be squashed), so an undeclared object in a cell survives too; declared types whose markdown form spans multiple lines (a code block in a cell) still flatten on reparse. Renderers you register in `types` bypass the gate entirely, whether or not the schema declares them.\n\nWithout a `schema`, every default renderer stays active.\n\n#### Hard breaks\n\nCustomize how a hard break (a `\\n` inside a span's text) renders:\n\n```ts\nportableTextToMarkdown(blocks, {\n  // Render as HTML break instead of Markdown hard break\n  hardBreak: () => '<br />\\n',\n\n  // Or render as plain newline (no trailing spaces)\n  hardBreak: () => '\\n',\n})\n```\n\n#### Block spacing\n\nBy default, blocks are separated by double newlines (`\\n\\n`), with special handling for list items (single newline) and consecutive blockquotes. Customize with `blockSpacing`:\n\n```ts\nportableTextToMarkdown(blocks, {\n  blockSpacing: ({current, next}) => {\n    // Double newline between list items instead of single\n    if (current.listItem && next.listItem) {\n      return '\\n\\n'\n    }\n    // Return undefined to use default spacing\n    return undefined\n  },\n})\n```\n\n#### Reporting degradation\n\nAn annotation or decorator with no mark renderer drops to plain text, a block style with no renderer falls back to a normal paragraph, and a list-item kind with no renderer falls back to a plain bullet item: each degrades rather than throwing. `onDegradation` observes those losses, called once, after the whole document has been walked, only when at least one construct degraded, with a report object holding every `SerializeDegradation` in encounter order and a canonical grouped `message`. Left unset, the conversion stays silent and returns the lossiest representation it can build. Enforce against lossy output by throwing your own error from inside that callback. The throw propagates out of `portableTextToMarkdown`.\n\n```ts\nportableTextToMarkdown(blocks, {\n  onDegradation: ({degradations, message}) => {\n    // degradations: every SerializeDegradation, in encounter order\n    // message: the same degradations grouped, snippeted, and sorted by block\n    logger.warn(message)\n  },\n})\n```\n\nEach `SerializeDegradation` carries `type` (`annotation-dropped`, `decorator-dropped`, `style-fallback`, or `list-item-fallback`), a human-readable `message`, `path`, and `snippet` (the offending text, truncated to 40 characters) when there's a specific piece of text to quote. `path` addresses the node the loss occurred on, from the top-level `blocks` array down: an array position is `{_key: node._key}` when the node has a `_key`, the numeric index otherwise, and an object property is its field name. A degradation inside a table cell carries the full path down to the offending node, not just the table's own position. `path` is best-effort: it names the deepest node the conversion can re-find, falling back to just the top-level segment when it can't (a custom renderer cloning a node before rendering it, or a keyless nested span with nothing left to search by). Match on `type`, not `message`: the type is the stable contract, the message can change between releases, and the set of `type` values itself grows in minor releases, so compare against the values you handle rather than switching exhaustively.\n\nProviding your own renderer for the affected construct (a custom `unknownMark`, `unknownBlockStyle`, or `unknownListItem`, or a `listItem` map covering every kind the document uses) suppresses the report for that construct: `onDegradation` only fires for fallbacks the library's own default renderers produced. `list-item-fallback` never fires under the default configuration, since the default `listItem` renderer already covers every kind. It only fires behind a consumer-supplied partial `listItem` map.\n\n`applyMarkdownEdit`'s `serialize` option doesn't accept `onDegradation`: it serializes `storedPortableText` only for internal alignment, never `editedMarkdown` itself, so there's nothing there for a caller to observe losses in.\n\n### `applyMarkdownEdit`\n\nParsing markdown mints fresh `_key`s for text blocks (see [Round-trip behavior](#round-trip-behavior)), so converting a document to markdown, editing one word, and converting back returns what looks like a full rewrite: comment anchors detach, history churns, and granular patching is impossible. `applyMarkdownEdit` converts edited markdown back to Portable Text and restores stored `_key`s the way the same edit in an editor would have kept them:\n\n```ts\nimport {applyMarkdownEdit, portableTextToMarkdown} from '@portabletext/markdown'\n\nconst stored = [\n  {\n    _type: 'block',\n    _key: 'b1',\n    style: 'normal',\n    children: [{_type: 'span', _key: 's1', text: 'Ships tomorow.', marks: []}],\n    markDefs: [],\n  },\n]\n\nconst markdown = portableTextToMarkdown(stored)\n// markdown === 'Ships tomorow.'; an agent (or anything else) fixes the typo\nconst edited = applyMarkdownEdit(stored, 'Ships tomorrow.')\n```\n\n`edited`:\n\n```json\n[\n  {\n    \"_type\": \"block\",\n    \"_key\": \"b1\",\n    \"style\": \"normal\",\n    \"children\": [\n      {\"_type\": \"span\", \"_key\": \"s1\", \"text\": \"Ships tomorrow.\", \"marks\": []}\n    ],\n    \"markDefs\": []\n  }\n]\n```\n\nKeys follow the edit the way they would in an editor, and when the evidence is unclear, a block gets a fresh key rather than a wrong one. The result is a value, not patches; output keys are always unique among siblings; the inputs are never mutated.\n\n#### What keeps its key\n\n- Unchanged and moved blocks. Repeated content pairs in order.\n- A block rewritten in place, like typing over it. Style changes count as rewrites, and an edited table cell keeps the whole table's keys.\n- A split keeps the key on the first non-empty fragment, like pressing enter; a merge keeps the first block's key, like pressing backspace. A soft-wrap join is a merge.\n- A typo fix lands as a text change on the same span, and editing a link's URL keeps its annotation key. Two identical annotations in one block (the same link twice, say) pair in order, like any repeated content.\n- A `json:object` payload keeps the `_key` it carries, unless the payload matches stored content, which keeps the stored key: editing markdown cannot re-key existing content.\n\n#### What gets restored\n\nMarkdown cannot carry everything a block stores, so an adopted block gets back what the edit could not have touched:\n\n- A field the dialect cannot express, like a text block's `alignment`, including a whole custom object-array field the dialect drops. A field markdown does express, like `language` on a code block, follows the edit.\n- A custom style, list kind, or decorator markdown has no syntax for.\n- An empty or whitespace-only paragraph, which has no markdown form at all (blank lines are the block separator): it is restored next to its surviving neighbor, and deleted along with that neighbor if the neighbor goes. This covers top-level blocks; an empty paragraph nested inside a table cell or callout content is not restored. An empty heading or list item has a visible markdown form (`## `, `- `) and round-trips like any other block.\n- A block the edit did not touch comes back exactly as stored, span structure and unmappable marks included: an adjacent pair of spans that only differ by a decorator markdown has no syntax for keeps its split rather than merging into the one span a plain parse would produce.\n\n#### When keys reset\n\n- Ambiguity: when an insertion or deletion makes a match unclear, a block keeps its key only on clear evidence; everything else gets a new key, and short blocks near the change are the usual casualties.\n- Indistinguishable edits: replacing a block with unrelated content in the same position keeps its key (the end state is identical to a rewrite), and a whole-document rewrite that keeps the block count pairs blocks in order. That last one is deliberate: a translation keeps every anchor by position, which is the behavior translate flows need. The cost is that a reorder-plus-edit with balanced counts mispairs the same way, block-level and sibling-level alike.\n- Caps: on very large ambiguous edits, evidence gathering is size- and time-capped and degrades to fresh keys rather than waiting, so near the caps, which keys survive can vary with machine speed.\n- Refusal: a stored value that cannot survive its own serialize→parse round trip resets the whole document to the plain conversion, every key fresh except the ones `json:object` payloads carry.\n\n#### Options\n\nThe options bag mirrors the two converters, plus a top-level `schema`: `deserialize` takes the rest of `markdownToPortableText`'s options and `serialize` takes the rest of `portableTextToMarkdown`'s. `schema` is taken once and governs both directions, because restoring keys depends on the two serializations agreeing. Pass the same `serialize` options that produced the markdown that was edited. The `deserialize` options apply to the stored value as well as the edited markdown, with two exceptions: new keys come from `deserialize.keyGenerator` (or the built-in generator), and `onDegradation` reports only on the edited markdown.\n\n#### Observing reconciliation\n\nPass `onReconciliation` to see what happened to every key. The callback fires exactly once per call, synchronously, right before the function returns:\n\n```ts\napplyMarkdownEdit(stored, editedMarkdown, {\n  onReconciliation: (report) => {\n    if (report.keyMatching === 'skipped') {\n      // report.reason is 'round-trip-mismatch' (the stored value cannot\n      // survive its own serialize→parse round trip) or\n      // 'document-too-large'. The returned value is the plain\n      // conversion, every key fresh except the ones `json:object`\n      // payloads carry\n      return\n    }\n    report.preservedKeys // stored keys that survived, with a basis, a path, and whether the value changed\n    report.keyFallbacks // regions that got fresh keys instead of a guess\n    report.renamedKeys // keys rewritten to keep siblings unique\n  },\n})\n```\n\nEvery `key` and `path` in the report matches the returned value exactly, and a path segment is a string field name, a number array index, or `{_key}` for a keyed element, the same convention as editor paths. Which keys survived, the paths, `renamedKeys`, and `keyMatching` are facts of that invocation, safe to branch on. A preserved key's `basis` names the matching method (`'content-unchanged'`, `'content-moved'`, `'content-split'`, `'content-merged'`, `'same-position'`, `'similar-content'`) and is advisory: near the evidence caps it can vary with machine speed, so never branch on it. `valueChanged`, by contrast, is a stable fact of the invocation, safe to branch on: it is `true` when the node wearing that key differs from its stored counterpart, field order aside but array order significant. Any difference counts, including a descendant key rewritten to keep siblings unique, or a key filled in for a stored node that had none. `false` guarantees the returned node deep-equals the stored one. A node absent from `preservedKeys` was not restored from the stored value, whether its key is fresh or carried by a `json:object` payload, so a caller who needs to know whether one of those changed has to compare it directly. The next section shows how to check `json:object` payloads that way. The exported `ReconciliationReport` and `ReconciliationKeyPath` types are `@beta`.\n\n#### Guarding `json:object` payloads\n\nAn edit can change `json:object` payloads like any other content. To keep an agent away from certain objects, check the result before saving it:\n\n```ts\nimport {isDeepStrictEqual} from 'node:util'\nimport {applyMarkdownEdit} from '@portabletext/markdown'\n\nconst edited = applyMarkdownEdit(stored, editedMarkdown)\n\n// The objects the agent must leave alone\nconst isProtected = (block: {_type: string}) => block._type === 'productTeaser'\n\nconst protectedBefore = stored.filter(isProtected)\nconst keysBefore = new Set(protectedBefore.map((block) => block._key))\nconst editedByKey = new Map(edited.map((block) => [block._key, block]))\n\nconst changedOrDeleted = protectedBefore.filter(\n  (block) => !isDeepStrictEqual(block, editedByKey.get(block._key)),\n)\nconst added = edited.filter(\n  (block) => isProtected(block) && !keysBefore.has(block._key),\n)\n\nif (changedOrDeleted.length > 0 || added.length > 0) {\n  // Reject the edit. An agent loop can pass this message back as the retry prompt.\n  throw new Error('Leave the product teasers exactly as they are.')\n}\n```\n\nThe snippet checks top-level blocks. For objects inside a text block's `children` or a table cell, run the same two checks within each parent, matching parents by `_key`: objects under a parent whose key did not survive count as deleted, and objects under a new parent count as added.\n\n#### Concurrent edits\n\nReconciling an unchanged serialization returns the stored value byte for byte for the content the edit did not touch, keys, span structure, and unmappable marks included; content the edit did touch still comes back canonicalized, with its keys restored where reconciliation can trace them. `applyMarkdownEdit` does not merge concurrent edits: reconcile against the exact value that produced the markdown, and before writing the result back, check that the stored field still equals that value. If it changed while the markdown was being edited, the edit describes a document that no longer exists, and writing it would silently overwrite the newer changes: serialize the current value and redo the edit instead.\n\n## License\n\nMIT © [Sanity.io](https://www.sanity.io/)\n","readmeFilename":"README.md"}