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

@vsf-enterprise/contentful-api

5.1.0

Minor Changes

  • ADDED Support for fetching the preview content dynamically. Set x-preview=true request header to fetch the preview content.

Patch Changes

CHANGED logging level for unified getPage method. CHANGED deprecated config.preview flag. Please use the x-preview=true request header instead.

FIXED preview host. It is now calculated in a following way:

{
  host: `${isPreview ? "preview" : "cdn"}.${config.host ?? "contentful.com"}`;
}

ADDED previewClient to the integration context. To use it, make sure that previewToken is set in the config object.

5.1.0-rc.1

Minor Changes

  • ADDED Support for fetching the preview content dynamically. Set x-preview=true request header to fetch the preview content.

5.0.0

Major Changes

CHANGED

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

4.4.0

Minor Changes

  • ADDED You can now specify the full host for the Contentful API. If no host is defined, the API will default to the standard US region (cdn.contentful.com). By including the preview option in the configuration, you can choose to use preview.contentful.com instead of cdn.contentful.com as the entry point.
  const middlewareConfig = {
    integrations: {
      cntf: {
        location: "@vsf-enterprise/contentful-api/server",
        configuration: {
          space: TEST_CONTENTFUL_SPACE_ID,
          token: TEST_CONTENTFUL_ACCESS_TOKEN,
+         host: "eu.cdn.contentful.com",
        },
      },
    },
  };

4.3.0

Minor Changes

  • FIXED Fetch first by the exact page URL in getPage, only then use the resolved URL.

4.2.0

Minor Changes

  • CHANGED Upgraded the path-to-regexp package to version 8.0.0. Note that page path patterns must now follow a different convention. For more details, please refer to the Release Notes for path-to-regexp@8.0.0.

4.1.3

Patch Changes

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

4.1.2

Patch Changes

  • CHANGED getPage method requires a unified configuration with resolvePages and resolveFallbackPage defined.
  • FIXED RegExp path matching in resolvePages.

4.1.1

Patch Changes

  • FIXED Error when using the getPage method with the path that doesn't return any data. The method returns now null instead of throwing an error.

4.1.0

Minor Changes

  • ADDED Unified extension which allows fetching data from Contentful and extracting components. The extension is available at the /unified namespace and adds two methods:
  • getPage - Fetches the page data from Contentful.
  • normalizePage - Normalizes the raw page data coming from Contentful.

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/contentful-api';
  1. In the SDK config, add a new middlewareModule:
+ import type { UnifiedCmsEndpoints } from 'storefront-middleware/types';

+ unifiedCms: buildModule(middlewareModule<UnifiedCmsEndpoints>, {
+   apiUrl: `${config.middlewareUrl}/cntf/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 contentfulModule anymore.

4.0.0

Major Changes

  • CHANGED Improved methods documentation present in the Endpoints interface.
  • REMOVED The package no longer exports the ContentfulMethods interface. Use the Endpoints interface instead.
  • REMOVED The package no longer exports the ProxiedEndpoints interface. Use the ApiMethods interface instead.
  • REMOVED The package no longer exports the ContextualizedEndpoints interface. Use the ApiMethods interface instead.

4.0.0-rc.0

Major Changes

  • CHANGED Upgraded @vue-storefront/middleware to 4.x.x
  • CHANGED Improved methods documentation present in the Endpoints interface.
  • REMOVED The package no longer exports the ContentfulMethods interface. Use the Endpoints interface instead.
  • REMOVED The package no longer exports the ProxiedEndpoints interface. Use the ApiMethods interface instead.
  • REMOVED The package no longer exports the ContextualizedEndpoints interface. Use the ApiMethods interface instead.

3.0.0

Major Changes

  • BREAKING Updated @vue-storefront/middleware version to 4.1.0. Make sure this version is used in your project.
{
  ...
  "dependencies": {
-   "@vue-storefront/middleware": "3.x.x",
+   "@vue-storefront/middleware": "4.1.0"
  }
}

2.0.1

Patch Changes

Update axios to ^0.28.0 to mitigate security vulnerability CVE-2023-45857

2.0.0

Major Changes

  • CHANGED Changed minimum Node version from 16 to 18. The condition that was forcing the Node version to be lower than 19 is also removed.

1.2.0

Minor Changes

  • Bumped @vue-storefront/middleware version to ^3.5.0 which introduces support for HTTP GET requests.

1.1.0

Minor Changes

  • @vsf-enterprise/contentful-api now implements Contentful's Typescript SDK. Methods coming from the SDK client are available as endpoints of Vue Storefront's Server Middleware. For example:
    curl --request POST 'http://localhost:8181/cntf/getEntries'
    

    The getContent endpoint has been marked as @deprecated and will be removed in 4 years from now (July 2027).
    @vsf-enterprise/contentful-sdk has been aligned with the changes in the @vsf-enterprise/contentful-api package. It exposes a proxy for all of the new endpoints. Proxy methods are fully typed and documented with TSDoc.
    import { sdk } from "~/sdk.config.ts";
    
    const entries = await sdk.contentful.getEntries();
    

    The getContent method has been marked as @deprecated and will be removed in 4 years from now.
  • Add node 18 support