Goal
Eliminate all Sanity dependencies from the codebase. Stop Sanity billing. Clean up dead code.
Scope
Prerequisites: Issues #386, #387, #388 must be merged and verified on production.
Steps:
-
Remove from frontend/package.json:
@sanity/client
@sanity/image-url
groq
-
Delete frontend/client.ts (Sanity client singleton)
-
Remove Sanity env vars from all environments (Vercel, local .env):
NEXT_PUBLIC_SANITY_PROJECT_ID (if set)
SANITY_DATASET
GROQ_API_KEY
-
Keep studio/ directory frozen — do not delete. Sanity free plan keeps data accessible as read-only archive indefinitely. Do not pay for or deploy Sanity Studio.
-
npm run lint — confirm zero import errors
-
npm run build — confirm clean build, no references to removed packages
Verification:
npm run build completes with no errors
- No occurrences of
@sanity/client, sanity, groq in frontend/ (run grep)
- Sanity subscription cancelled/downgraded to free
Expected impact
Sanity billing eliminated. Codebase has zero Sanity dependencies.
Out of scope
- Deleting the Sanity project data (keep as archive)
- Deleting the
studio/ directory (keep frozen)
Goal
Eliminate all Sanity dependencies from the codebase. Stop Sanity billing. Clean up dead code.
Scope
Prerequisites: Issues #386, #387, #388 must be merged and verified on production.
Steps:
Remove from
frontend/package.json:@sanity/client@sanity/image-urlgroqDelete
frontend/client.ts(Sanity client singleton)Remove Sanity env vars from all environments (Vercel, local .env):
NEXT_PUBLIC_SANITY_PROJECT_ID(if set)SANITY_DATASETGROQ_API_KEYKeep
studio/directory frozen — do not delete. Sanity free plan keeps data accessible as read-only archive indefinitely. Do not pay for or deploy Sanity Studio.npm run lint— confirm zero import errorsnpm run build— confirm clean build, no references to removed packagesVerification:
npm run buildcompletes with no errors@sanity/client,sanity,groqinfrontend/(run grep)Expected impact
Sanity billing eliminated. Codebase has zero Sanity dependencies.
Out of scope
studio/directory (keep frozen)