Skip to content

Gatsby source plugin to build nodes from images in Google Cloud Storage

License

Notifications You must be signed in to change notification settings

parkerholladay/gatsby-source-gcs-image

Repository files navigation

gatsby-source-gcs-image

build status npm license test coverage test coverage

What Is This?

gatsby-source-gcs-image is a GatsbyJS source plugin that converts images from Google Cloud Storage into GatsbyJS File nodes--much like how this plugin works with AWS S3. See here for more.

The created GatsbyJS File nodes can then be manipulated with image processors like sharp.

Usage

Install

npm install --save-dev gatsby-source-gcs-image

or

yarn add -D gatsby-source-gcs-image

Configure

At a minimum GCP creds must be provided with either credsJson or pathToCreds. Some example configurations are:

// gatsby-config.js

module.exports = {
  plugins: [
    {
      resolve: 'gatsby-source-gcs-image',
      options: {
        bucketName: 'my-gcs-bucket.appspot.com',
        bucketPath: '/path/to/images',
        expires: 120,
        pathToCreds: `${__dirname}/.gcp-creds.json`,
        projectId: 'my-gcp-project',
      },
    },
    // ...image transform plugins
  ],
}

or

// gatsby-config.js

module.exports = {
  plugins: [
    {
      resolve: 'gatsby-source-gcs-image',
      options: {
        credsJson: process.env.ENV_VAR_WITH_CREDS,
      },
    },
    // ...image transform plugins
  ],
}

Fields

name type default required description
bucketName string * GCS bucket (may exist in creds)
credsJson string * JSON string with creds (optional if pathToCreds is provided)
expires number 900 signed url expiration in seconds
pathToCreds string * JSON file with creds (optional if credsJson is provided)
projectId string * GCP project id (may exist in creds)

Query Data

export const pageQuery = graphql`
  {
    allGcsImage {
      edges {
        node {
          name
          childImageSharp {
            gatsbyImageData(layout: CONSTRAINED, width: 800)
          }
        }
      }
    }
  }
`

About

Gatsby source plugin to build nodes from images in Google Cloud Storage

Resources

License

Stars

Watchers

Forks

Packages

No packages published