Skip to content

chore: Remove Altair GraphQL IDE support#824

Merged
kingston merged 2 commits into
mainfrom
kingston/eng-629-remove-altair-support
Mar 13, 2026
Merged

chore: Remove Altair GraphQL IDE support#824
kingston merged 2 commits into
mainfrom
kingston/eng-629-remove-altair-support

Conversation

@kingston

@kingston kingston commented Mar 13, 2026

Copy link
Copy Markdown
Collaborator

…phiQL interface provided by GraphQL Yoga

Summary by CodeRabbit

  • Chores
    • Removed Altair GraphQL IDE support; GraphiQL via GraphQL Yoga is now the default interface for GraphQL exploration.
    • Patch bump for fastify generators package.
    • Removed Altair plugin from example backends and generator templates.
    • Minor configuration updates: added an allow-list entry and formatting tidy-up in internal settings.

@changeset-bot

changeset-bot Bot commented Mar 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2e728fd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 21 packages
Name Type
@baseplate-dev/fastify-generators Patch
@baseplate-dev/project-builder-server Patch
@baseplate-dev/plugin-auth Patch
@baseplate-dev/plugin-email Patch
@baseplate-dev/plugin-queue Patch
@baseplate-dev/plugin-rate-limit Patch
@baseplate-dev/plugin-storage Patch
@baseplate-dev/create-project Patch
@baseplate-dev/project-builder-cli Patch
@baseplate-dev/project-builder-common Patch
@baseplate-dev/project-builder-dev Patch
@baseplate-dev/project-builder-web Patch
@baseplate-dev/project-builder-test Patch
@baseplate-dev/code-morph Patch
@baseplate-dev/core-generators Patch
@baseplate-dev/project-builder-lib Patch
@baseplate-dev/react-generators Patch
@baseplate-dev/sync Patch
@baseplate-dev/tools Patch
@baseplate-dev/ui-components Patch
@baseplate-dev/utils Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Mar 13, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Removes Altair GraphQL IDE support across the repository: dependency removals, deletion of development-time Altair registration, updates to Fastify generator templates/constants, and plugin signature adjustments to callback-style done() completion.

Changes

Cohort / File(s) Summary
Changeset & Configuration
/.changeset/remove-altair-support.md, /.claude/settings.json
Adds changeset documenting patch bump and Altair removal; adds mcp__linear-server__get_issue to Claude allow-list and minor formatting tweak.
blog-with-auth Example
examples/blog-with-auth/apps/backend/package.json, examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts
Removed altair-fastify-plugin dependency and deleted development-only Altair registration; changed plugin from async wrapper to callback-style and call to done().
todo-with-better-auth Example
examples/todo-with-better-auth/apps/backend/package.json, examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts
Removed altair-fastify-plugin dependency and deleted development-only Altair registration; changed plugin from async wrapper to callback-style and call to done().
Fastify Generators
packages/fastify-generators/src/constants/fastify-packages.ts, packages/fastify-generators/src/generators/yoga/yoga-plugin/templates/src/plugins/graphql/index.ts, packages/fastify-generators/src/generators/yoga/yoga-plugin/yoga-plugin.generator.ts
Removed altair-fastify-plugin from FASTIFY_PACKAGES, removed Altair import/registration from generator template, and excluded Altair from production nodePackages extraction logic.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: removing Altair GraphQL IDE support across multiple files and dependencies.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kingston/eng-629-remove-altair-support
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.claude/settings.json (1)

53-65: Unrelated changes bundled in this PR.

These changes (adding Bash(echo $?) permission, mcp__linear-server__get_issue permission, and reformatting enabledMcpjsonServers) appear unrelated to removing Altair GraphQL IDE support. Consider splitting these into a separate PR for cleaner change tracking.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/settings.json around lines 53 - 65, This PR includes unrelated
permission and formatting changes that should be split out: remove or exclude
the added permission entries "Bash(echo $?)" and "mcp__linear-server__get_issue"
and revert the reformatting of the "enabledMcpjsonServers" array from this
Altair GraphQL IDE removal PR, and instead create a separate PR that introduces
those permissions and formatting changes; locate these edits by searching for
the symbols "Bash(echo $?)", "mcp__linear-server__get_issue", and
"enabledMcpjsonServers" in .claude/settings.json and move them to the dedicated
follow-up change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.claude/settings.json:
- Around line 53-65: This PR includes unrelated permission and formatting
changes that should be split out: remove or exclude the added permission entries
"Bash(echo $?)" and "mcp__linear-server__get_issue" and revert the reformatting
of the "enabledMcpjsonServers" array from this Altair GraphQL IDE removal PR,
and instead create a separate PR that introduces those permissions and
formatting changes; locate these edits by searching for the symbols "Bash(echo
$?)", "mcp__linear-server__get_issue", and "enabledMcpjsonServers" in
.claude/settings.json and move them to the dedicated follow-up change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ad4c9b17-62fb-4d1b-a355-a19381c0eb11

📥 Commits

Reviewing files that changed from the base of the PR and between 8616acc and 9581942.

