jbolda / gatsby-source-airtable

MIT License
216 stars 43 forks source link

"error while running the sourceNodes lifecycle" #274

Closed k-tests closed 3 years ago

k-tests commented 3 years ago

Thanks in advance for any ideas of how to go about this Error?


ERROR #11321 PLUGIN

**"gatsby-source-airtable" threw an error while running the sourceNodes lifecycle:

warn The gatsby-source-airtable plugin has generated no Gatsby nodes. Do you need it?**


my gatsby-config.js:

  resolve: `gatsby-source-airtable`,
  options: {
    apiKey: `process.env.GATSBY_AIRTABLE_API_KEY`,
    tables: [
      {
        baseId: `appbLg1hdbwNbDqfV`,
        tableName: `Signals`,
        tableView: `Grid view`  
jbolda commented 3 years ago

👋

I am kind of surprised that you didn't get anymore of an error message...

Just to confirm based on what you shared, the apiKey that you are specifying, the process.env should not be a string:

  apiKey: process.env.GATSBY_AIRTABLE_API_KEY,
k-tests commented 3 years ago

hey @thefrontside. Sorry for the delay and thanks for this. I'm so stupid! now it works!!! Thanks so much.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had any recent activity for 30 days. It will be closed if no further activity occurs within 7 days. Remove stale label, comment, and/or apply "ongoing issue" label to prevent this from being closed. Thank you for your contributions.

billymitchell commented 3 years ago

I'm getting the same error. "gatsby-source-airtable" threw an error while running the sourceNodes lifecycle:

I can confirm my key is not a string.

https://github.com/billymitchell/billy-mitchell-design

billymitchell commented 3 years ago

I ran npm update --legacy-peer-deps and now it's working!

iljapanic commented 3 years ago

I'm getting the same error with no details.

"gatsby-source-airtable" threw an error while running the sourceNodes lifecycle:

I confirm that my apiKey is not a string. I've also tried updating legacy peer dependencies as @billymitchell suggested but to no avail. For the sake of debugging, I've also tried hard-coding the API key and Base IDs but still got the error.

The same code has been working fine before. I haven't changed anything related to the gatsby-source-airtable.

Is it possible that the error has to do something with the recent major Gatsby update to v3?

Any tips on resolving this are much appreciated. I have a broken pipeline on a production site that I can't update until I fix this.

EDIT: I've tried reverting to a previous working branch with Gatsby v2 dependencies and still get the same error. Seems to be a more general problem with the connection to the Airtable API. According to status.airtable.com there have been some issues in the past few days. But somehow I don't think the API unavailability is the problem. I wish I had more details about the error so I could investigate further.

iljapanic commented 3 years ago

Ok, I've been banging my head for many hours but I've finally fixed it.

After trying various node environment variations* I was starting to get desperate. So I've started reducing the Airtable requests inside gatsby-config.js to a bare minimum and incrementally added more settings. I've realized the error is caused by the tableLinks property. It took me a while before I've realized that I have recently changed the name of one of the tables inside Airtable which was causing the empty error!

So please make sure table names in your Airtable and gatsby-config.js match.

It would be great if the error message suggested this might be the issue.

Whilst upgrading my Node environments, I've noticed the following deprecation warning. I believe it was also caused by the linked tables. Luckily, it's not breaking the build:

(node:86336) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

Well, that's it. I'm excited I got it fixed. Not even mad I've spent hours debugging a typo 😅

*I've tried all major versions of Node v10 through v15, I've tried downgrading to Gatsby v2 and React v16 because I was having some peer dependency issues. And I've tried various combinations of these. Still getting the same error.