contentful-ui-extensions-sdk
Advanced tools
Changelog
4.0.0 (2021-10-05)
This major release of the Contentful App SDK provides two great features to make app development for Contentful even easier.
You can now use the contentful-management
library within apps. This gives you access to a huge load of APIs that were previously not available. Also, you can reuse existing code utilising the contentful-management
library which makes it easier to convert your custom Contentful scripts to convenient apps.
After installing the library, a new client can be created using the cmaAdapter
which is exposed by the App SDK. There is no need to deal with authentication and tokens.
import { createClient } from 'contentful-management'
const nestedClient = createClient({ apiAdapter: sdk.cmaAdapter })
const cma = createClient(
{ apiAdapter: sdk.cmaAdapter },
{
type: 'plain',
defaults: {
environmentId: sdk.ids.environment,
spaceId: sdk.ids.space,
},
},
)
Please note that not all methods are available. You can only use methods that access entities within the app’s space environment.
The Space API (sdk.space
) is deprecated and will be removed in a future major update of the App SDK. We recommend using the new CMA Adapters to replace existing Space API functionality.
In the previous version of the App SDK app developers sometimes struggled with our provided types. For version 4 we took the opportunity to revamp and significantly improve the types of the whole library. These changes are likely to break existing TypeScript apps as we are more specific about each property and also changed the usage of generics on API methods.
The new types of the App SDK now align with the types of the contentful-management
library.
To get the best development experience, you need to install contentful-management
as a separate dependency.
npm install contentful-management
We do not include this dependency by default to keep your dependency tree clean and ensure small bundle sizes and short build times.