Nutritious Pumpkin Meal

    codegen-prismic-fetch

    1.0.5 • Public • Published

    codegen-prismic-fetch

    npm version

    A customFetch implementation for using GraphQL Code Generator with Prismic CMS

    Prerequisites

    This package helps you connect an existing GraphQL Code Generator setup to an existing Prismic CMS endpoint.

    If you're not familiar with graphql-codegen, follow the GraphQL Code Generator getting started guide to set up graphql-codegen (and graphql itself) with your npm/yarn-based app, and then come back here to get graphql-codegen talking to your Prismic endpoint.

    Usage

    npm i --save codegen-prismic-fetch

    Or with yarn

    yarn add codegen-prismic-fetch

    Add a customFetch to your codegen.yml:

    customFetch: codegen-prismic-fetch

    See the codegen docs for details on customFetch usage.

    Authentication

    If your API is private you'll need to specify an access token. You can do this in any of three ways:

    • Set the PRISMIC_ACCESS_TOKEN environment variable
    • Include access_token in your codegen.yml schema URL: schema: "https://[your-repo-name].cdn.prismic.io/graphql?access_token=YOUR_TOKEN"
    • Include an Authorization header under schema in your codegen.yml. Make sure to include the prefix Token , eg:
    schema:
      https://[your-repo-name].cdn.prismic.io/graphql:
        headers:
          Authorization: Token YOUR_TOKEN

    Example

    Setting customFetch globally

    customFetch: "codegen-prismic-fetch"
    schema: https://[your-repo-name].cdn.prismic.io/graphql

    Setting customFetch under the schema

    schema:
      https://[your-repo-name].cdn.prismic.io/graphql:
        customFetch: "codegen-prismic-fetch"

    With an access token

    schema:
      https://[your-repo-name].cdn.prismic.io/graphql:
        customFetch: "codegen-prismic-fetch"
        headers:
          Authorization: Token YOUR_TOKEN

    How does it work?

    Prismic has an unusual requirement which makes this library necessary - before making a graphql query we must make a call to the REST API to find the identifier of the current "master" ref, and then we must pass it along in any graphql query by setting the Prismic-ref HTTP header. This library infers the API endpoint from your graphql endpoint, performs a fetch to get your master ref, and then adds that into codegen's graphql introspection queries.

    Prismic also requires all queries to use the GET method. You can specify this with codegen's method: GET option, but that's not necessary when using this library - we effectively set it for you by transforming all requests to GET requests.

    Install

    npm i codegen-prismic-fetch

    DownloadsWeekly Downloads

    641

    Version

    1.0.5

    License

    MIT

    Unpacked Size

    7.23 kB

    Total Files

    6

    Last publish

    Collaborators

    • rh389