⛔ Files ignored due to path filters (7)
  • examples/blog-with-auth/apps/backend/baseplate/generated/package.json is excluded by !**/generated/**, !**/generated/**
  • examples/blog-with-auth/apps/backend/baseplate/generated/src/plugins/graphql/index.ts is excluded by !**/generated/**, !**/generated/**
  • examples/blog-with-auth/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • examples/todo-with-better-auth/apps/backend/baseplate/generated/package.json is excluded by !**/generated/**, !**/generated/**
  • examples/todo-with-better-auth/apps/backend/baseplate/generated/src/plugins/graphql/index.ts is excluded by !**/generated/**, !**/generated/**
  • examples/todo-with-better-auth/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • tests/simple/snapshots/root/diffs/pnpm-lock.yaml.diff is excluded by !tests/**
📒 Files selected for processing (9)
  • .changeset/remove-altair-support.md
  • .claude/settings.json
  • examples/blog-with-auth/apps/backend/package.json
  • examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts
  • examples/todo-with-better-auth/apps/backend/package.json
  • examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/constants/fastify-packages.ts
  • packages/fastify-generators/src/generators/yoga/yoga-plugin/templates/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/generators/yoga/yoga-plugin/yoga-plugin.generator.ts
💤 Files with no reviewable changes (7)
  • examples/todo-with-better-auth/apps/backend/package.json
  • examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/generators/yoga/yoga-plugin/templates/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/constants/fastify-packages.ts
  • examples/blog-with-auth/apps/backend/package.json
  • examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/generators/yoga/yoga-plugin/yoga-plugin.generator.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts (1)

53-151: Add JSDoc and an explicit return type on the exported plugin callback.

This exported plugin currently misses required JSDoc, and the callback passed to fp(...) should declare an explicit void return type.

Proposed patch
+/**
+ * Registers the GraphQL Yoga route and related middleware.
+ *
+ * `@param` fastify Fastify instance.
+ * `@param` opts Plugin options.
+ * `@param` done Callback invoked when plugin registration is complete.
+ * `@returns` void
+ */
-export const graphqlPlugin = fp((fastify, opts, done) => {
+export const graphqlPlugin = fp((fastify, opts, done): void => {
   const graphQLServer = createYoga<{
     req: FastifyRequest;
     reply: FastifyReply;
   }>({
@@
   done();
 });

As per coding guidelines: examples/todo-with-better-auth/**/*.{ts,tsx} requires explicit return types, and examples/todo-with-better-auth/**/*.{ts,tsx,js,jsx} requires JSDoc on exported functions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts`
around lines 53 - 151, The exported graphqlPlugin lacks a JSDoc block and the
callback passed into fp(...) is missing an explicit void return type; add a
JSDoc comment above the exported graphqlPlugin describing its purpose/params,
and update the fp callback signature to declare a void return type (e.g., change
fp((fastify, opts, done) => { ... }) to fp((fastify, opts, done): void => { ...
})), ensuring references to createYoga, httpHandler, and done remain unchanged.
examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts (1)

53-151: Add JSDoc and an explicit return type on the exported plugin callback.

graphqlPlugin is exported without JSDoc, and the callback passed to fp(...) has no explicit return type annotation.

Proposed patch
+/**
+ * Registers the GraphQL Yoga route and related middleware.
+ *
+ * `@param` fastify Fastify instance.
+ * `@param` opts Plugin options.
+ * `@param` done Callback invoked when plugin registration is complete.
+ * `@returns` void
+ */
-export const graphqlPlugin = fp((fastify, opts, done) => {
+export const graphqlPlugin = fp((fastify, opts, done): void => {
   const graphQLServer = createYoga<{
     req: FastifyRequest;
     reply: FastifyReply;
   }>({
@@
   done();
 });

As per coding guidelines: examples/blog-with-auth/**/*.{ts,tsx} requires explicit return types for functions and JSDocs on all exported functions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts` around
lines 53 - 151, Add a JSDoc comment above the exported graphqlPlugin and give
the fp callback an explicit return type (i.e., annotate the arrow function
passed to fp with the appropriate Fastify plugin callback type such as
FastifyPluginCallback or FastifyPluginAsync) so the exported const graphqlPlugin
has a documented purpose and an explicit function return type; update the
declaration around graphqlPlugin and the callback passed to fp(...) (the
function taking fastify, opts, done) to include these annotations and a brief
JSDoc describing the plugin.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts`:
- Around line 53-151: Add a JSDoc comment above the exported graphqlPlugin and
give the fp callback an explicit return type (i.e., annotate the arrow function
passed to fp with the appropriate Fastify plugin callback type such as
FastifyPluginCallback or FastifyPluginAsync) so the exported const graphqlPlugin
has a documented purpose and an explicit function return type; update the
declaration around graphqlPlugin and the callback passed to fp(...) (the
function taking fastify, opts, done) to include these annotations and a brief
JSDoc describing the plugin.

In `@examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts`:
- Around line 53-151: The exported graphqlPlugin lacks a JSDoc block and the
callback passed into fp(...) is missing an explicit void return type; add a
JSDoc comment above the exported graphqlPlugin describing its purpose/params,
and update the fp callback signature to declare a void return type (e.g., change
fp((fastify, opts, done) => { ... }) to fp((fastify, opts, done): void => { ...
})), ensuring references to createYoga, httpHandler, and done remain unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c5e0568c-be70-40ed-ac3e-0d5da6de5c86

📥 Commits

Reviewing files that changed from the base of the PR and between 9581942 and 2e728fd.

⛔ Files ignored due to path filters (2)
  • examples/blog-with-auth/apps/backend/baseplate/generated/src/plugins/graphql/index.ts is excluded by !**/generated/**, !**/generated/**
  • examples/todo-with-better-auth/apps/backend/baseplate/generated/src/plugins/graphql/index.ts is excluded by !**/generated/**, !**/generated/**
📒 Files selected for processing (3)
  • examples/blog-with-auth/apps/backend/src/plugins/graphql/index.ts
  • examples/todo-with-better-auth/apps/backend/src/plugins/graphql/index.ts
  • packages/fastify-generators/src/generators/yoga/yoga-plugin/templates/src/plugins/graphql/index.ts

@kingston kingston merged commit ad028b5 into main Mar 13, 2026
13 checks passed
@kingston kingston deleted the kingston/eng-629-remove-altair-support branch March 13, 2026 22:41
@github-actions github-actions Bot mentioned this pull request Mar 13, 2026
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