Skip to content

@vercel/flags-core@1.4.0 imports @vercel/flags-definitions, which is not on the npm registry — error on next build #384

@MaybeThisIsRu

Description

@MaybeThisIsRu

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 definitionsrc/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 Endpointsrc/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:

  1. Publish @vercel/flags-definitions to npm and declare it in @vercel/flags-core's dependencies, or
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions