{"_id":"@acromia/site-guard","name":"@acromia/site-guard","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@acromia/site-guard","version":"0.1.0","description":"Vercel Edge Config-backed suspension check for client sites — returns a 503 response when a site is flagged suspended.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"scripts":{"build":"tsup","test":"vitest run","prepublishOnly":"npm run build && npm test"},"dependencies":{"@vercel/edge-config":"^1.4.3"},"devDependencies":{"tsup":"^8.5.1","typescript":"^5.7.2","vitest":"^4.1.10"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/brandonzane/site-guard.git"},"publishConfig":{"access":"public"},"_id":"@acromia/site-guard@0.1.0","gitHead":"88d44eadbdcb602401a99a52441e108a5e2ecd43","bugs":{"url":"https://github.com/brandonzane/site-guard/issues"},"homepage":"https://github.com/brandonzane/site-guard#readme","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-muFlCBaELDm5lnhdzbNBJZ8+9UdO9BUk7eaT65srg8zOSZexM7ZtHKLIkq8QmT7YiHxU1fSYh9ZkYxS8jzA74w==","shasum":"a5153de8220670a11cd4cb7c0937c530452f4c25","tarball":"https://registry.npmjs.org/@acromia/site-guard/-/site-guard-0.1.0.tgz","fileCount":8,"unpackedSize":11696,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDq09VVl9i+5jskxnRvoaK/hku89kzxIvSr9n+JlBssQAiEA1cCGjCu/byUsnYmtpwsR9eho8RIgSz4urz4TPM8Dago="}]},"_npmUser":{"name":"acromia","email":"brandon@acromia.co"},"directories":{},"maintainers":[{"name":"acromia","email":"brandon@acromia.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/site-guard_0.1.0_1783945042219_0.07044794995395587"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T12:17:21.946Z","0.1.0":"2026-07-13T12:17:22.342Z","modified":"2026-07-13T12:17:22.627Z"},"maintainers":[{"name":"acromia","email":"brandon@acromia.co"}],"description":"Vercel Edge Config-backed suspension check for client sites — returns a 503 response when a site is flagged suspended.","homepage":"https://github.com/brandonzane/site-guard#readme","repository":{"type":"git","url":"git+https://github.com/brandonzane/site-guard.git"},"bugs":{"url":"https://github.com/brandonzane/site-guard/issues"},"license":"MIT","readme":"# @acromia/site-guard\n\nReads a site's status from a shared Vercel Edge Config store and returns a 503 suspension response when the site isn't active.\n\n## Install\n\n```bash\nnpm install @acromia/site-guard @vercel/edge-config\n```\n\nRequires an `EDGE_CONFIG` environment variable (a Vercel Edge Config read connection string) — connect your project to the shared Edge Config store via the Vercel dashboard's Storage tab.\n\n## Usage\n\n### Next.js 16 (`proxy.ts`)\n\n```ts\nimport { NextResponse } from 'next/server';\nimport { checkSiteStatus } from '@acromia/site-guard';\n\nexport async function proxy() {\n  const blocked = await checkSiteStatus('your-site-slug');\n  return blocked ?? NextResponse.next();\n}\n\nexport const config = {\n  matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],\n};\n```\n\n### Any other framework (Vercel Routing Middleware)\n\n```ts\nimport { next } from '@vercel/functions';\nimport { checkSiteStatus } from '@acromia/site-guard';\n\nexport default async function middleware() {\n  const blocked = await checkSiteStatus('your-site-slug');\n  return blocked ?? next();\n}\n\nexport const config = {\n  runtime: 'edge',\n  matcher: ['/((?!favicon.ico).*)'],\n};\n```\n","readmeFilename":"README.md","_rev":"1-812c3a72a70626b5e6e0737dc9f31b0f"}