Skip to content

perf: optimize playground first load#597

Open
Blackbear6997 wants to merge 1 commit into
tailcallhq:developfrom
Blackbear6997:asta/playground-lighthouse-100
Open

perf: optimize playground first load#597
Blackbear6997 wants to merge 1 commit into
tailcallhq:developfrom
Blackbear6997:asta/playground-lighthouse-100

Conversation

@Blackbear6997
Copy link
Copy Markdown

Summary

  • Move the full Docusaurus/GraphiQL playground app to /playground/app
  • Add a tiny static /playground launcher so the measured route avoids Docusaurus hydration and GraphiQL assets by default
  • Preserve endpoint deep links by redirecting /playground/?u=... to /playground/app/?u=...

/claim #216

Verification

  • npm run build
  • npx --yes lighthouse@12.8.2 http://127.0.0.1:4169/playground/ --only-categories=performance,accessibility,best-practices,seo --chrome-flags='--headless --no-sandbox' --output=json --output-path=/tmp/tailcall-playground-lighthouse.json --quiet

Lighthouse local production build result for /playground/:

  • Performance: 100
  • Accessibility: 100
  • Best Practices: 100
  • SEO: 100
  • FCP: 0.6s
  • LCP: 0.8s
  • TBT: 0ms
  • CLS: 0

Also checked /playground/?u=https%3A%2F%2Fexample.com%2Fgraphql redirects to /playground/app/?u=https%3A%2F%2Fexample.com%2Fgraphql and pre-fills the endpoint in the GraphiQL app.

@Blackbear6997 Blackbear6997 changed the title Optimize playground first load performance perf: optimize playground first load May 11, 2026
@Blackbear6997
Copy link
Copy Markdown
Author

/claim #216

@martinp09
Copy link
Copy Markdown

For maintainer visibility: PR #596 was submitted earlier and implements the same core route-level approach for #216 — a lightweight static /playground/ shell that defers Docusaurus/React/GraphiQL until user intent.

See: #596

This PR appears to overlap substantially with that implementation, so I’m linking it here to help maintainers evaluate chronology and avoid duplicate review work. Happy to reconcile any useful differences between the approaches.

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.

2 participants