{"_id":"@anvpx/blog-core","_rev":"39-d44efee2e836a422bdb3a96fe614f648","name":"@anvpx/blog-core","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@anvpx/blog-core","version":"0.1.0","_id":"@anvpx/blog-core@0.1.0","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"0d09103ca26cb2c9a71f4a64653717d00649ee65","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.0.tgz","fileCount":13,"integrity":"sha512-+Qs0hoKcBnEzfefYNzNdE87CMkwcG3J/5LpbnSGkoxXDR+7ttA082rl9qHNgKiVQNnKWftqS2+wAXRwHsxKIDw==","signatures":[{"sig":"MEUCIG5AfwCyEeEVg7edoH13ppYVmZSzBR0EXMAT3uQyeYznAiEAiW4oqAfG45je9I7du4/H9MfkrWDEFDcejTH0EsXGbTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138410},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.0_1788881948348_0.6118358480749719","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anvpx/blog-core","version":"0.1.1","_id":"@anvpx/blog-core@0.1.1","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"47cbb3f07a1a375f5fdf4d6eee73e9c8c2e6e9b8","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.1.tgz","fileCount":13,"integrity":"sha512-somX+FSml6Rfp0OJ8WbJ0Dz1UZlJenAwSD0S7h5vZoG0p7366phc6JymViWuioh1QbCkcoH/1nhfs96twd9GDg==","signatures":[{"sig":"MEYCIQCMHwiMO1DRO4KvsgQqiZffYgSGfUpl9GLsViisf0OpCwIhAIrFlhUh0Y24JbqYzAF/NcQLRTAJCTxOwdLi2bZ0B5Jy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138410},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.1_1788882094947_0.5749746165899254","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anvpx/blog-core","version":"0.1.2","_id":"@anvpx/blog-core@0.1.2","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"09e2b415a548d3d91139f21be5fbe7d59d94bf7f","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.2.tgz","fileCount":14,"integrity":"sha512-GdYnObi9grtZijNx/oS54yYmk/WHj4wzm9OtSQ1U0YqJvvtfGF5ozYgbjKhYmACuJkAAwFO2D/qrqHSlz6aTwQ==","signatures":[{"sig":"MEQCIHlssVfEAOfqZaSelmGhXA1b4Avy1eoWNX3csj1sjohqAiAbWIfOmR6DWiiPIAL/CtlrNANoQ2pVR3srhs+yVyFbFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243894},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"829b73a4d221c423b379a4a41b28388d0c5385db","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.2_1788887648683_0.7236931956982469","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@anvpx/blog-core","version":"0.1.3","_id":"@anvpx/blog-core@0.1.3","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"61e1ded1ef0977e32bedcdcc27655824fb9fa769","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.3.tgz","fileCount":14,"integrity":"sha512-DMR2S2aK2Sa2D/MQp4flZVj3mmZ328rxU4o/WbfzKsQfpAy7bs2ODkZtUfi6cpf4oAvgh9fgf7eYHd2uan4jcg==","signatures":[{"sig":"MEYCIQCnTfxGEmPYhq7HAgLpURtJsTvBXwJjiDC5tGASPFNEVgIhAIR107gOC24dnJ095kM5WnHiZNCQbn4SwuyvAnmU6L7/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278466},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"26249d4e12f2dd1b27286e442345501079fb444f","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.3_1788889421648_0.28934328565442335","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@anvpx/blog-core","version":"0.1.4","_id":"@anvpx/blog-core@0.1.4","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"78ad3b97b2ba66fb9ce613b7572f7e435e51eb28","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.4.tgz","fileCount":14,"integrity":"sha512-WR9upyibcU+4NlWc8dgw1LNyWpJUYOdNlWMJs+T9LIa1hGlKyW/ul+LKU/ZhyesN18I5zS7MKY+3WW5jkFTHQQ==","signatures":[{"sig":"MEQCIEU+nApgX5XNtMkcY43LiakqSuVeHi/vryhD/InfONmwAiBE2u7nrvdNmuyE06JKdhxs3Xr6F1ojsCg1ppHPmPkh9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"26249d4e12f2dd1b27286e442345501079fb444f","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.4_1788890413216_0.4287876047458725","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@anvpx/blog-core","version":"0.1.5","_id":"@anvpx/blog-core@0.1.5","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"9872ba8145fe3205d46a6731e1ecc105f692f6b9","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.5.tgz","fileCount":14,"integrity":"sha512-sncSQ0Gooo1FLudPBJ/Pz37rjoZFpaYv+x/luqTgzDzmlGWNu5ztgxEs4Sf4TyMt0ttLruAiSHZdGWp6auBIHg==","signatures":[{"sig":"MEYCIQC+z9qXREE5LWAqRMtkWgEBrJ6aclCPEvBUZygkCwp0FwIhAKQKi8t+a3S7FGEdxe40wfksTK9K6slkS0BeBEwYyHyn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279340},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"4e284d41f5a101141add06526221c9449b8c7435","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.5_1788891965661_0.4377398763234426","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@anvpx/blog-core","version":"0.1.6","_id":"@anvpx/blog-core@0.1.6","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"52c509734531cb75896ad968fc79b97f6aca3d28","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.6.tgz","fileCount":14,"integrity":"sha512-SDW+02QDns8OR6PcyE/8g8PpEIQ0T/FzBPfRokEFlG8wY66jkDIKqJ/QlqkEU3hKZCmdzLYEeNo4KCcgKN5Evw==","signatures":[{"sig":"MEUCIBCqY3eYn1riXyrXkrk6uqSXLswLfZ0cv2T+3r1YbJBKAiEAgyCcF+Y75QBvOBknIC6T0oz1A6Lnt54cR0FQYTea/8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280081},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"4e284d41f5a101141add06526221c9449b8c7435","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.6_1788892732431_0.4920485257144509","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@anvpx/blog-core","version":"0.1.7","_id":"@anvpx/blog-core@0.1.7","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"ee7c0d724fdf5b8e876dc7a7f7d2de6f59e6b937","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.7.tgz","fileCount":14,"integrity":"sha512-SCPaWh66AHNoaGneDnjEdcrc48Df0WZz/sL0obe1kDyjyems0PeuoHqUBVRPk4MVTca+Z6bJVPoFv6hNeejAmw==","signatures":[{"sig":"MEQCIDfGGn3WNff7Ky/Cc68Bl3Q/Qxx37H5cy/BfBaTdAzlsAiAfFfzE972zXyqxBU9eRiNB0WrutSiv4RS40iu32I4Sww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"4e284d41f5a101141add06526221c9449b8c7435","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.7_1788892859299_0.5233711829425793","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@anvpx/blog-core","version":"0.1.8","_id":"@anvpx/blog-core@0.1.8","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"41d1aa258d8480007e505cc8ec428b3e9470cf63","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.8.tgz","fileCount":1,"integrity":"sha512-tiNC7SNp/Mhsa8sft2ML9d8HFXxalje/dFAcRB/G8f5lCIYe4N8bPIsUnQXtZm6utRj6bhHlH35Li5ozMLHCEA==","signatures":[{"sig":"MEUCIF9QWk67gYDwOkYW+J2b1Y36lJ8QVsrJG38ize+2pFwlAiEA7yy7OU+l1cOdlUEa6gJnLNjb9VIrlpU/lbbVjUSkH84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"36ab19b6d59c740bf9a9abdcd12c6e7ab1010b33","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.8_1788894441373_0.8108730098757357","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@anvpx/blog-core","version":"0.1.9","_id":"@anvpx/blog-core@0.1.9","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"443959128148472fd8ee8f344f531009acf52ac9","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.9.tgz","fileCount":14,"integrity":"sha512-81Ru+83Hy93Ay68YF0Ab8qAGF4IhV3FywcXkJSmXM6azCWm0r8uu7FA+HZgNLWj67xHpp7HmQ9H2CgwExCzO/Q==","signatures":[{"sig":"MEQCIAeV36w3vsWgffWmsPd38h6M8eL8YFoylxuBTFkpaxv+AiBEft0aAzW2LFr2ghSYv4nLIR78E9L1FgxzvFwd0/Gh0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294210},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"3709daa1326783aab02f4c5dc97f29e708f8c50e","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^2.11.0","@tiptap/starter-kit":"^2.11.0","@tiptap/extension-link":"^2.11.0","@tiptap/extension-image":"^2.11.0","@tiptap/extension-placeholder":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.9_1788894570324_0.7819202887350705","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@anvpx/blog-core","version":"0.1.10","_id":"@anvpx/blog-core@0.1.10","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"90da08f80bc1b5f55e8c623b8c09fc47cf7e4eb1","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.10.tgz","fileCount":14,"integrity":"sha512-8aC0T53qDwXDjzGbjBpC+7ToFrCEUikfurhWxekFEYGZVDP+TVTbNK58jpiu+V7Xtk6OkWmhhfI30rGsdHYTMw==","signatures":[{"sig":"MEYCIQCUHLXO2HeOO9GQx60nTkukMkmDsdDMyHqiTrx6dqfQiAIhANDI6GKPQW25X8juPrnqbW13wnabCFp24wcNsCEt8ZPM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301986},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./admin-ui/admin.css":"./dist/admin-ui/admin.css"},"gitHead":"48f25bdf8baed0a082e9ffe14cc8a831f26b8c3b","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^2.11.0","@tiptap/starter-kit":"^2.11.0","@tiptap/extension-link":"^2.11.0","@tiptap/extension-image":"^2.11.0","@tiptap/extension-placeholder":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.10_1788897685302_0.5847775900261512","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@anvpx/blog-core","version":"0.1.11","_id":"@anvpx/blog-core@0.1.11","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"d54260ce363ad0897e47407aeb23c124f7ff6927","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.11.tgz","fileCount":15,"integrity":"sha512-gDNAoR/3bgjjpyfy0QEvgUQkUYTe9iAPJ2qlH0FNjSk0jnO29WHIOnwSqr1pBk39f+mcMvzgBOFKBaY6ggc63g==","signatures":[{"sig":"MEUCIQDkKacddvA+yb90Q8rDaFNiCKD+R4yobmUGzQQb/9WWoAIgDtFQO+EvxUaMUJbJz1aUABzn/eJ1OazZfF5viIo74VQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685333},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"6eb01581989980d3e48218f1d2c9b96f28596fcf","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.11_1788906682469_0.868603438950001","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@anvpx/blog-core","version":"0.1.12","_id":"@anvpx/blog-core@0.1.12","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"c7e3f12b7d359b7a79e63a33ce4588f572306252","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.12.tgz","fileCount":15,"integrity":"sha512-WFCnRARfELrWDPvQngndPhyPWv6s/VVwMyzyS0CKxQO9VAGGrTLluFIzBmqHBUAtq6ubTnW28fRU8qlZQ0H1hQ==","signatures":[{"sig":"MEYCIQDE5H6dQZVAmvXy/gnJrlW6x9p5GPJZ+Gigv6f3THCYtgIhANeQLpt4Dnvem2h4iUeDCFsrjnEtihoBz+LmSlJAJ0ws","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685917},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"3603754319c75088e00e562b760cfb26e7c9b7b7","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.12_1788907678065_0.4056127941416765","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@anvpx/blog-core","version":"0.1.13","_id":"@anvpx/blog-core@0.1.13","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"05a5c9a1bbc1846066b0b037141d5db20983233f","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.13.tgz","fileCount":15,"integrity":"sha512-7BoiIrapopkYlFC3yqeH/qov5Bwy16R0xxZZQab3Wtu69mGF4GSczDpHN8SY4Anqqtaq+Sm0AZmKQmsEfsdZEw==","signatures":[{"sig":"MEUCIA/cM68TGZTfRJCnQ1qTjg6MsUFztvOcOF3qQi/SrfPeAiEAplUdqp7+FV0ij4qBjbOmC913dCUTv2QmB33V8Zaax4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":693742},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"8426c9485d5e4c9fd36549312d9ef11aa10ba579","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.13_1788908441029_0.6314524678237012","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@anvpx/blog-core","version":"0.1.14","_id":"@anvpx/blog-core@0.1.14","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"4f8f8278106f5af20ebf326e24822e1e02a4613a","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.14.tgz","fileCount":15,"integrity":"sha512-KsN79DfDo983QmisHF1rPr1Wwh4pheT3Ux3IbhsuMxTG/e/AxRc1Fw0eLV6mTavsENS0w12HDZ4afkp6pZMcVQ==","signatures":[{"sig":"MEUCIBayOXdQ37TLvGI5IPfQCU7DWSELg1MgE3eWeMs6ZsV2AiEA5O43/vJbRZdhEQyFh9l8r/YP4AkaFXhPKPGRw6PKH58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":694761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"1bf660223c2079cf156be5578ff09788b13b8447","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.14_1788909125280_0.11702494446098877","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@anvpx/blog-core","version":"0.1.15","_id":"@anvpx/blog-core@0.1.15","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"27fa00d7cf667e47436bb738b7d444662290f786","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.15.tgz","fileCount":15,"integrity":"sha512-8ZjAoH2vMUi5nwo8Ddwt8APnB4xDeEg1gtyL5wQI4pWUD+5rOUNVw04mMp4KIN1h/69wRNLhB3e9+WKhgRGZcQ==","signatures":[{"sig":"MEUCIQC9fYKHHwsMA+x2K64qEbraDRuN4WoJRaoOA9eYGj9rgQIgN/GH2j13G9UhRsnssc9/ihC6aow2pT8n0G2Pn1cH/N0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":699977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"1bf660223c2079cf156be5578ff09788b13b8447","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.15_1788954589429_0.7148994087131206","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@anvpx/blog-core","version":"0.1.16","_id":"@anvpx/blog-core@0.1.16","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"1dd26e4975e03a2e6a6bb815040191be90637af7","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.16.tgz","fileCount":15,"integrity":"sha512-6gxHm4j8Zbm8par0vTGfykHpM5ALseu3xD3HE3uOH7HrDyoHZNm/Vzde1de0yDIo0oNaVqdojWpdhq9++ET61A==","signatures":[{"sig":"MEUCIQDqq9wUHMRue9ETPZBbL/MvTXkV6RWGNYaL3SmhKtGk7gIgDlnXJP1wzFI4bL031F/k9owezNohwcOoT9+hGw5Urek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":699907},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"c72ea2e0a10748763f9c2d0ae9c9403b51f0ec73","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.16_1788955797595_0.7004976352457186","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@anvpx/blog-core","version":"0.1.17","_id":"@anvpx/blog-core@0.1.17","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"94af11507c99b6bbb6baad6bea781440ccb839a0","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.17.tgz","fileCount":15,"integrity":"sha512-mwyYsOFgFiglt8wOo1gSCZGFIBLTnZuz/9HYV0ip2pkvUCTrJ98PEaXKE3ZR+Z/5vtPQxext/OS4z4XK7PEeIw==","signatures":[{"sig":"MEYCIQCAeZmPuRSYRh6QGougHW5CQvl8d9qNHbwgtjnHqW9TQAIhAOyEDanbdjTt6VJI3Z7oqOaMZD8B/1uzioEuBKt4hS4n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"943500aa9f31de4a0c94d0110106965fbd4dedaf","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.17_1788955914210_0.6601453860516111","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@anvpx/blog-core","version":"0.1.18","_id":"@anvpx/blog-core@0.1.18","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"6d3be71fd0b700a7f0be6b22c4b5fd2bf44f488b","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.18.tgz","fileCount":15,"integrity":"sha512-TdQzSuHZ9/MqOpzr1IWP5oBDemda6A7r+iWm8/BlsaMAzdfhx0m/2sKsoPP1/S9oD+5FsT7+gMcUsJZaQxVeYw==","signatures":[{"sig":"MEUCIQCr3gLTCHXYZocE5w4hooOJtiFw0PY1d5h+6SLiSYKyTQIgDFh3xAVvdn/whbllF2gsq7LH89bIvlSJihqOMa7Cvzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"aa25924c9988257bbc7c7f27d4b1398a7f69f079","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.18_1788956158225_0.5242527583723178","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@anvpx/blog-core","version":"0.1.19","_id":"@anvpx/blog-core@0.1.19","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"c2eda6daa5cafe26f211bc96de0ec6c0ab290618","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.19.tgz","fileCount":15,"integrity":"sha512-ka6nFqtDlaEnElnU1q2t547/Vtn8E9SrI90j4Yb+RhrUwzl0L50+cC8QLb4t4ufy8CZ8Owd0EQkJZNT/p2MbSw==","signatures":[{"sig":"MEYCIQDYim8TwoKOGE+XgGt+yjAN5TpEEKQEmWSRjkvIQElceQIhANSvHrpn7AIhKZQKPcEcDNa6UTnZrApIZrPDhZ7d/61U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705371},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"f967c588b7345e61a30a35262b68dcffb90b0f0a","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.19_1788956260027_0.1520468910475603","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@anvpx/blog-core","version":"0.1.20","_id":"@anvpx/blog-core@0.1.20","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"847c1e7f9c7c281a2620f8a1a43dbe81eb60ea10","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.20.tgz","fileCount":15,"integrity":"sha512-KmuBMITePKpW+SnxWMBIwI5+YODP3aEUmatub6pk/yu4bAf4cUvB1n46TwXl5ZQmjvnetHGvJPcxes07KXBj9A==","signatures":[{"sig":"MEYCIQD3vsKC3sjuZundxh97VGTh6wEAx34HFbWsD32Cya9l4gIhAJzAo23i/4teQMND5tAcPg2i/7NVRR7QAihFyI5HDn9Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705198},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"034bb1804db074009f1d74b12a1be7e6f06393eb","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.20_1788956375304_0.41477283186369296","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@anvpx/blog-core","version":"0.1.21","_id":"@anvpx/blog-core@0.1.21","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"d64be3a4a467bd85df7cca1df5c70091aa3441f3","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.21.tgz","fileCount":15,"integrity":"sha512-TtC3RgUirYQPkmgQM0Y2tNSH6aiMCU1mvtl5JyR20iX7LiSWd9q2RNXZCjQQI9WYyrCzEyFshVwHwKlk81dSqA==","signatures":[{"sig":"MEUCIQCDCbUWQUIcq86F8v7sswpKZhrs9JlEujF9HzuYc/TW/wIgFmjJyBOWKVf/BJq3vpv0TJIbho2BGyRHbfpWJKM8lzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705234},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"90214665d96b503501e96a2c5cbcb74a0b822d5d","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.21_1788956448992_0.0710635928197243","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@anvpx/blog-core","version":"0.1.22","_id":"@anvpx/blog-core@0.1.22","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"59e8f7de5d61eb9ddd8a613af02778aaee26afed","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.22.tgz","fileCount":15,"integrity":"sha512-qlFon/mpD+ai9pK99fkpjH1vwbaRWSoSnp/pojrm+ES0yoecgC7kGII/Y+aadbJfEp74j+Xj9Qpj+dIW7PCr1w==","signatures":[{"sig":"MEUCIAqod1zVvyYSd8KMIN5GttnZ+1w0LDCAlknq5+1ZqmL9AiEAnfU4U3K60wqXBU5EO+KeOq6cxSIVu3STr45zWWHsx3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705335},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"1a272f450e4793ef54369b1811576f6b006c6697","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.22_1788956559931_0.61237474277107","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@anvpx/blog-core","version":"0.1.23","_id":"@anvpx/blog-core@0.1.23","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"1d6e2576a1d65eb1b2ce895a26fe8112dc692e23","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.23.tgz","fileCount":15,"integrity":"sha512-IEyqqlPO9B6PgseWeYjhHNZAgNC0L+xGasKrqd4uC7E7uhLAhHulkePRp1SVkqxL4K5SWVdNFRixnH1QhfgAng==","signatures":[{"sig":"MEUCIQCFm3b/Eg+2JQ17aCNQezLOEi4EMSaezbCzsbBEBCQG6gIgUQPcTy2qpUnW0LSX3Fd77Ja0fQsfCssfHiTco2Q/KAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"82b990aa7d94bd0efa6b096a8b2576237e229b64","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.23_1788956630806_0.8037821770982942","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@anvpx/blog-core","version":"0.1.24","_id":"@anvpx/blog-core@0.1.24","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"d1d6e7f7ab4fca308b198927e8371a147a3eabef","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.24.tgz","fileCount":15,"integrity":"sha512-J9lt3G05C34IUtbgTwzCbJMBQjxCwStu4Rhc0swgrTYGK12gQJYjEEYFxOOKigQO+fM7chF/SyiNSAt7EuI9HA==","signatures":[{"sig":"MEUCIADxNgHoBN6GDfwSgzjrJrx2AdrL2gLdgVAmKTEv8DfJAiEA2lYyzYlZyWy9Y0MA/sohL7G/hqUT3s0waoSrBlNH4Fg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"f4f989e4b3c41136d0ac223a32bb5a5ae16926b0","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.24_1788956732258_0.732655020236155","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@anvpx/blog-core","version":"0.1.25","_id":"@anvpx/blog-core@0.1.25","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"ab0787e61642769468561bcce4d679504bbee0a7","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.25.tgz","fileCount":15,"integrity":"sha512-Fl8RoqsAxbVJqIyg6Fy328WhE9FceT1wpJHH3Xy2QuOiXaVXE5ggIG/pzqyb6/YhYr5jr8tx1iFetUQKpmagXQ==","signatures":[{"sig":"MEYCIQCCpKXJHg44CTaQAOeuyu/xP1WweVYdtsvtkOior2C8fAIhAJiUZXE6KhGy4ns6RSnMV+oU3oqsQR7HljYJ81e4Ft0o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705682},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"895b1519ca7b5deccbe0df37cddf89a0af53c8c6","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.25_1788956800558_0.27062029409678856","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@anvpx/blog-core","version":"0.1.26","_id":"@anvpx/blog-core@0.1.26","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"252215abde674579391d232f146d49be74fb2a0f","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.26.tgz","fileCount":15,"integrity":"sha512-mFb9ENGJkWsvbQ4bk3Q3wZevTFxbesrRy/2ZnAQFsdUD1Z0x0MUXlko6zKJLU8EXtiTW6vW6p5TKP9FcJEYJhw==","signatures":[{"sig":"MEUCIC2r4TwMXeEnvqujmw5nKOHloRu3Tx1kg+kCaVzadsXiAiEA+TPzT75Qa2Epd4VimgVo8TDXXAieSoenQW4z2dFQGcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"73bf1efa26f78dffb8be16b4a202331136d2e7b8","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.26_1788956915634_0.8310672935057708","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@anvpx/blog-core","version":"0.1.27","_id":"@anvpx/blog-core@0.1.27","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"9dfa1b50647fe8cdb0eb7195e1d69500e6d4717d","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.27.tgz","fileCount":15,"integrity":"sha512-k7JAQ9+enHO6Ho6IMawVxnPwgIiY35jtrZK5q1AS1p75L61y6ZYiLh0HLzEixRZYuZr/KPzeTIWo0iWexi1Fpg==","signatures":[{"sig":"MEQCIBe0DaalcqDoSI9d3Z2nmYm2QAhRoY33C6o3oAzMNQjQAiAXQfVdve+kLFOx1tSMfeFIQ1h91N3RcSQlpsqt+PXefQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706703},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"9692cc2e8f200bde204b189695edae31ce38c2b2","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.27_1788956983533_0.3485614978319218","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@anvpx/blog-core","version":"0.1.28","_id":"@anvpx/blog-core@0.1.28","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"5e10b50c6aea8df81438bde7c989ea11e8f2278b","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.28.tgz","fileCount":15,"integrity":"sha512-LS14ys0Xo2/3F0qs6aJRo6pnndFRfVci8VWriG9r6fyoEOtHtLakjqFx2RkHFvqMS4fjFtWdNu324Mr5gK2BBA==","signatures":[{"sig":"MEQCIHdL6QZXDWPJgmStWTIp8iRBqMkch7wDW489Z71NtOCzAiAwcMbAzzpkBD6bR4ZGvqlF4lDzzNDNdVFhQ0YiC4E83g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706716},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"c56d59be36613b2fe676bfba0bc4bfa6f74845d6","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.28_1788957054360_0.4866308970892528","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@anvpx/blog-core","version":"0.1.29","_id":"@anvpx/blog-core@0.1.29","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"8c0dd337140c128ca0c2acbf4963601af789385c","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.29.tgz","fileCount":15,"integrity":"sha512-++M7M4hmxqdVnyfzf3eQXqnmDpCOrVy0iJfhht+HcJ6oIZWamlf41bgEvuuMCiyZ+Ld8zlHA0y2PeXa1I9B1mg==","signatures":[{"sig":"MEYCIQCuQRURr0nn5DYrSkBjraiF51moqr32E69kv9aY/alZlgIhANa2plfKYmToEghSqesganwiTAOmeMrHFbPCBSYH0qvy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706737},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"bff0671f07bc29b7f852c2df2d8e14fe9a72d0e5","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.29_1788957121251_0.5500436603817112","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@anvpx/blog-core","version":"0.1.30","_id":"@anvpx/blog-core@0.1.30","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"1aa52f8df743a08268ab3cfe6605c4e5bdce5efe","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.30.tgz","fileCount":15,"integrity":"sha512-9/MtC+MaEPiF3syU7RlDGeDiOqZN/vUbIv9Tes7cNkJNzxHW2/gdT3K4McP1KWz0NynKkNekDUCEYyW67t5Uog==","signatures":[{"sig":"MEUCIQDpZw5LPkDcbf2Ox9lzixXq95VTPWO3Hm5mBhwXwIPeAAIgAlciUBxdS1T99aG83UP4FfzhM29ydplsM7ljnMNKZG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705700},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"7daa93cd8d6c5032c5e35bf63daff59245fefd32","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.30_1788957210802_0.729066854919781","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@anvpx/blog-core","version":"0.1.31","_id":"@anvpx/blog-core@0.1.31","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"350a3cb0110ed19cea629ee4b7fd434467283218","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.31.tgz","fileCount":15,"integrity":"sha512-5+00jUhWRxWD6ehnbLfRYfTDb5QQmcEcl4hMXu9FpevuE+7xFwnT0FU8P8AolpE499WbE9W7EjFpVHogoAboQg==","signatures":[{"sig":"MEUCIQCSpTLBG7A8hYoGKOoZ1LrrdlK3gnEhTIvR6ykHaQcytgIgfEbahk3nMq5Yz5UwJ7F4EMa83M+6Ok62J2Lo8mesguE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706332},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"e1b0f49d0389b3e0a401af09e6e52caee952380b","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.31_1788957306330_0.7941837113291319","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@anvpx/blog-core","version":"0.1.32","_id":"@anvpx/blog-core@0.1.32","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"452c8cc3b498ad9a602d46db509da2285a0b8e1e","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.32.tgz","fileCount":15,"integrity":"sha512-84fz1r+4qPt8uhBtU/1lUOKckw6xzb9W1MVGacTaMa0DTfz15383cjbkLrFps0cXD4JEm5iUjg8uISqu9FXQbg==","signatures":[{"sig":"MEQCIHETcVYwet8klmWMNNSolf4OjZh3l8Izt44C3eM/aRZ4AiBNwTT61/Q2+/RGhk9av+yPMl8zufEN0BsocX3ROhDyyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706631},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"3c47b5c033c6f850819e24908b884a3c9e405d71","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.32_1788957397338_0.46290004780756533","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@anvpx/blog-core","version":"0.1.33","_id":"@anvpx/blog-core@0.1.33","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"7e3b3c3bddf9f302ae437235816f1e095700c44e","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.33.tgz","fileCount":15,"integrity":"sha512-GrrFH1McRNh1Em9brHXS1nGnU71JoZbSMoVw5GJnZJwsgdCHJVvkwrfl7FlQF/GvEpReud6okg2RBD4RCo7CsA==","signatures":[{"sig":"MEUCIFANoWNN4Gq0Ezn0LKGpP3X3AAa+G0G1N+2J8aey5rMZAiEA1Xo1h8TaYofN5Ea5vWXthTC0Tldo0psJtpIhi1IaJzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"930d93c3dddbba5da8120c74784399721d0d4ae2","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.33_1788957498552_0.8597091229040876","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"@anvpx/blog-core","version":"0.1.34","_id":"@anvpx/blog-core@0.1.34","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"f0fde099382375fde9e6ce487c34d0cc7b09048c","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.34.tgz","fileCount":15,"integrity":"sha512-4+sD1qseG+n6sHtDzCYWypgCnYpv95LpKKbaXXms8rc+I9jUp8USS+tj5r9DXsTHEnSt7nJhi7F5QkI2Raa0kg==","signatures":[{"sig":"MEUCIQDSI3Y0W4BrUiA23WjJDEsEe81jL9Xcxkk/L8haU9jFDAIgcnb4SZVnrGZsk1OxCdvE2dNR/e9NFgUSXdNKwWTJ3gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"fe0fd78fdc7f98c32c5324afd4aa44a6a64e8480","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.34_1788957590032_0.9860155181566761","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"@anvpx/blog-core","version":"0.1.36","_id":"@anvpx/blog-core@0.1.36","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"1c401f289d6464195cccaf8825ce8b9d5515855c","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.36.tgz","fileCount":15,"integrity":"sha512-AaL109qgSJjPfegdxQgN7YirNZ0mYXbDETMWWzlsCNes2FuPdFumbI7Vf8lIml+BfeRjqJ28s0ShMp03g0o71Q==","signatures":[{"sig":"MEUCIErVCHagPePOzZG5KWr8D4AAULBqHdPyQEQdJ17gHcoaAiEAgitOK1IBcU8Ex3uAuKT6IfW1hUfpaz1fhSS3kxxIQqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707932},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"06a204ab748bc6910925dfe7fe75ba51422d3942","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.36_1788957700386_0.7314576814585161","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"@anvpx/blog-core","version":"0.1.37","_id":"@anvpx/blog-core@0.1.37","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"//":"Tiptap rationale: @tiptap/* kept in dependencies for auto-install & tree-shaking justification — admin is isolated to /admin (client:only), not in public bundle, so 84KB admin-ui stays off homepage budgets. Duplicated as optional peers (peerDependenciesMeta optional:true) so consumers that never import @anvpx/blog-core/admin-ui can omit @tiptap without npm peer warnings; keep dependencies ensures `npm ci` still passes and Vite/Rollup tree-shake unused exports. Verified: npm run build:core admin-ui 89KB raw / 12KB CSS, homepage JS 0; npm ci passes in foundation+muse. Alternative move to optionalDependencies considered but peer+meta is more explicit for bundle analysis.","dist":{"shasum":"ce513a828ed112fff61dc99def1f578b83d934bc","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.1.37.tgz","fileCount":15,"integrity":"sha512-gi1YYLB4aKyMvV1YNi8flkZ+PwD1oDzLmZewuu7Diw66fajuHrmVH2f/GjyN9l0K1IoUcLgMBVpb+auoXWoXnQ==","signatures":[{"sig":"MEUCIDJ+/OIWqB4p+rM9Ix/3psaDr7ABR0H7OH7NLprc4lkIAiEA21/GL4E2svR7pte7XKd1roFRZskgnE/7Bw4w0bxniTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710021},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","import":"./dist/admin-ui/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./admin-ui/admin.css":"./dist/admin-ui/admin.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"a9deb2f74c7dbafeeb0efbacdb0b830a189633ca","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.13.0","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"latest","marked":"latest","turndown":"^7.2.0","dompurify":"^3.4.12","gray-matter":"latest","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest","@types/turndown":"^5.0.5"},"peerDependencies":{"react":">=19","react-dom":">=19","@tiptap/react":"^3.31.3","@tiptap/starter-kit":"^3.31.3","@tiptap/extension-link":"^3.31.3","@tiptap/extension-image":"^3.31.3","@tiptap/extension-underline":"^3.31.3","@tiptap/extension-placeholder":"^3.31.3"},"peerDependenciesMeta":{"@tiptap/react":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@tiptap/extension-underline":{"optional":true},"@tiptap/extension-placeholder":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.1.37_1789224722647_0.3098495820231757","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anvpx/blog-core","version":"0.2.0","_id":"@anvpx/blog-core@0.2.0","maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"dist":{"shasum":"7bb34d826e1684bd7f6ddce677f14a30bb9a9de4","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.2.0.tgz","fileCount":8,"integrity":"sha512-DdgbHkyVK1RnGu7Zo0LnotxXs+nbfX+VQL+t+Y3jQ7SdHEARGezWZcmpV5qVmzGnM8TwDhuI7TiUVJb4boUsLQ==","signatures":[{"sig":"MEYCIQDSzCshBEWkJ9DXYiQqMbMAbfvlefnoU0HnbArDIz8BYQIhAM/8dT5RpZXwGjDi6MprgCjnr9XXqmjlGL+U3Cd35Qx/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249683},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./preview.css":"./dist/markdown/preview.css","./markdown/preview.css":"./dist/markdown/preview.css"},"gitHead":"d1248444e2ff8336a2e454a6528f7188ee018caa","private":false,"scripts":{"build":"tsup"},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"_npmVersion":"11.19.0","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"latest","marked":"latest","dompurify":"^3.4.12","gray-matter":"latest"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"latest","typescript":"latest"},"_npmOperationalInternal":{"tmp":"tmp/blog-core_0.2.0_1789245158836_0.841237513194246","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@anvpx/blog-core","version":"0.2.1","private":false,"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./admin-api":{"types":"./dist/admin-api/index.d.ts","import":"./dist/admin-api/index.js"},"./markdown/preview.css":"./dist/markdown/preview.css","./preview.css":"./dist/markdown/preview.css"},"scripts":{"build":"tsup"},"dependencies":{"dompurify":"^3.4.12","gray-matter":"latest","marked":"latest","zod":"latest"},"devDependencies":{"tsup":"latest","typescript":"latest"},"gitHead":"523ce58f2b7b3b29b00baf35caa0f2f0c0622f96","_id":"@anvpx/blog-core@0.2.1","_nodeVersion":"24.12.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-9ukoKU5FLEwmpNMvD3z0/VY24Z4hz3A+9R3UhhrWPwA+xqOOEthq5kFue5+sRz/0Y8ZWWD5FVuF8yxnymb6pQQ==","shasum":"c16e48c28363033ea3cd6f7f78dbe43851a2c27f","tarball":"https://registry.npmjs.org/@anvpx/blog-core/-/blog-core-0.2.1.tgz","fileCount":8,"unpackedSize":250049,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCsLdIkI1xiP3OY8hO39iIj63wA2r5TjO6v31HbyXUyCwIhAMS17ULBWZJsOsOsLRaWz2K90rpE86MF4KX4Qz2j5cUG"}]},"_npmUser":{"name":"anvpx","email":"xuanan@gmail.com"},"directories":{},"maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blog-core_0.2.1_1789248047166_0.6082117800682687"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-08T15:39:07.720Z","modified":"2026-09-12T21:20:47.546Z","0.1.0":"2026-09-08T15:39:08.474Z","0.1.1":"2026-09-08T15:41:35.073Z","0.1.2":"2026-09-08T17:14:08.831Z","0.1.3":"2026-09-08T17:43:41.799Z","0.1.4":"2026-09-08T18:00:13.352Z","0.1.5":"2026-09-08T18:26:05.809Z","0.1.6":"2026-09-08T18:38:52.570Z","0.1.7":"2026-09-08T18:40:59.452Z","0.1.8":"2026-09-08T19:07:21.505Z","0.1.9":"2026-09-08T19:09:30.493Z","0.1.10":"2026-09-08T20:01:25.454Z","0.1.11":"2026-09-08T22:31:22.646Z","0.1.12":"2026-09-08T22:47:58.262Z","0.1.13":"2026-09-08T23:00:41.198Z","0.1.14":"2026-09-08T23:12:05.431Z","0.1.15":"2026-09-09T11:49:49.604Z","0.1.16":"2026-09-09T12:09:57.739Z","0.1.17":"2026-09-09T12:11:54.404Z","0.1.18":"2026-09-09T12:15:58.420Z","0.1.19":"2026-09-09T12:17:40.185Z","0.1.20":"2026-09-09T12:19:35.462Z","0.1.21":"2026-09-09T12:20:49.148Z","0.1.22":"2026-09-09T12:22:40.080Z","0.1.23":"2026-09-09T12:23:50.960Z","0.1.24":"2026-09-09T12:25:32.381Z","0.1.25":"2026-09-09T12:26:40.723Z","0.1.26":"2026-09-09T12:28:35.799Z","0.1.27":"2026-09-09T12:29:43.708Z","0.1.28":"2026-09-09T12:30:54.541Z","0.1.29":"2026-09-09T12:32:01.413Z","0.1.30":"2026-09-09T12:33:30.933Z","0.1.31":"2026-09-09T12:35:06.505Z","0.1.32":"2026-09-09T12:36:37.456Z","0.1.33":"2026-09-09T12:38:18.699Z","0.1.34":"2026-09-09T12:39:50.175Z","0.1.36":"2026-09-09T12:41:40.540Z","0.1.37":"2026-09-12T14:52:02.791Z","0.2.0":"2026-09-12T20:32:38.987Z","0.2.1":"2026-09-12T21:20:47.364Z"},"maintainers":[{"name":"anvpx","email":"xuanan@gmail.com"}],"readme":"ERROR: No README data found!","readmeFilename":""}