Alokai

@vsf-enterprise/bloomreach-content-api

6.0.0

Patch Changes

  • Updated dependencies:
    • @alokai/connect@2.4.0
    • @alokai/middleware-axios-error-adapter@3.0.0

5.0.2

Patch Changes

  • Updated dependencies:
    • @alokai/connect@2.3.2
    • @alokai/middleware-axios-error-adapter@2.0.2

5.0.1

Patch Changes

  • Updated dependencies:
    • @alokai/connect@2.3.1
    • @alokai/middleware-axios-error-adapter@2.0.1

5.0.0

Patch Changes

  • CHANGED Bumped pinned dependency versions (defu, glob, h3, lodash-es, minimatch, path-to-regexp, rollup, diff, uuid) to patched releases within the same major to address known security vulnerabilities. No public API or runtime behavior change.
  • CHANGED Node engines tightened to ^20.10.0 || >=22.14.0 to match the runtime support range for JSON ESM imports with with { type: "json" }.
  • Updated dependencies:
    • @alokai/connect@2.3.0
    • @vsf-enterprise/cms-components-utils@3.2.0
    • @alokai/middleware-axios-error-adapter@2.0.0

4.0.0

Minor Changes

  • ADDED Error adapter for Bloomreach Content API client with standardized error normalization.

What changed:

All Bloomreach Content API 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
  • BloomreachContentAdapter - Type interface for the error adapter

Migration notes:

The error adapter is automatically applied to clients created via buildClient(). If you have custom error handling logic that depends on catching native Axios 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
    • @alokai/middleware-axios-error-adapter@1.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.

Minor Changes

  • CHANGED Update axios version to "^1.7.9"

Patch Changes

  • Updated dependencies:
    • @vsf-enterprise/cms-components-utils@3.0.0
    • @alokai/connect@1.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:
    • @vsf-enterprise/cms-components-utils@3.0.0-rc.1
    • @alokai/connect@1.0.0-rc.3

3.0.0-rc.3

Minor Changes

  • CHANGED Update axios version to "^1.7.9"

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.1.0

Minor Changes

  • ADDED Added a unified normalizePage endpoint.

2.1.0-rc.0

Minor Changes

  • ADDED Added a unified normalizePage endpoint.

2.0.0

Major Changes

CHANGED

  • Update @vue-storefront/middleware to ^5.1.0
  • Update @vue-storefront/unified-data-model to ^3.0.0

1.3.0

Minor Changes

  • CHANGED The non-unified getPage() API method now supports the maxRefLevel parameter allowing to increase the maximum content item reference depth level.
const page = await sdk.cms.getPage({
  maxRefLevel: 4,
});
  • CHANGED The non-unified getPage() API method now supports passing Experience Manager authorization token through a new token property, with the existing previewToken property serving as an alias going forward.
const page = await sdk.cms.getPage({
  token: "XYZ" // valid, takes precedence
  previewToken: "XYZ" // also valid
});
  • CHANGED The searchParams parameter of the unified getPage() API method now has a more precise interface listing expected token, previewToken, endpoint and maxRefLevel properties.
const page = await sdk.unifiedCms.getPage({
  searchParams: {
    token: "XYZ",
    endpoint:
      "https://vuestorefront.bloomreach.io/delivery/site/v1/channels/en/pages",
    maxRefLevel: 4,
  },
});

1.2.2

Patch Changes

  • CHANGED Refactored resolving non-unified getPage() request url when endpoint param is provided.

1.2.1

Patch Changes

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

1.2.0

Minor Changes

  • ADDED a new endpoint parameter to the default (non-unified) getPage() API method. When passed, it overwrites the URL constructed from channel and path parameters.

1.1.1

Patch Changes

  • FIXED RegExp path matching in resolvePages.

1.1.0

Minor Changes

  • ADDED Unified extension which allows fetching data from Bloomreach Content and extracting components. The extension is available at the /unified namespace and adds a new getPage endpoint.

To use the extension on the Storefront side:

  1. Export extension types in the storefront-middleware/types.ts file:
+ export type { UnifiedEndpoints as UnifiedCmsEndpoints } from '@vsf-enterprise/bloomreach-content-api';
  1. In the SDK config, add a new middlewareModule:
+ import type { UnifiedCmsEndpoints } from 'storefront-middleware/types';

+ unifiedCms: buildModule(middlewareModule<UnifiedCmsEndpoints>, {
+   apiUrl: `${config.middlewareUrl}/bloomreach-content/unified`,
+   defaultRequestConfig: {
+     headers: getRequestHeaders(),
+   },
+ }),
  // ...
  1. In your page component, use the getPage method to fetch the page data:
const page = await sdk.unifiedCms.getPage({
  path: "/",
  locale: "en",
});

All components are extracted, so you don't need to use the extractComponent utility from amplienceModule anymore.

On this page