{"_id":"@arpsw/astro-cms","_rev":"17-1b9ee9c526cf3bd987b54a21e8959fe8","name":"@arpsw/astro-cms","dist-tags":{"latest":"0.16.0"},"versions":{"0.3.1":{"name":"@arpsw/astro-cms","version":"0.3.1","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.3.1","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"06d8c0b85b577dbfb38e43d3a1653b6cad648d5e","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.3.1.tgz","fileCount":14,"integrity":"sha512-23VXMqgh4jSYWEsnj7W6GVnZD+dIau+XyMotL/2WWCJJxpZwDaJ9eLQQbIjOJixVe7/XENxullxSAKcg7yzl3Q==","signatures":[{"sig":"MEUCIQCQz8Z8kGcH5J4//o2AGu3zGp3rrA5l2qSW0UZzxBEy6QIgOsu9KPwi+adJzdlX34yjZDb3a7SCu8Uv+6QWpqhG0Jc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77754},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./CmsBlock.astro":"./src/components/CmsBlock.astro"},"gitHead":"f390975892fa639c5c9e81bcdab8010e1d0b444e","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.3.1_1780615455094_0.3864475796375","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@arpsw/astro-cms","version":"0.3.2","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.3.2","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"fb4be0926e166e6ac2834f9c12de4cc543f9f8e8","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.3.2.tgz","fileCount":14,"integrity":"sha512-OwGVFnmJ+AtRW7DKyGDcBGr0D0Kw3Lm2wLVGUh1DvbD1y5Q0UiFN4zowahEpt8kkgHFvUr+m8CWsopv6fBNzuA==","signatures":[{"sig":"MEQCIGoYLcAP+8EYj3duQTDI80bZbT8jI2ZTd2q+pgh3jAl9AiBUY00XkRsb0Ab+ScuLcWZOidd6L6sV3uOdq2oSu6dTmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79308},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./CmsBlock.astro":"./src/components/CmsBlock.astro"},"gitHead":"4220612cbc0dcf19cd566fdd65d7f1d79bd4a7bc","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.3.2_1780616721430_0.3668659098925151","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@arpsw/astro-cms","version":"0.3.3","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.3.3","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"ee0e56f5d17868ec7fe90b402a4505b05cfd3369","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.3.3.tgz","fileCount":14,"integrity":"sha512-Bv8MMwYeD+d/YnUsB9eYZMCFGH4wJUyddy9LhEeqRsU+qj8/yzDiHkXvHFBMa2bJJ4qygiI0PipU+g9HPnCqjQ==","signatures":[{"sig":"MEUCIQCD4yyweg1ulbu6SG9+oNd96SAIiDbVAdMh2hkDFjzWAgIgGFsJMlOxmEbmpFUuitKXctxQOHjHi8n6CpdwJ1EIDnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79510},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./CmsBlock.astro":"./src/components/CmsBlock.astro"},"gitHead":"bedd5ba16aa7ce22891743c8faf5258d436180b7","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.3.3_1780639426181_0.9383325440753991","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@arpsw/astro-cms","version":"0.4.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.4.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"bb8f0a1bca2d03b35e41606e1f62f8e9ba5a624b","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.4.0.tgz","fileCount":17,"integrity":"sha512-Tnx2w256QJrKBWBKVu5S4ruUOXwiAEWrWd7JOyaV3Xvuuwkcbbf7QQYx/mYtGnpTuQ6hOXSpf5FLtv8F2PcDSQ==","signatures":[{"sig":"MEUCIQD8LUnqf7XRxFAYVym4zBmRda5eCW2sXoCxjlqS/54eCAIgLEEKepEx9M3ZskW9jzvgiAVfgiyjxcAWDvZ8G3Rgw8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103938},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"25202415beb90552c24636691ac212dcf7707bf0","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.4.0_1781011765042_0.9354303598336504","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@arpsw/astro-cms","version":"0.5.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.5.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"9ef6d3d1b0d30c0ef070ffd852071ab379e25068","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.5.0.tgz","fileCount":20,"integrity":"sha512-7NA4mfxuxcbLkjmUQAdNJ/sgnoyeFsXdluXGGfnwoOZftBmq4St6GkUGbs4WMUw7YEMwypMcp3i8yBQdgrkTOw==","signatures":[{"sig":"MEQCIBDCpOTc5L8H+BwvGDlDDjdstDn6Ci3ilbV+itwu+L0/AiB9MhQntncAAESi4TU+4wEq7ijh7WkDgkGiSH9Qfz6A7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117398},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"123ac8c48c977fada0d705a1fd22455df63b1a77","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.5.0_1781124009548_0.9357449000095415","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@arpsw/astro-cms","version":"0.8.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.8.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"84830b1038c741736d856e374e60f9ec86b0fb3a","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.8.0.tgz","fileCount":35,"integrity":"sha512-7z7Qp1IizMRaymCZdNphuLJj/nz7jHY6oMpZdyIVOqlOdtDLnvAJE2tnSRFmJ3DlBeczh4kCKmJ4CwRbN/as3g==","signatures":[{"sig":"MEUCIQCrYaPNcPe87yn//nOlZiQ7QhMrn8Rx06WTsAPbW7QYMQIgH/S6XOiA2fDLn0nCyLxRn2KYf/4SmmSbPlUtblt6/Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158228},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"29ca989ae4232bdd7ad7fa883b4df827046becd5","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.8.0_1783319834102_0.9323653350323882","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@arpsw/astro-cms","version":"0.8.1","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.8.1","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"be9a575131ed8793ea9570773dc8982744d40d0e","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.8.1.tgz","fileCount":35,"integrity":"sha512-WOlSMSyGDPtfB0Xt2cQCz/kntpv6o+Zi6djxJVKV0PcFHr2X6uelwVkeQNWDnZb23GQles/BZ9iGILJe5xOSkA==","signatures":[{"sig":"MEUCIQC3y/Dmw3eVEmVVVZOdqeAq8VqPnXqZeIk2qccCyUNnMwIgdykAT9CpAHhNdOyMb59D1/F9h2VRKfxo//Ox2QKYtRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158880},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"d79d3aadf7450ccbf3899ce9a8c129b17f9f0a6e","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.8.1_1783335094226_0.6795024047624112","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@arpsw/astro-cms","version":"0.9.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.9.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"fe1d849a88eed449823248a15ffbad4948307603","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.9.0.tgz","fileCount":35,"integrity":"sha512-A4Gm5WPDSC7vtcann4eiBXhj8hRDceDJBHemdNdZGo01XbukfpNuHRrwckNvzNJgst4EVOAlQ7xNcwzXVGw/pA==","signatures":[{"sig":"MEYCIQCdbbeyP1R4L2W/lvlUXt0cMPROKSIS0FoiMAa/OFJ5zAIhAKSbzUpb8lAmchhIdNZnt5HU9uqQbur0p5PvS76s/EGl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165210},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"39e67be90ed96250dd5d5c9e90897063484cfa90","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.9.0_1783337000756_0.720969896711481","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@arpsw/astro-cms","version":"0.9.1","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.9.1","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"dfd9da997f85a867f0e68890b29aeb538cf783cb","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.9.1.tgz","fileCount":35,"integrity":"sha512-2qu1jKUXOUtQchpri1wtWTddxHjmUzRXbRtYwjJuiQaeWxKhbF+MKYDdNdz1I3W+OIyydI0xPmAB0rJDFDtJuw==","signatures":[{"sig":"MEUCIClIYIz2nXfZA185sDH0LRutqxYqS3QpwiqTMaf/UqwPAiEA0q8Y5QhNpT6tqAnxxhzb4VxWAD21WqON62iyZLYchPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166668},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"f3fd117ed6ecf6b3ca2be3c477a00163dcab8898","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.9.1_1783451867569_0.9810675355165441","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@arpsw/astro-cms","version":"0.9.2","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.9.2","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"3a831665b56d885b29d8bdcd02f8d586f7b3b9c6","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.9.2.tgz","fileCount":35,"integrity":"sha512-3Jz6KBY3/grUbhMJmL0jHLTdeNrnXeZA6XlLRjWvcAbAzYVpNwAxbrFAAGKzBWG1/tkycELgDdovFQYzCNMz1A==","signatures":[{"sig":"MEUCIHr/Cl/6jFb0E+WLqNAmBWLu2j3jA4c44o9lIQWi+029AiEAiDSviuvo8UCcwhiJPrhNSyXce75vI49oojurcu4wElc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166631},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"14e35fef96ce839142a673a34f3308695977740c","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.9.2_1783452999568_0.3492663843850603","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@arpsw/astro-cms","version":"0.9.3","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.9.3","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"59ab57a8b00b2da1f64339a4bffae1b000d8fcf9","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.9.3.tgz","fileCount":35,"integrity":"sha512-b+XUBDP8bfCUrD4DTYeyTWxHUIrVV8IT3hjWexLZ3ZBP1Z38krGnPrXIbGQu2MsRNBjoLpg2G+LF2JsznEjs8g==","signatures":[{"sig":"MEQCIFUbV4zlGz++UfFH2OrBN8FXGVFKkF1oRH+o1otaN1QpAiAyTKa6iONErEVpMveXJiDO3CEnvueYIg6nrd9d3EXjLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166650},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./middleware":{"types":"./dist/middleware.d.ts","import":"./dist/middleware.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"20dcf3d1c33f6f23247ddda1d5d0f1ef02deb311","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.9.3_1783454866515_0.9861885074276768","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@arpsw/astro-cms","version":"0.10.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.10.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"3e6fc2cbf1037de8e887a2f5736cd9668cdabb14","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.10.0.tgz","fileCount":32,"integrity":"sha512-HAvPIBTk6AR2v3dARYBbhozsH0DYKZG4BTZCZ7wEKD1QW/BgS4KFYdN4tXCJiIPz0EfOLNOezVj+g0JVVIkCkQ==","signatures":[{"sig":"MEUCIBHQtaOwmEB3HxtVnc9tcyKp5vEPe0UlbVBg0SgiOerjAiEA/u+mwCUJNOORv3E5tgJANObH0eeLh8J/fZycRcGOHDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153106},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"2264b3bc6d5e12055b77f368fb5825d028839d10","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.10.0_1783457093160_0.03719656347520783","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@arpsw/astro-cms","version":"0.12.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.12.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"e7fd73254fb27e7252b9e3eea3d34afbd9e44e4b","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.12.0.tgz","fileCount":32,"integrity":"sha512-4OxV4TTzZ0I7ZGJA7I5nfLI1wae0cu2yFfgeM6vv/7ZhVR4aqh2hYD0CCgvgrk7w2v0YWhqSN4ZA10lARIRxVw==","signatures":[{"sig":"MEYCIQDol/T7YHBLiAaKQcx3eRfWAvqfOEaW3O27k68Mz2yZygIhAM7Im5ankRw2SPxzu+QB/W5Vz0KKRdRYVLkRaE8daxPs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159800},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"1325641f8d7fbd107b4d856048faa11025f64797","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.12.0_1784382927130_0.21981810464467655","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@arpsw/astro-cms","version":"0.13.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.13.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"5fdba68717061336451629cb6b29e894eeec108f","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.13.0.tgz","fileCount":32,"integrity":"sha512-wwXc7Gv35yeADwOevTha8iSwzZ9A55SlRc7MBnD5x5i07FY33dyDyytKRBZPoyrhLqOrkH/CyAqwKVtxP9bvGw==","signatures":[{"sig":"MEUCIFiq1SUS4oTBpmzHsKmHTyL0otSzyImyxrhPA9fKv3BgAiEA5iD3dds9T8c5ISrwojXEzD5MmULPFp7tOhsn9k21z9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168045},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"5810bb5ddb3b228423c43876e70d1589a74aebe0","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.13.0_1785239629821_0.030725098275687035","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@arpsw/astro-cms","version":"0.14.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.14.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"ae75cbef151cc2e6a0edfe939f7919859ec914f5","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.14.0.tgz","fileCount":32,"integrity":"sha512-imQ3opIXBhDM9GQaHVNVmAqFOHS+zw9lqojR56hFw5O43PAfJXqB09olcI65TTV0xGKw5o38Urxl35CUWz54OA==","signatures":[{"sig":"MEYCIQCUBjbWrdlulstire0iPkAmOZzJJ69ZXqbJUz/tR9SYxwIhAIaGXBRjKGouysO3fVShcyQ0aqVoPSlmpZhPYnNFypV4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173546},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"c86211cc72a8484b1b714b408524f0da0111c841","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.14.0_1785246342902_0.3437295486777223","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@arpsw/astro-cms","version":"0.15.0","keywords":["astro","astro-integration","arp","cms"],"author":{"name":"ARP.software"},"license":"UNLICENSED","_id":"@arpsw/astro-cms@0.15.0","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"homepage":"https://github.com/arpsw/astro-cms#readme","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"396fe862c7ab7d1042368159db8341b91ffa023b","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.15.0.tgz","fileCount":32,"integrity":"sha512-2rPcPeYtV4jCfeWT89xxO0HBoQ4APLRfALfK84Pmdlk8HIk1MZZvqHsE6W9qR0P1MqZUrREfnOF/4bzIKOdjXQ==","signatures":[{"sig":"MEUCIQDcitjiWP5B74kPkASjTWlrtojwQBZIKUXn/lWJ+XWnGQIgYtLpoKqXQ1pwL62U5sgpiyEMJFidd1LLkMWDryA3mrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178570},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"588cf4ef8eece821fc72d1854b1c6df37c2d64d8","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-cms_0.15.0_1785408761455_0.4503955649420386","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"_id":"@arpsw/astro-cms@0.16.0","bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"dist":{"shasum":"cac033b8186e27e1aed79283ced5ffb5045ae429","tarball":"https://registry.npmjs.org/@arpsw/astro-cms/-/astro-cms-0.16.0.tgz","fileCount":34,"integrity":"sha512-0PZJtHaxduCkeKParKIEQ1X6XoipuUgLuTHx7/69HCkDZ9t9s1OKiPlAX82GD4+ZO4+xCosd+JAWlO0ogpdCAg==","signatures":[{"sig":"MEQCIELTHeNqhaEgZX3kMrftKr4S0bf37+MpazrHb97yxxVaAiA6/NcwodgMRr83Pk1WtEXHsPBws29iM4wYJtDuuGj2XA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDjgR6iSXOqZhvJOY4/IOoI4hf+w75EAdyvNZMhPdkF/AIhAP2/0mCSd4TfZuwwVeFT2YRTi+g3ZPUP+zKtifrH1s+Y"}],"unpackedSize":203127},"name":"@arpsw/astro-cms","type":"module","author":{"name":"ARP.software"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev/registry.d.ts","import":"./dist/dev/registry.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js"},"./package.json":"./package.json","./routes/purge":{"types":"./dist/routes/purge.d.ts","import":"./dist/routes/purge.js"},"./CmsBlock.astro":"./src/components/CmsBlock.astro","./EditableBlock.astro":"./src/components/EditableBlock.astro","./PreviewBridge.astro":"./src/components/PreviewBridge.astro","./routes/preview-enter":{"types":"./dist/routes/preview-enter.d.ts","import":"./dist/routes/preview-enter.js"}},"gitHead":"8d694252bfd68b22ad35b2f02a2a6a2c4034aa8f","license":"UNLICENSED","scripts":{"dev":"tsup --watch","build":"tsup","check":"tsc --noEmit","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"version":"0.16.0","_npmUser":{"name":"iztok","email":"iztok.smolic@agiledrop.com"},"homepage":"https://github.com/arpsw/astro-cms#readme","keywords":["astro","astro-integration","arp","cms"],"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"_npmVersion":"10.9.8","description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","directories":{},"maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","astro":"^6.3.7","prettier":"^3.4.2","typescript":"^5.9.2","@types/node":"^22.19.19","prettier-plugin-astro":"^0.14.1"},"peerDependencies":{"astro":"^6.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-cms_0.16.0_1790536106965_0.1631956017300884"}}},"time":{"created":"2026-06-04T23:24:14.891Z","modified":"2026-09-27T19:08:27.241Z","0.3.1":"2026-06-04T23:24:15.228Z","0.3.2":"2026-06-04T23:45:21.567Z","0.3.3":"2026-06-05T06:03:46.381Z","0.4.0":"2026-06-09T13:29:25.189Z","0.5.0":"2026-06-10T20:40:09.686Z","0.8.0":"2026-07-06T06:37:14.250Z","0.8.1":"2026-07-06T10:51:34.402Z","0.9.0":"2026-07-06T11:23:20.899Z","0.9.1":"2026-07-07T19:17:47.722Z","0.9.2":"2026-07-07T19:36:39.724Z","0.9.3":"2026-07-07T20:07:46.665Z","0.10.0":"2026-07-07T20:44:53.313Z","0.12.0":"2026-07-18T13:55:27.265Z","0.13.0":"2026-07-28T11:53:50.005Z","0.14.0":"2026-07-28T13:45:43.018Z","0.15.0":"2026-07-30T10:52:41.599Z","0.16.0":"2026-09-27T19:08:27.052Z"},"bugs":{"url":"https://github.com/arpsw/astro-cms/issues"},"author":{"name":"ARP.software"},"license":"UNLICENSED","homepage":"https://github.com/arpsw/astro-cms#readme","keywords":["astro","astro-integration","arp","cms"],"repository":{"url":"git+https://github.com/arpsw/astro-cms.git","type":"git"},"description":"Astro integration for the ARP (Laravel) CMS — shared API client, i18n/path resolution, and config wiring for ARP CMS sites.","maintainers":[{"name":"iztok","email":"iztok.smolic@agiledrop.com"}],"readme":"# @arpsw/astro-cms\n\nAstro integration for the **ARP (Laravel) CMS**. It packages the wiring every\nARP CMS site repeats — the API client, types, i18n + locale/path resolution, and\nconfig — so a new site is *install → configure → design* instead of fork-and-sync.\n\nModelled on [`@storyblok/astro`](https://github.com/storyblok/monoblok/tree/main/packages/astro):\na single integration in `astro.config`, plus runtime helpers and a block\ndispatcher. The CMS is multi-site; one deployment serves one site (`site` slug).\n\n> **Status — `0.x` (pre-release).** Shipped: the `arpCms()` integration (i18n\n> routing + the `virtual:arp-cms` config module), the CMS client, API types,\n> i18n/path resolution, and `resolveRequest()`. Landing next: the `<CmsBlock>`\n> dispatcher (you currently map block types in the site). See **Roadmap**.\n\n## Requirements\n\n- Astro `^6`\n- Node `>= 22.12.0`\n- A reachable ARP CMS API (Laravel), e.g. `https://arp-agiledrop.test` in dev\n\n## Install\n\nThe package is published to the **public npm registry** under the `@arpsw`\nscope — no registry config or auth token required:\n\n```bash\nnpm install @arpsw/astro-cms\n```\n\n## Configure\n\nRegister the integration in `astro.config.ts`. Wire the values from the site's\nown `.env` — the integration runs in Node before Vite, so it can't read\n`import.meta.env` itself:\n\n```ts\nimport { defineConfig } from 'astro/config';\nimport cloudflare from '@astrojs/cloudflare';\nimport arpCms from '@arpsw/astro-cms';\n\nexport default defineConfig({\n  adapter: cloudflare(),\n  integrations: [\n    arpCms({\n      baseUrl: process.env.CMS_API_BASE_URL ?? 'http://arp-agiledrop.test',\n      site: process.env.CMS_SITE ?? 'agiledrop',\n      locales: ['en', 'sl'],          // first is the fallback default\n      defaultLocale: process.env.DEFAULT_LOCALE, // optional; must be in `locales`\n      menuSlug: process.env.CMS_MENU_SLUG ?? 'main',\n      previewToken: process.env.CMS_PREVIEW_TOKEN,\n      websiteUrls: {\n        en: process.env.WEBSITE_URL_EN,\n        sl: process.env.WEBSITE_URL_SL,\n      },\n    }),\n  ],\n});\n```\n\nThe integration then, on `astro:config:setup`:\n\n- sets Astro's `i18n: { locales, defaultLocale, routing: { prefixDefaultLocale: false } }`,\n- applies the `publicDir` dev workaround (Astro/Vite trailing-slash bug),\n- exposes the resolved config to runtime code as the **`virtual:arp-cms`** module.\n\nYou do **not** repeat the `i18n` block or the `publicDir` tweak in your own config.\n\n## Render content\n\nEach site keeps a thin catch-all that wraps **its own** layout and maps block\ntypes to **its own** components. Import runtime helpers from the `/runtime`\nsubpath (the `.` entry is the integration, kept free of runtime imports so it's\nsafe in `astro.config`):\n\n```astro\n---\n// src/pages/[...slug].astro\nimport Base from '../layouts/Base.astro';\nimport { resolveRequest } from '@arpsw/astro-cms/runtime';\nimport HomeHero from '../components/blocks/HomeHero.astro';\nimport Features from '../components/blocks/Features.astro';\n\nconst blocks = { home_hero: HomeHero, features: Features };\n\nconst { locale, resolved, menu, redirect } = await resolveRequest(Astro);\nif (redirect) return Astro.redirect(redirect.to, redirect.code);\n// resolveRequest already set Astro.response.status + Cache-Control.\n---\n<Base mainMenu={menu?.items ?? []}>\n  {resolved?.type === 'page' &&\n    resolved.data.blocks.map((block) => {\n      const Cmp = blocks[block.type];\n      return Cmp ? <Cmp {...block} {locale} /> : null;\n    })}\n</Base>\n```\n\n`resolveRequest()` encapsulates locale/path resolution → the CMS `resolve`\nlookup → the nav menu fetch → the edge `Cache-Control` headers. The route stays\n~15 lines; the package owns the plumbing, the site owns the design.\n\n### Optional: `<CmsBlock>`\n\nFor sites whose blocks share a uniform prop signature, a generic dispatcher\nsaves the `block.type` switch:\n\n```astro\nimport CmsBlock from '@arpsw/astro-cms/CmsBlock.astro';\nimport Hero from '../components/blocks/Hero.astro';\nconst components = { hero: Hero, features: Features };\n...\n{page.blocks.map((block) => <CmsBlock {block} {components} {locale} />)}\n```\n\nIt renders `components[block.type]` with the whole `block` (read `block.data`)\nplus any extra props; unknown types render nothing. If your blocks need\n**per-type props or per-block typed `data`** (e.g. only the first block gets\n`isFirst`), hand-write a renderer with a `block.type` switch instead — that\nstays fully type-safe.\n\n## Media & i18n helpers (`/runtime`)\n\n**Media** — normalise the DAM picker shape (`MediaAsset | MediaAsset[] | null`):\n\n```ts\nimport { assetSrc, assetAlt, firstAsset, assetFocalPosition } from '@arpsw/astro-cms/runtime';\nconst src = assetSrc(block.image, 'large');   // best size, falls back to .url\nconst alt = assetAlt(block.image);            // alt → title → ''\nconst pos = assetFocalPosition(block.image);  // \"50% 30%\" for object-position, or undefined\n```\n\n### Image transforms\n\n`cfImage` / `cfSrcset` rewrite a media URL to a resized derivative. They're\nstring rewrites, not image processing, so they stay usable in plain markup:\n\n```astro\n---\nimport { assetSrc, imageUrl, imageSrcset } from '@arpsw/astro-cms/runtime';\nconst src = assetSrc(block.image, 'large');\n---\n<img\n  src={imageUrl(src, { width: 1100 })}\n  srcset={imageSrcset(src, [640, 1100, 1600])}\n  sizes=\"(max-width: 768px) 100vw, 1100px\"\n/>\n```\n\n`imageUrl` / `imageSrcset` name the **intent**. Which URL scheme they emit is an\nimplementation detail chosen by `images.transform`, so a new builder never\nchanges a call site. (`cfImage` / `cfSrcset` / `CfImageOptions` still work as\ndeprecated aliases; they'll go in 1.0.)\n\nWith the default `cloudflare` mode, derivatives are produced on the fly by\n**Cloudflare Image Transformations** via `/cdn-cgi/image/<options>/<path>`, built\non the **asset's own origin** (the DAM), not the site host: transformations run\non the zone that serves the URL, so any site can embed them as long as the DAM\nsits behind Cloudflare with Transformations on. Every URL carries\n`onerror=redirect`, so a derivative Cloudflare can't produce falls back to the\noriginal image instead of erroring.\n\nA URL comes back untouched when it can't be transformed: `transform: 'off'`, an\nSVG, a relative path, or anything the active builder declines (for `cloudflare`:\na local host, a non-https origin, an already-transformed URL). `imageSrcset`\nreturns `undefined` in those cases, so the caller just omits the attribute. To\nbranch on it yourself, use **`canTransform(src)`** rather than comparing\n`imageUrl()` output against its input.\n\n#### Adding a transform builder\n\nAdd the mode to `ImageTransformMode` and an entry to the `BUILDERS` registry in\n`src/media.ts`. The registry is typed `Record<Exclude<ImageTransformMode, 'off'>,\nImageBuilder>`, so a missing entry is a compile error and the two can't drift.\n\nPut provider-specific preconditions in that builder's `handles()`, **not** in the\nshared prelude. Most of the existing guards are Cloudflare-specific even though\nthey read as generic: an Astro `/_image` builder would want local hosts to be the\n*good* case (sharp runs locally), would accept non-https origins, and would\nrecognise its own `/_image` prefix. Only \"empty\", \"unparseable\" and \"SVG\" are\ngenuinely shared. Note also that `ImageOptions` is Cloudflare-flavoured: the\n`fit` values are CF's vocabulary, and `format: 'auto'` is a CF capability, so\nanother builder must map or reject them (Astro's endpoint returns 400 on\nanything outside jpeg/png/gif/webp/avif).\n\n#### Turning transforms off (`images.transform`)\n\nThe local-host check is a zero-config convenience for ordinary development. It\n**can't** recognise a public-looking hostname with no Cloudflare in front, such\nas a share tunnel or staging behind a plain proxy: there the transform URL 404s\nwhile the original loads fine. Set the mode explicitly for those environments:\n\n```ts\n// astro.config.ts\narpCms({\n  // …\n  images: { transform: env.CMS_IMAGE_TRANSFORM === 'off' ? 'off' : 'cloudflare' },\n});\n```\n\n```dotenv\n# .env — DAM reachable, but not behind Cloudflare\nCMS_IMAGE_TRANSFORM=off\n```\n\nWith `'off'` the URLs pass through and the DAM serves the conversions it already\nstores (`thumbnail` / `medium` / `large` / `preview`) — exactly what `assetSrc`\nselects. An unrecognised value **throws** at `astro.config` time rather than\ndefaulting, so a typo can't quietly reintroduce broken transform URLs.\n\n**Language switcher** — one entry per configured locale (labels from `localeMeta`):\n\n```ts\nimport { languageSwitchEntries, isRTL } from '@arpsw/astro-cms/runtime';\nconst entries = languageSwitchEntries(Astro.url); // [{ locale, code, native, href, isActive, hreflang }]\n```\n\n**UI translations** — the package owns the *mechanism*, the site owns the\n*content*. Define a per-locale dictionary and get a typed lookup:\n\n```ts\n// site src/i18n.ts\nimport { makeTranslator } from '@arpsw/astro-cms/runtime';\nexport const t = makeTranslator({\n  en: { footer: { contact: 'Contact us' } },\n  sl: { footer: { contact: 'Kontaktirajte nas' } },\n});\n// component: const s = t(locale); s.footer.contact   (falls back to default locale)\n```\n\n## Options\n\n| Option | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `baseUrl` | ✓ | — | CMS API base URL; trailing slashes trimmed |\n| `site` | ✓ | — | Multi-site slug (or numeric id) |\n| `locales` | ✓ | — | Locale codes; first is the fallback default |\n| `defaultLocale` | | `locales[0]` | Must be one of `locales`, else ignored |\n| `menuSlug` | | `\"main\"` | Nav menu slug |\n| `previewToken` | | — | Bearer for `preview/*`; omit to disable preview |\n| `previewCookieTtl` | | `3600` | Preview-session cookie lifetime (seconds) |\n| `previewEditorOrigins` | | origin of `baseUrl` | Origins allowed to frame `/preview/*` for click-to-edit (array or comma-separated string) |\n| `cache` | | sensible defaults | `Cache-Control` overrides (`page`/`notFound`/`error`/`preview`) |\n| `images` | | `{ transform: 'cloudflare' }` | Image delivery; `'off'` disables the `/cdn-cgi/image/` rewrites (see [Image transforms](#image-transforms)) |\n| `websiteUrls` | | `{}` | Per-locale canonical URLs; unset → path-prefix routing |\n| `localeMeta` | | `{}` | Per-locale display data (`code`, `native`, `english?`, `dir?`) for the language switcher + RTL |\n\n## Preview sessions\n\nDraft content lives behind the CMS `preview/*` endpoints, authed by the\nserver↔CMS `previewToken`. That token stays server-side — it is **not** what\nauthorizes a browser to view `/preview/*`. Otherwise anyone who knew the URL\ncould read drafts.\n\nInstead, the package ships a \"secret-to-bootstrap, cookie-to-sustain\" handshake\n(the same model as Payload CMS / Next.js Draft Mode):\n\n1. An editor opens `/preview/enter?token=<previewToken>&path=/some-page`\n   (typically from a \"Preview\" action in the CMS admin).\n2. The site's enter endpoint calls `previewTokenMatches()`, then\n   `createPreviewSession()` to mint a signed, httpOnly, time-boxed cookie, and\n   redirects to the page. The token appears only on this one bare-redirect\n   request, so it can't leak via Referer.\n3. Each `/preview/*` route calls `verifyPreviewSession()` on the cookie before\n   fetching drafts — no valid cookie, no CMS call.\n\nThe site owns the two routes (so it controls the UI); the package owns the\ncrypto. Minimal enter endpoint:\n\n```ts\n// src/pages/preview/enter.ts\nimport type { APIRoute } from 'astro';\nimport {\n  createPreviewSession, isPreviewConfigured, previewCookieOptions,\n  previewTokenMatches, PREVIEW_COOKIE_NAME,\n} from '@arpsw/astro-cms/runtime';\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ url, cookies, redirect }) => {\n  if (!isPreviewConfigured()) return new Response('Preview not configured.', { status: 503 });\n  if (!previewTokenMatches(url.searchParams.get('token')))\n    return new Response('Invalid preview token.', { status: 401 });\n\n  const session = await createPreviewSession();\n  cookies.set(PREVIEW_COOKIE_NAME, session.value,\n    previewCookieOptions(url.protocol === 'https:', session.maxAge));\n  return redirect('/preview' + (url.searchParams.get('path') ?? ''), 302);\n};\n```\n\nGate in the `/preview/*` route:\n\n```ts\nimport { verifyPreviewSession, PREVIEW_COOKIE_NAME } from '@arpsw/astro-cms/runtime';\nconst authorized = await verifyPreviewSession(Astro.cookies.get(PREVIEW_COOKIE_NAME)?.value);\nif (!authorized) { Astro.response.status = 401; /* render a \"no session\" notice */ }\n```\n\nThe cookie carries `<expiryMs>.<hmac>` (HMAC-SHA256 keyed by `previewToken`); the\nexpiry is re-checked server-side, so a kept-alive cookie still dies on schedule.\n`secure` is caller-supplied so it sets over http on localhost but is `Secure` in\nprod — derive it from the request protocol as shown.\n\n## Click-to-edit preview (CMS editor iframe)\n\nThe CMS editor can embed a preview in an iframe and let editors click a block\nto jump to it in the form (Storyblok-style, refreshed on save rather than\nlive). Three pieces, all opt-in:\n\n1. **Auth that survives framing.** Inside a cross-site iframe the preview\n   cookie is a third-party cookie, which `SameSite=Lax` withholds and Safari\n   blocks. So the editor loads `/preview/<path>?arp_preview=<grant>` (the same\n   short-lived grant `/preview/enter` takes), and the route calls\n   `authorizePreview({ url, cookies })`. It accepts the URL token or the\n   cookie, and exchanges a grant for a session value (`urlToken`) that the\n   bridge keeps on the URL, so reloads and navigation stay authorized for\n   `previewCookieTtl`.\n2. **Headers.** `applyPreviewHeaders(Astro.response.headers)` sets no-store,\n   noindex, `frame-ancestors 'self' <previewEditorOrigins>` and\n   `Referrer-Policy: same-origin` (the URL token never leaves the site in a\n   Referer). `resolveRequest(ctx, { preview: true })` applies it for you.\n3. **Markers + bridge.** Wrap each rendered block in\n   `EditableBlock.astro` (a `display: contents` wrapper, so no layout change)\n   and render `PreviewBridge.astro` once on the preview route:\n\n```astro\n---\nimport { authorizePreview, applyPreviewHeaders } from '@arpsw/astro-cms/runtime';\nimport EditableBlock from '@arpsw/astro-cms/EditableBlock.astro';\nimport PreviewBridge from '@arpsw/astro-cms/PreviewBridge.astro';\n\napplyPreviewHeaders(Astro.response.headers);\nconst { authorized, urlToken } = await authorizePreview({ url: Astro.url, cookies: Astro.cookies });\n---\n{page.blocks.map((block, index) => (\n  <EditableBlock {block} {index} editable>\n    <Block data={block.data} />\n  </EditableBlock>\n))}\n<PreviewBridge token={urlToken} />\n```\n\nThe bridge is inert unless the page is framed. When framed it outlines the\nhovered block, reports clicks to the editor (Alt/Option-click passes through to\nthe page, so islands stay usable), rewrites same-site links to stay under\n`/preview` with the token, and obeys editor commands. Messages go only to, and\nare accepted only from, `previewEditorOrigins`.\n\nProtocol (v1). Frame to editor, `{ source: 'arp-preview', version: 1, ... }`:\n\n| `type` | Fields | When |\n|---|---|---|\n| `ready` | `path`, `blocks: [{ uuid, type, index, global }]`, `scrollY` | Page loaded |\n| `scroll` | `scrollY` | The page scrolled (debounced) |\n| `select` | `uuid`, `blockType`, `index`, `global` | Editor clicked a block |\n\nEditor to frame, `{ source: 'arp-cms', ... }`:\n\n| `type` | Fields | Effect |\n|---|---|---|\n| `reload` | | Reload (send after a draft save) |\n| `scroll` | `top` | Jump to a scroll position, instantly. To keep the position across a reload, remember the last `scroll` report and send it back on the next `ready` |\n| `select` | `uuid` (null clears) | Outline the block, scroll it into view |\n| `hover` | `uuid` (null clears) | Outline only (mirror form hover) |\n\n`uuid` is the per-placement block identity the CMS mints and serializes;\n`index` is the fallback for content saved before uuids existed. A `global` slug\nmeans the block is a shared global block, edited elsewhere.\n\n## Local development of this package\n\nNo monorepo — link a local checkout into a site while iterating:\n\n```bash\n# in this package\nnpm run build            # or: npm run dev  (tsup --watch)\nnpm link\n\n# in the consuming site\nnpm link @arpsw/astro-cms\n```\n\n`npm run check` type-checks; `npm run build` emits `dist/` (ESM + `.d.ts`).\n\n## Roadmap\n\n- ✅ CMS client (`getPage`, `resolvePath`, `listPosts`, `getMenu`,\n  `getWebform`, …), API types, i18n/path resolution (`resolveRequest`,\n  `resolveLocaleAndPath`, `getLocaleUrl`, `localePath`, `linkHref`). First\n  consumer: `astro-website` (agiledrop).\n- ✅ `<CmsBlock>` — optional generic dispatcher (`@arpsw/astro-cms/CmsBlock.astro`).\n  Per-block typed renderers remain the recommended pattern for varied props.\n- later — optional `injectRoute` for the catch-all + preview routes, a\n  translation (UI-strings) system + `media` helper + per-locale display\n  metadata (needed before `arp-software-website` can adopt the package), and\n  `types` codegen from the Laravel API resources.\n\n## Publishing\n\nTag a release; CI (`.github/workflows/release.yml`) builds and publishes to the\n**public npm registry** (per `publishConfig`), using the repo's `NPM_TOKEN`\nsecret. Publishing is tag-driven and CI-only: don't run `npm publish` locally.\n\n```bash\nnpm version minor        # or patch/major — bumps package.json + creates the tag\ngit push --follow-tags\n```\n\nConsumers pin caret ranges, and on `0.x` a caret does **not** cross a minor\n(`^0.12.0` won't install `0.13.0`). After releasing, bump each consuming site's\nrange *and* its lockfile (`npm install`, then confirm `package-lock.json`\nresolves from `registry.npmjs.org`), or the site keeps building against the old\nversion. Known consumers: `arp-projects/arp-software-website` and\n`Sites/arp-agiledrop/astro-website`.\n","readmeFilename":"README.md"}