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

@vsf-enterprise/contentful-api

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