{"_id":"@astropress-diy/astropress","_rev":"2-b1d8b9f03589e7f607c03bed5d64f74a","name":"@astropress-diy/astropress","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@astropress-diy/astropress","version":"0.0.1","keywords":["astro","web-app-framework","wordpress-migration","cloudflare","supabase","runway","github-pages","web-components"],"license":"MIT","_id":"@astropress-diy/astropress@0.0.1","maintainers":[{"name":"astropress.diy","email":"hello@astropress.diy"}],"homepage":"https://astropress.diy/docs","bugs":{"url":"https://github.com/astropress/astropress/issues"},"dist":{"shasum":"cd5e86bfdfe3ffaf2aeaabeb894eeb01506fb3ee","tarball":"https://registry.npmjs.org/@astropress-diy/astropress/-/astropress-0.0.1.tgz","fileCount":524,"integrity":"sha512-VbQc+nEMjerRuFVodhuuKn/p/sFvJkMJjxgYC4Dpn1g7/MEpJGtTvMjxCrkUMjx2S/ZQeJnb0fy6pfBNedzSKQ==","signatures":[{"sig":"MEUCIDofwlQ3DqC2WN+l2YIObAOYTYV9l6rcx4PSW9Mh3o7NAiEA2YBhy+YLMPmjnn01d92eTXcHWaEoq9suK0F36+lJLjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2239495},"type":"module","engines":{"node":">=24.8.0"},"exports":{".":{"types":"./index.ts","default":"./dist/index.js"},"./media":{"types":"./src/media.ts","default":"./dist/src/media.js"},"./admin-ui":{"types":"./src/admin-ui.ts","default":"./dist/src/admin-ui.js"},"./sync/git":{"types":"./src/sync/git.ts","default":"./dist/src/sync/git.js"},"./analytics":{"types":"./src/analytics.ts","default":"./dist/src/analytics.js"},"./donations":{"types":"./src/donations.ts","default":"./dist/src/donations.js"},"./turnstile":{"types":"./src/turnstile.ts","default":"./dist/src/turnstile.js"},"./api-routes":{"types":"./src/api-routes.ts","default":"./dist/src/api-routes.js"},"./integration":{"types":"./src/integration.ts","default":"./dist/src/integration.js"},"./project-env":{"types":"./src/project-env.ts","default":"./dist/src/project-env.js"},"./runtime-env":{"types":"./src/runtime-env.ts","default":"./dist/src/runtime-env.js"},"./admin-recent":{"types":"./src/admin-recent.ts","default":"./dist/src/admin-recent.js"},"./admin-routes":{"types":"./src/admin-routes.ts","default":"./dist/src/admin-routes.js"},"./components/*":"./components/*.astro","./adapters/neon":{"types":"./src/adapters/neon.ts","default":"./dist/src/adapters/neon.js"},"./deploy/custom":{"types":"./src/deploy/custom.ts","default":"./dist/src/deploy/custom.js"},"./deploy/render":{"types":"./src/deploy/render.ts","default":"./dist/src/deploy/render.js"},"./deploy/vercel":{"types":"./src/deploy/vercel.ts","default":"./dist/src/deploy/vercel.js"},"./site-settings":{"types":"./src/site-settings.ts","default":"./dist/src/site-settings.js"},"./adapters/local":{"types":"./src/adapters/local.ts","default":"./dist/src/adapters/local.js"},"./adapters/nhost":{"types":"./src/adapters/nhost.ts","default":"./dist/src/adapters/nhost.js"},"./adapters/turso":{"types":"./src/adapters/turso.ts","default":"./dist/src/adapters/turso.js"},"./api-middleware":{"types":"./src/api-middleware.ts","default":"./dist/src/api-middleware.js"},"./d1-migrate-ops":{"types":"./src/d1-migrate-ops.ts","default":"./dist/src/d1-migrate-ops.js"},"./db-migrate-ops":{"types":"./src/db-migrate-ops.ts","default":"./dist/src/db-migrate-ops.js"},"./deploy/netlify":{"types":"./src/deploy/netlify.ts","default":"./dist/src/deploy/netlify.js"},"./project-launch":{"types":"./src/project-launch.ts","default":"./dist/src/project-launch.js"},"./runtime-health":{"types":"./src/runtime-health.ts","default":"./dist/src/runtime-health.js"},"./runtime-logger":{"types":"./src/runtime-logger.ts","default":"./dist/src/runtime-logger.js"},"./web-components":{"types":"./web-components/index.ts","default":"./web-components/index.ts"},"./adapters/hosted":{"types":"./src/adapters/hosted.ts","default":"./dist/src/adapters/hosted.js"},"./adapters/runway":{"types":"./src/adapters/runway.ts","default":"./dist/src/adapters/runway.js"},"./adapters/sqlite":{"types":"./src/adapters/sqlite.ts","default":"./dist/src/adapters/sqlite.js"},"./admin-dashboard":{"types":"./src/admin-dashboard.ts","default":"./dist/src/admin-dashboard.js"},"./project-runtime":{"types":"./src/project-runtime.ts","default":"./dist/src/project-runtime.js"},"./provider-choice":{"types":"./src/provider-choice.ts","default":"./dist/src/provider-choice.js"},"./services-config":{"types":"./src/services-config.ts","default":"./dist/src/services-config.js"},"./adapters/project":{"types":"./src/adapters/project.ts","default":"./dist/src/adapters/project.js"},"./app-host-targets":{"types":"./src/app-host-targets.ts","default":"./dist/src/app-host-targets.js"},"./import/wordpress":{"types":"./src/import/wordpress.ts","default":"./dist/src/import/wordpress.js"},"./project-scaffold":{"types":"./src/project-scaffold.ts","default":"./dist/src/project-scaffold.js"},"./provider-targets":{"types":"./src/provider-targets.ts","default":"./dist/src/provider-targets.js"},"./sqlite-bootstrap":{"types":"./src/sqlite-bootstrap.ts","default":"./dist/src/sqlite-bootstrap.js"},"./vite-integration":{"types":"./src/vite-integration.ts","default":"./dist/src/vite-integration.js"},"./adapters/appwrite":{"types":"./src/adapters/appwrite.ts","default":"./dist/src/adapters/appwrite.js"},"./adapters/supabase":{"types":"./src/adapters/supabase.ts","default":"./dist/src/adapters/supabase.js"},"./admin-page-models":{"types":"./src/admin-page-models.ts","default":"./dist/src/admin-page-models.js"},"./deployment-matrix":{"types":"./src/deployment-matrix.ts","default":"./dist/src/deployment-matrix.js"},"./hosted-api-adapter":{"types":"./src/hosted-api-adapter.ts","default":"./dist/src/hosted-api-adapter.js"},"./newsletter-adapter":{"types":"./src/newsletter-adapter.ts","default":"./dist/src/newsletter-adapter.js"},"./platform-contracts":{"types":"./src/platform-contracts.ts","default":"./dist/src/platform-contracts.js"},"./runtime-admin-auth":{"types":"./src/runtime-admin-auth.ts","default":"./dist/src/runtime-admin-auth.js"},"./runtime-page-store":{"types":"./src/runtime-page-store.ts","default":"./dist/src/runtime-page-store.js"},"./vite-runtime-alias":{"types":"./src/vite-runtime-alias.ts","default":"./dist/src/vite-runtime-alias.js"},"./adapters/cloudflare":{"types":"./src/adapters/cloudflare.ts","default":"./dist/src/adapters/cloudflare.js"},"./adapters/pocketbase":{"types":"./src/adapters/pocketbase.ts","default":"./dist/src/adapters/pocketbase.js"},"./deploy/github-pages":{"types":"./src/deploy/github-pages.ts","default":"./dist/src/deploy/github-pages.js"},"./deploy/gitlab-pages":{"types":"./src/deploy/gitlab-pages.ts","default":"./dist/src/deploy/gitlab-pages.js"},"./local-image-storage":{"types":"./src/local-image-storage.ts","default":"./dist/src/local-image-storage.js"},"./local-media-storage":{"types":"./src/local-media-storage.ts","default":"./dist/src/local-media-storage.js"},"./seeded-content-type":{"types":"./src/seeded-content-type.ts","default":"./dist/src/seeded-content-type.js"},"./transactional-email":{"types":"./src/transactional-email.ts","default":"./dist/src/transactional-email.js"},"./content-services-ops":{"types":"./src/content-services-ops.ts","default":"./dist/src/content-services-ops.js"},"./data-service-targets":{"types":"./src/data-service-targets.ts","default":"./dist/src/data-service-targets.js"},"./host-runtime-modules":{"types":"./src/host-runtime-modules.ts","default":"./dist/src/host-runtime-modules.js"},"./sqlite-admin-runtime":{"types":"./src/sqlite-admin-runtime.ts","default":"./dist/src/sqlite-admin-runtime.js"},"./vitest-runtime-alias":{"types":"./src/vitest-runtime-alias.ts","default":"./dist/src/vitest-runtime-alias.js"},"./local-runtime-modules":{"types":"./src/local-runtime-modules.ts","default":"./dist/src/local-runtime-modules.js"},"./runtime-admin-actions":{"types":"./src/runtime-admin-actions.ts","default":"./dist/src/runtime-admin-actions.js"},"./runtime-media-storage":{"types":"./src/runtime-media-storage.ts","default":"./dist/src/runtime-media-storage.js"},"./web-components/notice":{"types":"./web-components/notice.ts","default":"./web-components/notice.ts"},"./adapters/runway-sqlite":{"types":"./src/adapters/runway-sqlite.ts","default":"./dist/src/adapters/runway-sqlite.js"},"./host-runtime-factories":{"types":"./src/host-runtime-factories.ts","default":"./dist/src/host-runtime-factories.js"},"./runtime-route-registry":{"types":"./src/runtime-route-registry.ts","default":"./dist/src/runtime-route-registry.js"},"./auth-repository-factory":{"types":"./src/auth-repository-factory.ts","default":"./dist/src/auth-repository-factory.js"},"./cloudflare-workers-stub":{"types":"./src/cloudflare-workers-stub.ts","default":"./dist/src/cloudflare-workers-stub.js"},"./deploy/cloudflare-pages":{"types":"./src/deploy/cloudflare-pages.ts","default":"./dist/src/deploy/cloudflare-pages.js"},"./hosted-platform-adapter":{"types":"./src/hosted-platform-adapter.ts","default":"./dist/src/hosted-platform-adapter.js"},"./runtime-actions-restore":{"types":"./src/runtime-actions-restore.ts","default":"./dist/src/runtime-actions-restore.js"},"./user-repository-factory":{"types":"./src/user-repository-factory.ts","default":"./dist/src/user-repository-factory.js"},"./adapters/supabase-sqlite":{"types":"./src/adapters/supabase-sqlite.ts","default":"./dist/src/adapters/supabase-sqlite.js"},"./web-components/admin-nav":{"types":"./web-components/admin-nav.ts","default":"./web-components/admin-nav.ts"},"./author-repository-factory":{"types":"./src/author-repository-factory.ts","default":"./dist/src/author-repository-factory.js"},"./cms-route-registry-factory":{"types":"./src/cms-route-registry-factory.ts","default":"./dist/src/cms-route-registry-factory.js"},"./comment-repository-factory":{"types":"./src/comment-repository-factory.ts","default":"./dist/src/comment-repository-factory.js"},"./content-repository-factory":{"types":"./src/content-repository-factory.ts","default":"./dist/src/content-repository-factory.js"},"./web-components/html-editor":{"types":"./web-components/html-editor.ts","default":"./web-components/html-editor.ts"},"./admin-store-adapter-factory":{"types":"./src/admin-store-adapter-factory.ts","default":"./dist/src/admin-store-adapter-factory.js"},"./cloudflare-vite-integration":{"types":"./src/cloudflare-vite-integration.ts","default":"./dist/src/cloudflare-vite-integration.js"},"./redirect-repository-factory":{"types":"./src/redirect-repository-factory.ts","default":"./dist/src/redirect-repository-factory.js"},"./settings-repository-factory":{"types":"./src/settings-repository-factory.ts","default":"./dist/src/settings-repository-factory.js"},"./taxonomy-repository-factory":{"types":"./src/taxonomy-repository-factory.ts","default":"./dist/src/taxonomy-repository-factory.js"},"./web-components/theme-toggle":{"types":"./web-components/theme-toggle.ts","default":"./web-components/theme-toggle.ts"},"./admin-action-mailchimp-import":{"types":"./src/admin-action-mailchimp-import.ts","default":"./dist/src/admin-action-mailchimp-import.js"},"./rate-limit-repository-factory":{"types":"./src/rate-limit-repository-factory.ts","default":"./dist/src/rate-limit-repository-factory.js"},"./submission-repository-factory":{"types":"./src/submission-repository-factory.ts","default":"./dist/src/submission-repository-factory.js"},"./web-components/confirm-dialog":{"types":"./web-components/confirm-dialog.ts","default":"./web-components/confirm-dialog.ts"},"./cloudflare-local-runtime-stubs":{"types":"./src/cloudflare-local-runtime-stubs.ts","default":"./dist/src/cloudflare-local-runtime-stubs.js"},"./cloudflare-sqlite-adapter-stub":{"types":"./src/cloudflare-sqlite-adapter-stub.ts","default":"./dist/src/cloudflare-sqlite-adapter-stub.js"},"./local-media-repository-factory":{"types":"./src/local-media-repository-factory.ts","default":"./dist/src/local-media-repository-factory.js"},"./translation-repository-factory":{"types":"./src/translation-repository-factory.ts","default":"./dist/src/translation-repository-factory.js"},"./web-components/command-palette":{"types":"./web-components/command-palette.ts","default":"./web-components/command-palette.ts"},"./cloudflare-sqlite-bootstrap-stub":{"types":"./src/cloudflare-sqlite-bootstrap-stub.ts","default":"./dist/src/cloudflare-sqlite-bootstrap-stub.js"},"./web-components/ap-lock-indicator":{"types":"./web-components/ap-lock-indicator.ts","default":"./web-components/ap-lock-indicator.ts"},"./cloudflare-local-image-storage-stub":{"types":"./src/cloudflare-local-image-storage-stub.ts","default":"./dist/src/cloudflare-local-image-storage-stub.js"},"./cloudflare-local-media-storage-stub":{"types":"./src/cloudflare-local-media-storage-stub.ts","default":"./dist/src/cloudflare-local-media-storage-stub.js"},"./web-components/ap-stale-tab-warning":{"types":"./web-components/ap-stale-tab-warning.ts","default":"./web-components/ap-stale-tab-warning.ts"},"./cloudflare-sqlite-admin-runtime-stub":{"types":"./src/cloudflare-sqlite-admin-runtime-stub.ts","default":"./dist/src/cloudflare-sqlite-admin-runtime-stub.js"}},"gitHead":"b69eeb6c38d52352b6ee6a34550b2c5218035dd9","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json --noCheck && bun ../../tooling/scripts/add-js-ext.ts dist && cp src/sqlite-schema.sql dist/src/sqlite-schema.sql","release":"changeset publish","version":"changeset version","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"bun run build && cd ../.. && bun run audit:arch"},"_npmUser":{"name":"astropress.diy","email":"hello@astropress.diy"},"repository":{"url":"git+https://github.com/astropress/astropress.git","type":"git"},"_npmVersion":"10.9.7","description":"Low-carbon Astro web app framework for relatively simple sites run by individuals and small organizations.","directories":{},"sideEffects":["./web-components/*.ts","./web-components/index.ts"],"_nodeVersion":"22.22.2","dependencies":{"sharp":"^0.34.5","image-size":"^2.0.2","nodemailer":"^8.0.5","htmlparser2":"^9.1.0","@noble/hashes":"^2.0.1","sanitize-html":"^2.17.0","@noble/post-quantum":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3","schema-dts":"^2.0.0","typescript":"5.9.3","@changesets/cli":"^2.29.7","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"zod":">=4.0.0","astro":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astropress_0.0.1_1776144650727_0.5929805780830208","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@astropress-diy/astropress","version":"0.0.3","description":"Low-carbon Astro web app framework for relatively simple sites run by individuals and small organizations.","type":"module","exports":{".":{"types":"./index.ts","default":"./dist/index.js"},"./components/*":"./components/*.astro","./platform-contracts":{"types":"./src/platform-contracts.ts","default":"./dist/src/platform-contracts.js"},"./project-env":{"types":"./src/project-env.ts","default":"./dist/src/project-env.js"},"./project-runtime":{"types":"./src/project-runtime.ts","default":"./dist/src/project-runtime.js"},"./project-launch":{"types":"./src/project-launch.ts","default":"./dist/src/project-launch.js"},"./project-scaffold":{"types":"./src/project-scaffold.ts","default":"./dist/src/project-scaffold.js"},"./provider-choice":{"types":"./src/provider-choice.ts","default":"./dist/src/provider-choice.js"},"./app-host-targets":{"types":"./src/app-host-targets.ts","default":"./dist/src/app-host-targets.js"},"./data-service-targets":{"types":"./src/data-service-targets.ts","default":"./dist/src/data-service-targets.js"},"./deployment-matrix":{"types":"./src/deployment-matrix.ts","default":"./dist/src/deployment-matrix.js"},"./admin-routes":{"types":"./src/admin-routes.ts","default":"./dist/src/admin-routes.js"},"./admin-ui":{"types":"./src/admin-ui.ts","default":"./dist/src/admin-ui.js"},"./hosted-api-adapter":{"types":"./src/hosted-api-adapter.ts","default":"./dist/src/hosted-api-adapter.js"},"./hosted-platform-adapter":{"types":"./src/hosted-platform-adapter.ts","default":"./dist/src/hosted-platform-adapter.js"},"./provider-targets":{"types":"./src/provider-targets.ts","default":"./dist/src/provider-targets.js"},"./sqlite-bootstrap":{"types":"./src/sqlite-bootstrap.ts","default":"./dist/src/sqlite-bootstrap.js"},"./sqlite-admin-runtime":{"types":"./src/sqlite-admin-runtime.ts","default":"./dist/src/sqlite-admin-runtime.js"},"./adapters/sqlite":{"types":"./src/adapters/sqlite.ts","default":"./dist/src/adapters/sqlite.js"},"./adapters/local":{"types":"./src/adapters/local.ts","default":"./dist/src/adapters/local.js"},"./adapters/hosted":{"types":"./src/adapters/hosted.ts","default":"./dist/src/adapters/hosted.js"},"./adapters/project":{"types":"./src/adapters/project.ts","default":"./dist/src/adapters/project.js"},"./adapters/cloudflare":{"types":"./src/adapters/cloudflare.ts","default":"./dist/src/adapters/cloudflare.js"},"./adapters/supabase":{"types":"./src/adapters/supabase.ts","default":"./dist/src/adapters/supabase.js"},"./adapters/appwrite":{"types":"./src/adapters/appwrite.ts","default":"./dist/src/adapters/appwrite.js"},"./adapters/pocketbase":{"types":"./src/adapters/pocketbase.ts","default":"./dist/src/adapters/pocketbase.js"},"./adapters/neon":{"types":"./src/adapters/neon.ts","default":"./dist/src/adapters/neon.js"},"./adapters/nhost":{"types":"./src/adapters/nhost.ts","default":"./dist/src/adapters/nhost.js"},"./adapters/supabase-sqlite":{"types":"./src/adapters/supabase-sqlite.ts","default":"./dist/src/adapters/supabase-sqlite.js"},"./adapters/turso":{"types":"./src/adapters/turso.ts","default":"./dist/src/adapters/turso.js"},"./deploy/github-pages":{"types":"./src/deploy/github-pages.ts","default":"./dist/src/deploy/github-pages.js"},"./deploy/cloudflare-pages":{"types":"./src/deploy/cloudflare-pages.ts","default":"./dist/src/deploy/cloudflare-pages.js"},"./deploy/vercel":{"types":"./src/deploy/vercel.ts","default":"./dist/src/deploy/vercel.js"},"./deploy/netlify":{"types":"./src/deploy/netlify.ts","default":"./dist/src/deploy/netlify.js"},"./deploy/render":{"types":"./src/deploy/render.ts","default":"./dist/src/deploy/render.js"},"./deploy/gitlab-pages":{"types":"./src/deploy/gitlab-pages.ts","default":"./dist/src/deploy/gitlab-pages.js"},"./deploy/custom":{"types":"./src/deploy/custom.ts","default":"./dist/src/deploy/custom.js"},"./content-services-ops":{"types":"./src/content-services-ops.ts","default":"./dist/src/content-services-ops.js"},"./db-migrate-ops":{"types":"./src/db-migrate-ops.ts","default":"./dist/src/db-migrate-ops.js"},"./d1-migrate-ops":{"types":"./src/d1-migrate-ops.ts","default":"./dist/src/d1-migrate-ops.js"},"./import/wordpress":{"types":"./src/import/wordpress.ts","default":"./dist/src/import/wordpress.js"},"./sync/git":{"types":"./src/sync/git.ts","default":"./dist/src/sync/git.js"},"./integration":{"types":"./src/integration.ts","default":"./dist/src/integration.js"},"./cloudflare-vite-integration":{"types":"./src/cloudflare-vite-integration.ts","default":"./dist/src/cloudflare-vite-integration.js"},"./vite-integration":{"types":"./src/vite-integration.ts","default":"./dist/src/vite-integration.js"},"./vite-runtime-alias":{"types":"./src/vite-runtime-alias.ts","default":"./dist/src/vite-runtime-alias.js"},"./vitest-runtime-alias":{"types":"./src/vitest-runtime-alias.ts","default":"./dist/src/vitest-runtime-alias.js"},"./host-runtime-modules":{"types":"./src/host-runtime-modules.ts","default":"./dist/src/host-runtime-modules.js"},"./host-runtime-factories":{"types":"./src/host-runtime-factories.ts","default":"./dist/src/host-runtime-factories.js"},"./admin-store-adapter-factory":{"types":"./src/admin-store-adapter-factory.ts","default":"./dist/src/admin-store-adapter-factory.js"},"./auth-repository-factory":{"types":"./src/auth-repository-factory.ts","default":"./dist/src/auth-repository-factory.js"},"./content-repository-factory":{"types":"./src/content-repository-factory.ts","default":"./dist/src/content-repository-factory.js"},"./cms-route-registry-factory":{"types":"./src/cms-route-registry-factory.ts","default":"./dist/src/cms-route-registry-factory.js"},"./local-media-repository-factory":{"types":"./src/local-media-repository-factory.ts","default":"./dist/src/local-media-repository-factory.js"},"./redirect-repository-factory":{"types":"./src/redirect-repository-factory.ts","default":"./dist/src/redirect-repository-factory.js"},"./taxonomy-repository-factory":{"types":"./src/taxonomy-repository-factory.ts","default":"./dist/src/taxonomy-repository-factory.js"},"./author-repository-factory":{"types":"./src/author-repository-factory.ts","default":"./dist/src/author-repository-factory.js"},"./comment-repository-factory":{"types":"./src/comment-repository-factory.ts","default":"./dist/src/comment-repository-factory.js"},"./submission-repository-factory":{"types":"./src/submission-repository-factory.ts","default":"./dist/src/submission-repository-factory.js"},"./user-repository-factory":{"types":"./src/user-repository-factory.ts","default":"./dist/src/user-repository-factory.js"},"./settings-repository-factory":{"types":"./src/settings-repository-factory.ts","default":"./dist/src/settings-repository-factory.js"},"./translation-repository-factory":{"types":"./src/translation-repository-factory.ts","default":"./dist/src/translation-repository-factory.js"},"./rate-limit-repository-factory":{"types":"./src/rate-limit-repository-factory.ts","default":"./dist/src/rate-limit-repository-factory.js"},"./local-runtime-modules":{"types":"./src/local-runtime-modules.ts","default":"./dist/src/local-runtime-modules.js"},"./cloudflare-workers-stub":{"types":"./src/cloudflare-workers-stub.ts","default":"./dist/src/cloudflare-workers-stub.js"},"./cloudflare-local-runtime-stubs":{"types":"./src/cloudflare-local-runtime-stubs.ts","default":"./dist/src/cloudflare-local-runtime-stubs.js"},"./cloudflare-sqlite-adapter-stub":{"types":"./src/cloudflare-sqlite-adapter-stub.ts","default":"./dist/src/cloudflare-sqlite-adapter-stub.js"},"./cloudflare-sqlite-admin-runtime-stub":{"types":"./src/cloudflare-sqlite-admin-runtime-stub.ts","default":"./dist/src/cloudflare-sqlite-admin-runtime-stub.js"},"./cloudflare-sqlite-bootstrap-stub":{"types":"./src/cloudflare-sqlite-bootstrap-stub.ts","default":"./dist/src/cloudflare-sqlite-bootstrap-stub.js"},"./cloudflare-local-image-storage-stub":{"types":"./src/cloudflare-local-image-storage-stub.ts","default":"./dist/src/cloudflare-local-image-storage-stub.js"},"./cloudflare-local-media-storage-stub":{"types":"./src/cloudflare-local-media-storage-stub.ts","default":"./dist/src/cloudflare-local-media-storage-stub.js"},"./services-config":{"types":"./src/services-config.ts","default":"./dist/src/services-config.js"},"./admin-dashboard":{"types":"./src/admin-dashboard.ts","default":"./dist/src/admin-dashboard.js"},"./admin-page-models":{"types":"./src/admin-page-models.ts","default":"./dist/src/admin-page-models.js"},"./runtime-page-store":{"types":"./src/runtime-page-store.ts","default":"./dist/src/runtime-page-store.js"},"./runtime-admin-actions":{"types":"./src/runtime-admin-actions.ts","default":"./dist/src/runtime-admin-actions.js"},"./runtime-admin-auth":{"types":"./src/runtime-admin-auth.ts","default":"./dist/src/runtime-admin-auth.js"},"./runtime-route-registry":{"types":"./src/runtime-route-registry.ts","default":"./dist/src/runtime-route-registry.js"},"./runtime-env":{"types":"./src/runtime-env.ts","default":"./dist/src/runtime-env.js"},"./runtime-media-storage":{"types":"./src/runtime-media-storage.ts","default":"./dist/src/runtime-media-storage.js"},"./media":{"types":"./src/media.ts","default":"./dist/src/media.js"},"./site-settings":{"types":"./src/site-settings.ts","default":"./dist/src/site-settings.js"},"./seeded-content-type":{"types":"./src/seeded-content-type.ts","default":"./dist/src/seeded-content-type.js"},"./transactional-email":{"types":"./src/transactional-email.ts","default":"./dist/src/transactional-email.js"},"./newsletter-adapter":{"types":"./src/newsletter-adapter.ts","default":"./dist/src/newsletter-adapter.js"},"./admin-action-mailchimp-import":{"types":"./src/admin-action-mailchimp-import.ts","default":"./dist/src/admin-action-mailchimp-import.js"},"./runtime-actions-restore":{"types":"./src/runtime-actions-restore.ts","default":"./dist/src/runtime-actions-restore.js"},"./admin-recent":{"types":"./src/admin-recent.ts","default":"./dist/src/admin-recent.js"},"./turnstile":{"types":"./src/turnstile.ts","default":"./dist/src/turnstile.js"},"./local-image-storage":{"types":"./src/local-image-storage.ts","default":"./dist/src/local-image-storage.js"},"./local-media-storage":{"types":"./src/local-media-storage.ts","default":"./dist/src/local-media-storage.js"},"./web-components":{"types":"./web-components/index.ts","default":"./web-components/index.ts"},"./web-components/admin-nav":{"types":"./web-components/admin-nav.ts","default":"./web-components/admin-nav.ts"},"./web-components/notice":{"types":"./web-components/notice.ts","default":"./web-components/notice.ts"},"./web-components/theme-toggle":{"types":"./web-components/theme-toggle.ts","default":"./web-components/theme-toggle.ts"},"./web-components/confirm-dialog":{"types":"./web-components/confirm-dialog.ts","default":"./web-components/confirm-dialog.ts"},"./web-components/command-palette":{"types":"./web-components/command-palette.ts","default":"./web-components/command-palette.ts"},"./web-components/html-editor":{"types":"./web-components/html-editor.ts","default":"./web-components/html-editor.ts"},"./web-components/ap-stale-tab-warning":{"types":"./web-components/ap-stale-tab-warning.ts","default":"./web-components/ap-stale-tab-warning.ts"},"./web-components/ap-lock-indicator":{"types":"./web-components/ap-lock-indicator.ts","default":"./web-components/ap-lock-indicator.ts"},"./api-middleware":{"types":"./src/api-middleware.ts","default":"./dist/src/api-middleware.js"},"./api-routes":{"types":"./src/api-routes.ts","default":"./dist/src/api-routes.js"},"./analytics":{"types":"./src/analytics.ts","default":"./dist/src/analytics.js"},"./donations":{"types":"./src/donations.ts","default":"./dist/src/donations.js"},"./runtime-health":{"types":"./src/runtime-health.ts","default":"./dist/src/runtime-health.js"},"./runtime-logger":{"types":"./src/runtime-logger.ts","default":"./dist/src/runtime-logger.js"}},"peerDependencies":{"astro":">=6.0.0","zod":">=4.0.0"},"dependencies":{"@noble/hashes":"^2.0.1","@noble/post-quantum":"^0.6.0","htmlparser2":"^9.1.0","image-size":"^2.0.2","nodemailer":"^8.0.5","sanitize-html":"^2.17.0","sharp":"^0.34.5"},"devDependencies":{"@changesets/cli":"^2.29.7","@vitest/coverage-v8":"^4.1.4","schema-dts":"^2.0.0","typescript":"6.0.2","vitest":"^4.1.4"},"scripts":{"test":"vitest run","test:coverage":"vitest run --coverage","test:watch":"vitest","build":"tsc -p tsconfig.build.json --noCheck && bun ../../tooling/scripts/add-js-ext.ts dist && cp src/sqlite-schema.sql dist/src/sqlite-schema.sql","release":"changeset publish","version":"changeset version","prepublishOnly":"bun run build && cd ../.. && bun run audit:arch"},"keywords":["astro","web-app-framework","wordpress-migration","cloudflare","supabase","github-pages","web-components"],"sideEffects":["./web-components/*.ts","./web-components/index.ts"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Astropress/astropress.git"},"bugs":{"url":"https://github.com/Astropress/astropress/issues"},"homepage":"https://astropress.diy","engines":{"node":">=24.8.0"},"_id":"@astropress-diy/astropress@0.0.3","gitHead":"d0b80be02e172bcf54401e1afdeec11d78711e35","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-FtpiVPATtc6mi19iuGOYDaPVgS8zxPVWa/jOxMD1e1QypY/0zTL/bPqt+O02rCZjBEVlZPu3q2zUHgNGUwoCVw==","shasum":"5e2a27b93543b0547872c44a4b783f90815dea4d","tarball":"https://registry.npmjs.org/@astropress-diy/astropress/-/astropress-0.0.3.tgz","fileCount":521,"unpackedSize":2225717,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@astropress-diy%2fastropress@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICxnS5WCW1FLFdtciPFwNrnnNdfuiFOIgAW7NJ7nGWCHAiEAv7MzivCqALgxuX6bdF2ef3DyaJL+vqQ3C0J+qVm+2aQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3dab63c4-025f-46ed-9f78-d2690f869b31"}},"directories":{},"maintainers":[{"name":"astropress.diy","email":"hello@astropress.diy"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astropress_0.0.3_1776242193501_0.06235220430656674"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-14T05:30:50.584Z","modified":"2026-04-15T08:36:34.063Z","0.0.1":"2026-04-14T05:30:50.928Z","0.0.3":"2026-04-15T08:36:33.713Z"},"bugs":{"url":"https://github.com/Astropress/astropress/issues"},"license":"MIT","homepage":"https://astropress.diy","keywords":["astro","web-app-framework","wordpress-migration","cloudflare","supabase","github-pages","web-components"],"repository":{"type":"git","url":"git+https://github.com/Astropress/astropress.git"},"description":"Low-carbon Astro web app framework for relatively simple sites run by individuals and small organizations.","maintainers":[{"name":"astropress.diy","email":"hello@astropress.diy"}],"readme":"# @astropress-diy/astropress\n\nA web application framework for editorial, informational, and campaign sites built on [Astro](https://astro.build). Ships a headless admin panel, a REST API, and a SQLite runtime. Host applications compose these into their own Astro sites — Astropress is not a hosted service or a SaaS.\n\n```bash\ncargo install astropress-cli\nastropress new my-site\ncd my-site && astropress dev\n```\n\nOpen `http://localhost:4321/ap-admin` and log in.\n\n## When to use it\n\n- You need a real content admin without building one yourself\n- You want a Git-friendly static export path (GitHub Pages, Netlify, Vercel)\n- Your editors should not need Git for everyday publishing\n- You want a privacy-first, self-hosted stack with no third-party analytics by default\n- You need a CMS that runs at the edge (Cloudflare Pages + D1)\n\n## Deployment targets\n\n| App host | Content services | Notes |\n|---|---|---|\n| `github-pages` | `none` | Static output; SQLite at build time |\n| `cloudflare-pages` | `cloudflare` | D1 + R2; full edge deployment |\n| `vercel` or `netlify` | `supabase` | Postgres + Storage |\n| `render-web` | `appwrite` | Self-hosted backend services |\n\n## Adapter status\n\n| Adapter | Status |\n|---|---|\n| SQLite (local) | Full — reference implementation |\n| Cloudflare D1 + R2 | Full |\n| Supabase (Postgres + Storage) | Full |\n| Appwrite | Full |\n| Neon | Full |\n| Turso | Full |\n\n## Security\n\n- Argon2id password hashing\n- KMAC256 API token hardening\n- ML-DSA-65 webhook signatures\n- CSRF protection on all admin form actions\n- Content Security Policy headers\n- Rate limiting on auth endpoints\n\n## CLI\n\nThe Astropress CLI (`astropress new`, `astropress dev`, `astropress doctor`, `astropress import`) is a separate Rust binary. Install from crates.io:\n\n```bash\ncargo install astropress-cli\n```\n\nOr download a pre-built binary from the [Releases](https://github.com/astropress/astropress/releases) page (Linux x64/arm64, macOS x64/arm64, Windows x64).\n\n## AI agent integration\n\nThe [`@astropress-diy/mcp`](https://www.npmjs.com/package/@astropress-diy/mcp) package exposes Astropress content operations as MCP tools so AI agents (Claude, Cursor, etc.) can read and write content directly.\n\n## Multi-site\n\nThe [`@astropress-diy/nexus`](https://www.npmjs.com/package/@astropress-diy/nexus) package provides a single control plane over multiple Astropress sites — aggregate content, trigger redeployments, and monitor health from one place.\n\n## Documentation\n\n- [Quick start](https://astropress.diy/docs/guides/quick-start)\n- [Operations guide](https://astropress.diy/docs/guides/operations)\n- [CLI reference](https://astropress.diy/docs/reference/cli)\n- [API reference](https://astropress.diy/docs/reference/api)\n- [Web components](https://astropress.diy/docs/reference/web-components)\n- [Security policy](https://github.com/astropress/astropress/blob/main/SECURITY.md)\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}