Summary
@vercel/flags-core@1.4.0 (pulled in transitively by @flags-sdk/vercel@1.3.0) contains compiled code that imports @vercel/flags-definitions. That package is not declared in @vercel/flags-core's dependencies and is not published to
the npm registry. As a result, any project using @flags-sdk/vercel fails next build with Module not found: Can't resolve '@vercel/flags-definitions'.
Local next dev does not surface the issue because dev mode compiles routes lazily and skips a full module-resolution sweep. Production builds (and Vercel deploys) hit it immediately.
Reproduction
Standard Vercel Flags setup, following https://vercel.com/docs/flags/vercel-flags/sdks/flags-sdk verbatim.
Flag definition — src/flags/my_flag.ts:
import { flag } from 'flags/next'
import { vercelAdapter } from '@flags-sdk/vercel'
type Entities = {
userId: string
}
const identify = async (): Promise<Entities | null> => null
export const myFlag = flag<boolean, Entities>({
key: 'my_flag',
description: 'Example boolean feature flag',
defaultValue: false,
identify,
adapter: vercelAdapter(),
})
Flags Discovery Endpoint — src/app/.well-known/vercel/flags/route.ts:
import { createFlagsDiscoveryEndpoint, getProviderData } from 'flags/next'
import * as flags from 'src/flags'
export const GET = createFlagsDiscoveryEndpoint(async () => getProviderData(flags))
Build: next build (also fails on every Vercel deploy).
Actual error
Module not found: Can't resolve '@vercel/flags-definitions' in '/path/to/node_modules/@vercel/flags-core/dist'
Import trace for requested module:
./node_modules/@vercel/flags-core/dist/chunk-OABKRAPP.js
./node_modules/@vercel/flags-core/dist/index.default.js
./node_modules/@flags-sdk/vercel/dist/index.js
./src/flags/my_flag.ts
./src/flags/index.ts
./src/app/.well-known/vercel/flags/route.ts
Verification that the package is missing
npm view @vercel/flags-definitions returns 404 Not Found from registry.npmjs.org.
node_modules/@vercel/flags-core/package.json declares only @vercel/functions, jose, and js-xxhash in dependencies. Its peerDependencies are @openfeature/server-sdk (optional) and next (optional). @vercel/flags-definitions is not
referenced anywhere in the manifest.
- Grepping
node_modules/@vercel/flags-core/dist/chunk-OABKRAPP.js confirms a literal "@vercel/flags-definitions" import string is present in the compiled bundle.
Expected behavior
@vercel/flags-core@1.4.0 should build cleanly when consumed via the canonical Vercel Flags setup. Either:
- Publish
@vercel/flags-definitions to npm and declare it in @vercel/flags-core's dependencies, or
- Re-bundle
@vercel/flags-core so the import to @vercel/flags-definitions is inlined or removed.
Environment
|
Version |
| Next.js |
15.4.10 |
flags |
4.0.6 |
@flags-sdk/vercel |
1.3.0 |
@vercel/flags-core (resolved transitively) |
1.4.0 |
@vercel/toolbar |
0.2.5 |
| Node |
v22.19.0 |
| Package manager |
Yarn 1.22.22 |
Summary
@vercel/flags-core@1.4.0(pulled in transitively by@flags-sdk/vercel@1.3.0) contains compiled code that imports@vercel/flags-definitions. That package is not declared in@vercel/flags-core'sdependenciesand is not published tothe npm registry. As a result, any project using
@flags-sdk/vercelfailsnext buildwithModule not found: Can't resolve '@vercel/flags-definitions'.Local
next devdoes not surface the issue because dev mode compiles routes lazily and skips a full module-resolution sweep. Production builds (and Vercel deploys) hit it immediately.Reproduction
Standard Vercel Flags setup, following https://vercel.com/docs/flags/vercel-flags/sdks/flags-sdk verbatim.
Flag definition —
src/flags/my_flag.ts:Flags Discovery Endpoint —
src/app/.well-known/vercel/flags/route.ts:Build:
next build(also fails on every Vercel deploy).Actual error
Verification that the package is missing
npm view @vercel/flags-definitionsreturns 404 Not Found fromregistry.npmjs.org.node_modules/@vercel/flags-core/package.jsondeclares only@vercel/functions,jose, andjs-xxhashindependencies. ItspeerDependenciesare@openfeature/server-sdk(optional) andnext(optional).@vercel/flags-definitionsis notreferenced anywhere in the manifest.
node_modules/@vercel/flags-core/dist/chunk-OABKRAPP.jsconfirms a literal"@vercel/flags-definitions"import string is present in the compiled bundle.Expected behavior
@vercel/flags-core@1.4.0should build cleanly when consumed via the canonical Vercel Flags setup. Either:@vercel/flags-definitionsto npm and declare it in@vercel/flags-core'sdependencies, or@vercel/flags-coreso the import to@vercel/flags-definitionsis inlined or removed.Environment
flags@flags-sdk/vercel@vercel/flags-core(resolved transitively)@vercel/toolbar