@autolist/contentful

0.1.15 • Public • Published

Contentful Client

Test Coverage Maintainability

Installation

Using npm:

$ npm i --save @autolist/contentful

Using yarn:

$ yarn add @autolist/contentful

Usage:

import { Item, Params } from '@autolist/contentful`
import { createClient } from 'contentful'

class Article extends Item {
}

// You must register all classes with the parent class if you
// want to override behavior for specific content types,
// so that we can look them up later for association parsing.
// Otherwise, the default Item class will be used.
Item.classes['article'] = Article

class ArticleParams extends Params {
  static fields = ['slug']
}

const params = new ArticleParams({
  // Fields will be inferred and translated to contentful params
  slug: 'our-slug',
  // Skip is inferred from a combination of page and limit
  page: 2,
  limit: 10,
  // 'en' locale is assumed to be shorthand for 'en-US'
  locale: 'en',
  // Relationship queries are too variable to reliably
  // infer, so pass them in by hand
  'fields.parentPage.sys.contentType.sys.id': 'page',
  'fields.parentPage.fields.slug': 'news-and-analysis'
}, Article)

const client = createClient(myCredentials)

const contentfulResponse = await client.getEntries(paramsObject.toJSON())

const [article] = Article.load(contentfulResponse)

console.log(article.toJSON())

🛠️ Development

Install dependencies:

yarn

🤖 Testing

yarn:

yarn test

Building

yarn:

yarn build

Releasing

  1. Bump version in package.json
  2. npm publish (Use npm and 2FA to publish until https://github.com/yarnpkg/yarn/issues/4904 is resolved)

Readme

Keywords

Package Sidebar

Install

npm i @autolist/contentful

Weekly Downloads

2

Version

0.1.15

License

MIT

Unpacked Size

585 kB

Total Files

25

Last publish

Collaborators

  • asherlc
  • matthewjsloane
  • therealmeyer