Vue Storefront is now Alokai! Learn More
@vsf-enterprise/storyblok-api

@vsf-enterprise/storyblok-api

4.0.0

Minor Changes

  • ADDED Error adapter for Storyblok client with standardized error normalization.

What changed:

All Storyblok client methods now automatically normalize errors to HttpError instances:

  • HTTP errors from the API preserve their original status codes
  • Network and other errors return 502 Bad Gateway
  • All errors include upstream: true marker for debugging

New exports:

  • errorAdapter - Provides createNormalizer() and withErrorNormalizer() methods
  • StoryblokAdapter - Type interface for the error adapter

Migration notes:

The error adapter is automatically applied to clients created via init(). If you have custom error handling logic that depends on catching native Storyblok errors directly, you should now catch HttpError instead. The original error is available via error.cause property.

Patch Changes

  • CHANGED Updated internal dependencies for Yarn 4 compatibility.
  • CHANGED Align dependency versions across SDKs, tooling, and shared configs.
  • CHANGED Replaced Rollup with tsdown for @vsf-enterprise and @alokai package builds.
  • FIXED Standardize type usage to always reference API type packages across integrations and SDKs.
  • Updated dependencies:
    • @alokai/connect@2.0.0

3.0.1

Patch Changes

  • CHANGED Removed deprecated context.api calls

3.0.0

Major Changes

  • CHANGED Guarantee compatibility with @alokai/connect package.
  • CHANGED Updated the package for compatibility with Node.js 22.

Key Updates:

  • Upgraded to the latest version of Node.js 22
  • Updated CI pipelines to use Node.js 22 for consistency.
  • Updated .nvmrc or .node-version files to specify Node.js version 22.14.
  • Upgraded @types/node to version ^22.13.17 for compatibility with the latest Node.js features.

Recommendations:

  • Use Node.js version 22.14.0 or higher for optimal performance, security, and compatibility.
  • While Node.js 20 is technically supported, it is not recommended as it may cause compatibility issues with certain packages and has not been thoroughly tested. CHANGED Replaced core dependencies with a new @alokai/connect package. @vue-storefront/middleware, @vue-storefront/sdk, vue-storefront/logger, vue-storefront/unified-data-model, @vue-storefront/multistore were replaced with @alokai/connect. The replacement preserves the same functionality and interface as the original packages. To read more about the @alokai/connect package, please refer to the documentation.

Patch Changes

  • Updated dependencies:
    • @vsf-enterprise/cms-components-utils@3.0.0
    • @alokai/connect@1.0.0
    • @vue-storefront/integrations-tsconfig@2.0.0

3.0.0-rc.5

Patch Changes

  • Updated dependencies:
    • @alokai/connect@1.0.0-rc.4

3.0.0-rc.4

Major Changes

  • CHANGED Updated the package for compatibility with Node.js 22.

Key Updates:

  • Upgraded to the latest version of Node.js 22
  • Updated CI pipelines to use Node.js 22 for consistency.
  • Updated .nvmrc or .node-version files to specify Node.js version 22.14.
  • Upgraded @types/node to version ^22.13.17 for compatibility with the latest Node.js features.

Recommendations:

  • Use Node.js version 22.14.0 or higher for optimal performance, security, and compatibility.
  • While Node.js 20 is technically supported, it is not recommended as it may cause compatibility issues with certain packages and has not been thoroughly tested.

Patch Changes

  • Updated dependencies:
    • @vue-storefront/integrations-tsconfig@2.0.0-rc.0
    • @vsf-enterprise/cms-components-utils@3.0.0-rc.1
    • @alokai/connect@1.0.0-rc.3

3.0.0-rc.3

Patch Changes

  • Updated dependencies:
    • @alokai/connect@1.0.0-rc.2

3.0.0-rc.2

Patch Changes

  • Updated dependencies:
    • @alokai/connect@1.0.0-rc.1

3.0.0-rc.1

Major Changes

Update packages to work with connect rc version

Patch Changes

  • Updated dependencies:
    • @vsf-enterprise/cms-components-utils@3.0.0-rc.0
    • @alokai/connect@1.0.0-rc.0

3.0.0-rc.0

Major Changes

