gatsby: gatsby-source-graphql fails

Description

The latest version of gatsby-source-graphql fails because it’s missing a file. Having dug into this a bit, I think it’s because that file (batching/dataloader-link) is gitignored - https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-graphql/.gitignore#L2

Steps to reproduce

Install the latest version Try building the site

Expected result

Gatsby should build

Actual result

Gatsby fails with

Error in "[HIDDENFORPRIVACY]/node_modules/gatsby-source-graphql/gatsby-node.js": Cannot find module './batching/dataloader-link'

Environment


  System:
    OS: macOS 10.15.3
    CPU: (16) x64 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
    Yarn: 1.19.2 - /usr/local/bin/yarn
    npm: 6.11.3 - ~/.nvm/versions/node/v10.16.0/bin/npm
  Languages:
    Python: 2.7.16 - /usr/bin/python
  Browsers:
    Chrome: 80.0.3987.149
    Firefox: 74.0
    Safari: 13.0.5
  npmPackages:
    gatsby: ^2.13.41 => 2.20.12 
    gatsby-image: ^2.1.2 => 2.3.1 
    gatsby-plugin-canonical-urls: ^2.0.13 => 2.2.1 
    gatsby-plugin-emotion: ^4.0.7 => 4.2.1 
    gatsby-plugin-google-tagmanager: ^2.0.15 => 2.2.1 
    gatsby-plugin-manifest: ^2.2.5 => 2.3.3 
    gatsby-plugin-netlify: ^2.1.31 => 2.2.1 
    gatsby-plugin-offline: ^3.0.6 => 3.1.2 
    gatsby-plugin-react-helmet: ^3.0.12 => 3.2.1 
    gatsby-plugin-react-svg: ^2.1.1 => 2.1.2 
    gatsby-plugin-robots-txt: ^1.4.0 => 1.5.0 
    gatsby-plugin-sharp: ^2.1.3 => 2.5.3 
    gatsby-plugin-sitemap: ^2.1.0 => 2.3.1 
    gatsby-plugin-web-font-loader: ^1.0.4 => 1.0.4 
    gatsby-source-filesystem: ^2.0.37 => 2.2.2 
    gatsby-source-graphql: ^2.3.1 => 2.3.1 
    gatsby-source-instagram: ^0.5.0 => 0.5.1 
    gatsby-source-twitter: ^3.0.0 => 3.2.1 
    gatsby-transformer-csv: ^2.2.1 => 2.2.1 
    gatsby-transformer-sharp: ^2.1.21 => 2.4.3 

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 16
  • Comments: 17 (6 by maintainers)

Commits related to this issue

Most upvoted comments

Should be fixed in gatsby-source-graphql@2.3.2

Sorry for the hassle. I prematurely used Typescript for a new Query Batching feature without appropriate TS build configuration (worked locally because of IDE).

Gatsby has not decided yet to switch plugins to TS as it will make contributions harder. So I just converted TS files back to vanilla JS in #22848 which should fix this issue. We will publish a version with the fix in the next couple of hours.

Me too, I go back to 2.1.32 version, which was the last one I used.

do you have any luck with 2.1.32

@lalasmuathasim, yes, it works

Can you please let me know the commands to go back to the 2.1.32 version?

npm install gatsby-source-graphql@2.1.32

Fix PR here https://github.com/gatsbyjs/gatsby/pull/22804

I tried out running npm publish --dry-run to see what would be placed in the package and it looks like the .ts files aren’t being transformed by babel and aren’t getting into the package before it’s published.

> gatsby-source-graphql@2.3.1 prepare .
> cross-env NODE_ENV=production npm run build


> gatsby-source-graphql@2.3.1 build /Users/zolokar/projects/gatsby/packages/gatsby-source-graphql
> babel src --out-dir . --ignore **/__tests__

Successfully compiled 3 files with Babel.
npm notice 
npm notice 📦  gatsby-source-graphql@2.3.1
npm notice === Tarball Contents === 
npm notice 59B    .babelrc      
npm notice 3.5kB  gatsby-node.js
npm notice 13B    index.js      
npm notice 1.4kB  transforms.js 
npm notice 1.3kB  package.json  
npm notice 16.1kB CHANGELOG.md  
npm notice 9.4kB  README.md     
npm notice === Tarball Details === 
npm notice name:          gatsby-source-graphql                   
npm notice version:       2.3.1                                   
npm notice package size:  7.1 kB                                  
npm notice unpacked size: 31.8 kB                                 
npm notice shasum:        98e7b1c2f0352067cafd232577f681e596251f8f
npm notice integrity:     sha512-R+cW35Stg+Xsx[...]PAVWgxahuqt9g==
npm notice total files:   7                                       
npm notice 
+ gatsby-source-graphql@2.3.1

I made a PR that adds the .ts extension in the build step so that babel doesn’t ignore them and that seems to do that trick

npm publish --dry-run

> gatsby-source-graphql@2.3.1 prepare .
> cross-env NODE_ENV=production npm run build


> gatsby-source-graphql@2.3.1 build /Users/zolokar/projects/gatsby/packages/gatsby-source-graphql
> babel src --out-dir . --ignore **/__tests__ --extensions ".ts,.js"

Successfully compiled 11 files with Babel.
npm notice 
npm notice 📦  gatsby-source-graphql@2.3.1
npm notice === Tarball Contents === 
npm notice 178B   .babelrc                   
npm notice 2.7kB  batching/dataloader-link.js
npm notice 2.6kB  gatsby-node.js             
npm notice 13B    index.js                   
npm notice 10.7kB batching/merge-queries.js  
npm notice 1.0kB  transforms.js              
npm notice 1.4kB  package.json               
npm notice 16.1kB CHANGELOG.md               
npm notice 9.4kB  README.md                  
npm notice === Tarball Details === 
npm notice name:          gatsby-source-graphql                   
npm notice version:       2.3.1                                   
npm notice package size:  10.7 kB                                 
npm notice unpacked size: 44.1 kB                                 
npm notice shasum:        65d77890da6496a98a09a0300ee559afd550364c
npm notice integrity:     sha512-x3Ub+ztY+rGSt[...]i7RdX+lF5FuyA==
npm notice total files:   9                                       
npm notice 
+ gatsby-source-graphql@2.3.1