Skip to content

Rename Edge Config to Global Config across examples#1538

Draft
luismeyer wants to merge 2 commits into
mainfrom
luismeyer/fla-3104-phase-2-update-vercelexamples
Draft

Rename Edge Config to Global Config across examples#1538
luismeyer wants to merge 2 commits into
mainfrom
luismeyer/fla-3104-phase-2-update-vercelexamples

Conversation

@luismeyer

@luismeyer luismeyer commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Swaps @vercel/edge-config for the renamed @vercel/global-config package across all affected package.json files and lockfiles.
  • Updates imports (from '@vercel/edge-config'from '@vercel/global-config').
  • Replaces user-facing "Edge Config" mentions with "Global Config" in READMEs, comments, and UI copy across edge-middleware/*, flags-sdk/launchdarkly, internal/fields.json, rust/*/AGENTS.md, and the SvelteKit toolbar example.
  • Renames missing-edge-config pages/routes to missing-global-config (apple-store, split, maintenance-page) and updates their internal redirects/component names.

Forward-looking prep (speculative, not yet functional)

At the requester's direction, this also prepares these examples for phases that haven't shipped yet:

  • Targets @vercel/global-config@1.5.0 in package.json (not published — lockfiles are intentionally left resolving 1.4.3 so pnpm install still works today; bump the lockfiles once 1.5.0 ships).
  • Renames EDGE_CONFIG/EDGE_CONFIG_ITEM_KEY/EDGE_CONFIG_SPLIT_ITEM_KEY/EDGE_CONFIG_HYPERTUNE_ITEM_KEY env vars to GLOBAL_CONFIG* (the platform still injects EDGE_CONFIG today per FLA-3175, so these examples won't pick up their connection string until that phase ships).
  • Switches the apple-store REST call to /v1/global-config/{id}/items, which is currently private/undocumented (FLA-3093).
  • Renames the deploy-button edge-config-stores query param to global-config-stores, assuming vercel.com's deploy flow will accept it — unverified.

Rebased onto main (#1532)

Rebased onto the LaunchDarkly Marketplace-integration update that landed on main in the meantime. That PR already migrated feature-flag-launchdarkly and flags-sdk/launchdarkly off EDGE_CONFIG onto EXPERIMENTATION_CONFIG (an unrelated, already-shipped rename tied to the native Marketplace integration, not this Global Config effort) and replaced the deploy button's integration-ids/env/edge-config-stores params with a products= Marketplace param. Conflict resolution kept #1532's current structure and dropped this branch's now-obsolete EDGE_CONFIGGLOBAL_CONFIG/edge-config-storesglobal-config-stores edits for those two examples specifically — they still get the @vercel/global-config package swap and "Edge Config" → "Global Config" prose, just not the env-var/deploy-param speculation, since the var is EXPERIMENTATION_CONFIG there, not EDGE_CONFIG.

Known issue: feature-flag-launchdarkly fails tsc/next build type checking — @launchdarkly/vercel-server-sdk still depends on the old @vercel/edge-config internally, so its init() rejects a @vercel/global-config client (DeepReadonly<T> structural mismatch). Confirmed still present after the rebase. Left as-is per direction; needs a fix (cast, or pin back to @vercel/edge-config) once LaunchDarkly's SDK updates its own dependency.

Intentionally left unchanged: EmbeddedEdgeConfig/EdgeConfigClient type names are still exported that way from the SDK (though GlobalConfigClient etc. aliases also exist), third-party SDK exports/option keys (EdgeConfigDataAdapter, EdgeConfigWrapper, VercelEdgeConfigInitDataProvider, Ory's own edgeConfig), and the edge-config.vercel.com connection-string domain.

Linear: FLA-3104

Test plan

  • tsc --noEmit passes on all 6 edge-middleware examples when temporarily tested against the real @vercel/global-config@1.4.3 release (same API surface as the targeted 1.5.0), except feature-flag-launchdarkly (see known issue above, pre-existing from the package rename itself)
  • Verified no remaining "Edge Config"/EDGE_CONFIG mentions outside intentional exceptions (grep sweep)
  • Rebased onto main (Update LaunchDarkly examples for native Vercel Marketplace integration #1532), all conflicts resolved, re-verified type-checking afterward
  • CI
  • Re-verify once @vercel/global-config@1.5.0, the GLOBAL_CONFIG env var, and the public /v1/global-config route actually ship

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

You must have Developer access to commit code to Vercel Examples on Vercel. If you contact an administrator and receive Developer access, commit again to see your changes.

Learn more: https://vercel.com/docs/accounts/team-members-and-roles/access-roles#team-level-roles

@socket-security

socket-security Bot commented Jul 23, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​vercel/​global-config@​1.4.37510010091100

View full report

@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blob-starter Ready Ready Preview, Comment Jul 24, 2026 9:50am
blob-sveltekit Error Error Jul 24, 2026 9:50am
build-output-api-draft-mode Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-edge-functions Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-edge-middleware Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-image-optimization Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-isr Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-overrides Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-prerender-functions Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-routes Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-serverless-functions Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-static-files Ready Ready Preview, Comment Jul 24, 2026 9:50am
build-output-api-wildcard Ready Ready Preview, Comment Jul 24, 2026 9:50am
container-images-demo Ready Ready Preview, Comment Jul 24, 2026 9:50am
cron Ready Ready Preview, Comment Jul 24, 2026 9:50am
edge-functions-i18n Ready Ready Preview, Comment Jul 24, 2026 9:50am
example-auth-with-ory Ready Ready Preview, Comment Jul 24, 2026 9:50am
example-express-bun Ready Ready Preview, Comment Jul 24, 2026 9:50am
example-hono-bun Ready Ready Preview, Comment Jul 24, 2026 9:50am
example-nitro-bun Ready Ready Preview, Comment Jul 24, 2026 9:50am
examples Ready Ready Preview, Comment Jul 24, 2026 9:50am
examples-q42o Error Error Jul 24, 2026 9:50am
experimentation-statsig Error Error Jul 24, 2026 9:50am
express-ai-sdk-demo Ready Ready Preview, Comment Jul 24, 2026 9:50am
fantix-examples-nextjs-fastapi Ready Ready Preview, Comment Jul 24, 2026 9:50am
fastapi-ai-chat Error Error Jul 24, 2026 9:50am
flags-sdk-openfeature Ready Ready Preview, Comment Jul 24, 2026 9:50am
geolocation-script Ready Ready Preview, Comment Jul 24, 2026 9:50am
hono Ready Ready Preview, Comment Jul 24, 2026 9:50am
hono-ai-sdk Ready Ready Preview, Comment Jul 24, 2026 9:50am
hono-mcp-example Ready Ready Preview, Comment Jul 24, 2026 9:50am
kv-redis-starter Ready Ready Preview, Comment Jul 24, 2026 9:50am
laurens-test Ready Ready Preview, Comment Jul 24, 2026 9:50am
litellm-gateway-demo Ready Ready Preview, Comment Jul 24, 2026 9:50am
mint-nft Ready Ready Preview, Comment Jul 24, 2026 9:50am
next-fastapi-monorepo Error Error Jul 24, 2026 9:50am
nextjs-fastapi Error Error Jul 24, 2026 9:50am
nextjs-fastapi-bindings Error Error Jul 24, 2026 9:50am
nextjs-gin Error Error Jul 24, 2026 9:50am
nitro Ready Ready Preview, Comment Jul 24, 2026 9:50am
nitro-cached-handler Ready Ready Preview, Comment Jul 24, 2026 9:50am
nitro-plugins Ready Ready Preview, Comment Jul 24, 2026 9:50am
nitro-route-rules Ready Ready Preview, Comment Jul 24, 2026 9:50am
postgres-drizzle Ready Ready Preview, Comment Jul 24, 2026 9:50am
postgres-kysely Ready Ready Preview, Comment Jul 24, 2026 9:50am
postgres-prisma Error Error Jul 24, 2026 9:50am
postgres-starter Ready Ready Preview, Comment Jul 24, 2026 9:50am
redirect-with-fallback Ready Ready Preview, Comment Jul 24, 2026 9:50am
redirects-bloom-filter Ready Ready Preview, Comment Jul 24, 2026 9:50am
rust-axum Ready Ready Preview, Comment Jul 24, 2026 9:50am
rust-hello-world Ready Ready Preview, Comment Jul 24, 2026 9:50am
solutions-testing Ready Ready Preview, Comment Jul 24, 2026 9:50am
starter-test Error Error Jul 24, 2026 9:50am
turborepo-hono-api Error Error Jul 24, 2026 9:50am
turborepo-hono-web Ready Ready Preview, Comment Jul 24, 2026 9:50am
vercel-plus-fastapi Ready Ready Preview Jul 24, 2026 9:50am
vite-fastapi Error Error Jul 24, 2026 9:50am
xmcp-demo Ready Ready Preview, Comment Jul 24, 2026 9:50am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
solutions-nx-monorepo Ignored Ignored Preview Jul 24, 2026 9:50am

@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Deployment failed with the following error:

The `vercel.ts` schema validation failed with the following message: `rewrites[0]` missing required property `destination`

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

"@tailwindcss/typography": "0.5.16",
"@vercel/edge": "1.2.1",
"@vercel/edge-config": "1.4.3",
"@vercel/global-config": "1.5.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@vercel/global-config was bumped to 1.5.0/^1.5.0 across 13 package.json files, but that version is not published on npm (only 1.4.3 exists), breaking pnpm install.

Fix on Vercel

}

if (!(await has(process.env.EDGE_CONFIG_SPLIT_ITEM_KEY))) {
if (!(await has(process.env.GLOBAL_CONFIG_SPLIT_ITEM_KEY))) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two middlewares call the top-level has()/get() from @vercel/global-config, whose default client reads process.env.EDGE_CONFIG, but the PR renamed the connection-string env var to GLOBAL_CONFIG, so the calls fail at runtime.

Fix on Vercel

Swaps @vercel/edge-config for the renamed @vercel/global-config
package and updates user-facing "Edge Config" mentions to "Global
Config" in READMEs, comments, and UI copy. Env var names
(EDGE_CONFIG), API endpoints, and third-party SDK option keys are
left untouched since those haven't been renamed yet.
Speculatively targets @vercel/global-config@1.5.0 (unreleased),
renames EDGE_CONFIG* env vars to GLOBAL_CONFIG*, and switches the
apple-store REST call to the not-yet-public /v1/global-config
endpoint. These examples won't build/deploy until the corresponding
platform phases (env var rename, public API route, 1.5.0 release)
ship.

Note: feature-flag-launchdarkly now fails tsc/next build type
checking because @launchdarkly/vercel-server-sdk still depends on
the old @vercel/edge-config internally, so its init() rejects a
@vercel/global-config client (DeepReadonly<T> structural mismatch).
Left as-is per direction; needs a fix once LaunchDarkly's SDK
updates its own dependency.
@luismeyer
luismeyer force-pushed the luismeyer/fla-3104-phase-2-update-vercelexamples branch from 5044a3e to 1830ee7 Compare July 24, 2026 09:43
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