@softobotics/storefront-vendure-client
v0.1.6
Published
Framework-agnostic Vendure Shop API client (build-time + client-side) used across DripFunnel storefronts.
Keywords
Readme
@softobotics/storefront-vendure-client
Framework-agnostic Vendure Shop API client shared by DripFunnel storefronts. Wraps
gql.tada-typed query/mutate calls, active-channel resolution, and the
localStorage-backed auth token used by static-export (output: 'export')
Next.js storefronts that have no server at request time.
Two entry points
@softobotics/storefront-vendure-client— build-time only (no'use client'directives). Safe to import fromgenerateStaticParams,generateMetadata, and other static-generation code.@softobotics/storefront-vendure-client/client— browser-only. Import this from client components instead; it carries its owngetActiveChannelthat memoizes the request in a module-level singleton for the page's lifetime.
These are deliberately separate modules, not two exports of the same name —
getActiveChannel means something different in each (build-time vs.
memoized client-side), and importing the wrong one for your context is a
common mistake this split is meant to prevent.
graphql-env.d.ts
src/graphql-env.d.ts is a vendored, checked-in snapshot of the Vendure Shop
API schema (via gql.tada). It does not regenerate automatically. Before
cutting a release, if the Shop API schema has changed, run:
npm run codegenThis points at the live schema declared in graphql.config.yml. Commit the
regenerated file as part of the same change that needs the new fields.
Environment variables
| Variable | Used by | Purpose |
|---|---|---|
| VENDURE_SHOP_API_URL / NEXT_PUBLIC_VENDURE_SHOP_API_URL | build-time (.) | Shop API endpoint |
| NEXT_PUBLIC_VENDURE_SHOP_API_URL | client (./client) | Shop API endpoint (must be public — used from the browser) |
| NEXT_PUBLIC_VENDURE_CHANNEL_TOKEN | both | Channel token header, defaults to __default_channel__ |
| NEXT_PUBLIC_VENDURE_AUTH_TOKEN_STORAGE_KEY | client | localStorage key for the bearer token, defaults to vendure-auth-token |
