WebpackError: Configuration must contain `projectId`

2 replies
Last updated: Nov 17, 2020

Hey everyone, I’ve noticed this has come up a few times before but there doesn’t seem to be a clear solution. Currently we are using the sanity client to fetch data for our Gatsby app. This is our configuration:

const client = require("@sanity/client");

export const sanityClient = client({
  projectId: process.env.SANITY_PROJECT_ID,
  dataset: process.env.SANITY_NODE_ENV,
  useCdn: false,
Everything ran fine during development, but we ran in some issues when trying to build. This is what we are getting:

  49 |
  50 |   if (projectBased && !newConfig.projectId) {
> 51 |     throw new Error('Configuration must contain `projectId`');
     | ^
  52 |   }
  53 |
  54 |   var isBrowser = typeof window !== 'undefined' && window.location && window.location.hostname;

  WebpackError: Configuration must contain `projectId`

  - config.js:51

  - sanityClient.js:78
Any help with this would be great appreciated. Thanks!

Nov 17, 2020, 10:35 PM

Hey ! This might me a problem coming from your .env not being properly loaded during build-time.
Maybe you can try to replace your

by a string and try to build again to see if it works.

Nov 17, 2020, 10:39 PM

Hi Hervé,Thank you for your reply! Strangely enough when we tried this earlier it didn’t work, but now it does!
Cheers for your help!

Nov 17, 2020, 10:47 PM

Sanity.io: Get the most out of your content

Sanity.io is a platform to build websites and applications. It comes with great APIs that let you treat content like data. Give your team exactly what they need to edit and publish their content with the customizable Sanity Studio. Get real-time collaboration out of the box. Sanity.io comes with a hosted datastore for JSON documents, query languages like GROQ and GraphQL, CDNs, on-demand asset transformations, presentation agnostic rich text, plugins, and much more.

Don't compromise on developer experience. Join thousands of developers and trusted companies and power your content with Sanity.io. Free to get started, pay-as-you-go on all plans.