Never Propel Marmalade

    @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)

    Install

    npm i @autolist/contentful

    DownloadsWeekly Downloads

    8

    Version

    0.1.15

    License

    MIT

    Unpacked Size

    585 kB

    Total Files

    25

    Last publish

    Collaborators

    • asherlc
    • matthewjsloane
    • therealmeyer