CHANGED Replaced core dependencies with a new @alokai/connect package. @vue-storefront/middleware, @vue-storefront/sdk, vue-storefront/logger, vue-storefront/unified-data-model were replaced with @alokai/connect. The replacement preserves the same functionality and interface as the original packages. To read more about the @alokai/connect package, please refer to the documentation. You will also find a migration guide in the documentation.

2.0.0

Major Changes

  • CHANGED The library now communicates with the Storyblok Delivery API via storybloj-js-client instead of storyblok-js. The bridge property is no longer supported by the package configuration and should be removed.

apps/storefront-middleware/sf-modules/cms-storyblok/config.ts

import type { MiddlewareConfig } from "@vsf-enterprise/storyblok-api";
import type { Integration } from "@vue-storefront/middleware";

const { STORYBLOK_ACCESS_TOKEN, STORYBLOK_REGION } = process.env;

if (!STORYBLOK_ACCESS_TOKEN) throw new Error("Missing env var: STORYBLOK_ACCESS_TOKEN");
if (!STORYBLOK_REGION) throw new Error("Missing env var: STORYBLOK_REGION");

export const config = {
  location: "@vsf-enterprise/storyblok-api/server",
  configuration: {
-   bridge: true,
    apiOptions: {
      accessToken: STORYBLOK_ACCESS_TOKEN,
      region: STORYBLOK_REGION,
      cache: {
        type: "memory",
      },
    },
    unified: {
      resolvePages: () => ({
        "/category{/*slug}": {
          path: "category",
        },
        "/product{/*slug}": {
          path: "product",
        }
      }),
      resolveFallbackPage: () => ({
        path: "fallback-page",
      }),
    },
  },
} satisfies Integration<MiddlewareConfig>;

2.0.0-rc.0

Major Changes

  • CHANGED The library now communicates with the Storyblok Delivery API via storybloj-js-client instead of storyblok-js. The bridge property is no longer supported by the package configuration and should be removed.

apps/storefront-middleware/sf-modules/cms-storyblok/config.ts

import type { MiddlewareConfig } from "@vsf-enterprise/storyblok-api";
import type { Integration } from "@vue-storefront/middleware";

const { STORYBLOK_ACCESS_TOKEN, STORYBLOK_REGION } = process.env;

if (!STORYBLOK_ACCESS_TOKEN) throw new Error("Missing env var: STORYBLOK_ACCESS_TOKEN");
if (!STORYBLOK_REGION) throw new Error("Missing env var: STORYBLOK_REGION");

export const config = {
  location: "@vsf-enterprise/storyblok-api/server",
  configuration: {
-   bridge: true,
    apiOptions: {
      accessToken: STORYBLOK_ACCESS_TOKEN,
      region: STORYBLOK_REGION,
      cache: {
        type: "memory",
      },
    },
    unified: {
      resolvePages: () => ({
        "/category{/*slug}": {
          path: "category",
        },
        "/product{/*slug}": {
          path: "product",
        }
      }),
      resolveFallbackPage: () => ({
        path: "fallback-page",
      }),
    },
  },
} satisfies Integration<MiddlewareConfig>;

1.0.0

Major Changes

  • ADDED Initial version of the package
  • ADDED Normalizer for story objects.
  • ADDED Normalizer for plugin fields.
  • CHANGED Passing version param to the unified getPage() method is no longer needed. It is now derived from the presence of the _storyblok query parameter.
  • CHANGED The GetPageArgs interface (which describes params object accepted of the unified getPage() method) now includes a storyParams object which is passed down as the second argument to the getStory() method of the Storyblok SDK.
  • CHANGED Entries returned by resolvePages() now have to implement the GetPageArgs interface.

Patch Changes

FIXED getPage method optional params

  • Updated dependencies:
    • @vsf-enterprise/cms-components-utils@2.1.0

1.0.0-rc.2

Patch Changes

FIXED getPage method optional params

1.0.0-rc.1

Major Changes

  • ADDED Normalizer for story objects.
  • ADDED Normalizer for plugin fields.
  • CHANGED Passing version param to the unified getPage() method is no longer needed. It is now derived from the presence of the _storyblok query parameter.
  • CHANGED The GetPageArgs interface (which describes params object accepted of the unified getPage() method) now includes a storyParams object which is passed down as the second argument to the getStory() method of the Storyblok SDK.
  • CHANGED Entries returned by resolvePages() now have to implement the GetPageArgs interface.

1.0.0-rc.0

Major Changes

  • ADDED Initial version of the package