Skip to content

feat(sanity): add analog blog studio workflow#39

Merged
osnoser1 merged 13 commits into
mainfrom
osnoser1/analog-blog-studio
Jun 8, 2026
Merged

feat(sanity): add analog blog studio workflow#39
osnoser1 merged 13 commits into
mainfrom
osnoser1/analog-blog-studio

Conversation

@osnoser1

@osnoser1 osnoser1 commented Jun 8, 2026

Copy link
Copy Markdown
Member

PR Checklist

No linked issue.

What is the new behavior?

  • Adds a source-only @limitless-angular/analog-sanity-blog package that exposes the blog schema, GROQ queries, demo data, env helper, Presentation config, and Studio structure through package exports.
  • Adds apps/analog-sanity-blog-studio as a real Sanity Studio for the Analog blog example, including setup, CORS, seed, schema extraction, typegen, dev, build, and serve workflows.
  • Refactors the Analog blog example to consume the shared package, add Studio URL env support, regenerate Sanity types, and wire root Turbo scripts/docs/CI around the new workflow.
  • Separates the Sanity env contracts by owner:
    • the Analog frontend keeps app runtime env in apps/analog-sanity-blog-example/.env.local
    • the blog Studio uses SANITY_STUDIO_* in apps/analog-sanity-blog-studio/.env.local
    • the Presentation E2E harness uses SANITY_E2E_* in apps/sanity-presentation-e2e/.env.local and CI
  • Removes compatibility fallbacks from Studio/E2E code for old VITE_SANITY_* and SANITY_API_* names, while still mapping into the Analog app's runtime env internally when E2E starts the preview app.
  • Uses Node 22 loadEnvFile for local env loading and tightens Turbo env pass-through/cache inputs around the new namespaces.

Does this PR introduce a breaking change?

  • Yes
  • No

The env-name changes apply to the new Studio/E2E workflows introduced by this PR. Existing application runtime env names remain unchanged.

Other information

Testing

  • pnpm blog:typegen
  • pnpm turbo run lint --filter=analog-sanity-blog-example --filter=analog-sanity-blog-studio
  • pnpm exec eslint packages/analog-sanity-blog
  • pnpm turbo run build --filter=analog-sanity-blog-example --filter=analog-sanity-blog-studio
  • pnpm --filter=analog-sanity-blog-example exec tsc --noEmit --project tsconfig.app.json
  • pnpm -C apps/analog-sanity-blog-studio run schema:extract && pnpm -C apps/analog-sanity-blog-studio exec sanity schema validate
  • git diff --check
  • pnpm turbo run lint --filter=analog-sanity-blog-studio --filter=sanity-presentation-e2e --filter=sanity-presentation-e2e-studio
  • pnpm turbo run e2e --filter=sanity-presentation-e2e
  • pnpm turbo run e2e-studio --filter=sanity-presentation-e2e
  • pnpm turbo run build --filter=analog-sanity-blog-studio --filter=sanity-presentation-e2e-studio
  • SANITY_E2E_STUDIO_MODE=real-project pnpm --dir=apps/sanity-presentation-e2e exec playwright test real-studio.spec.ts --list confirms real-project mode now fails fast on missing SANITY_E2E_PROJECT_ID
  • PR CI is green on the latest branch, including main, presentation-e2e, autofix, and Sanity compatibility jobs.

Post-Deploy Monitoring & Validation

  • For local setup, keep apps/analog-sanity-blog-example/.env.local for frontend runtime env, add apps/analog-sanity-blog-studio/.env.local for SANITY_STUDIO_*, and add apps/sanity-presentation-e2e/.env.local for SANITY_E2E_*.
  • If deploying the blog Studio, open /presentation and verify the preview iframe loads the Analog blog routes without CORS, preview-secret, or Presentation lifecycle errors.
  • Confirm pnpm blog:setup, pnpm blog:dev, and pnpm blog:typegen remain the documented local path for new contributors.
  • Roll back by reverting this PR if builds, schema validation, or Presentation preview validation fail after merge.

[Optional] What gif best describes this PR or how it makes you feel?

@netlify

netlify Bot commented Jun 8, 2026

Copy link
Copy Markdown

Deploy Preview for limitless-angular-sanity-example canceled.

Name Link
🔨 Latest commit 3ea7cee
🔍 Latest deploy log https://app.netlify.com/projects/limitless-angular-sanity-example/deploys/6a26d28edf2ea20008166275

@pkg-pr-new

pkg-pr-new Bot commented Jun 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@limitless-angular/sanity@39

commit: 3ea7cee

@osnoser1 osnoser1 marked this pull request as ready for review June 8, 2026 02:25
@osnoser1 osnoser1 merged commit 6a8c765 into main Jun 8, 2026
15 checks passed
@osnoser1 osnoser1 deleted the osnoser1/analog-blog-studio branch June 8, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant