decaporg / decaporg/decap-cms

Bug(cms-gatsby-plugin): build fails when using TypeScript setup

Open
#4,179 1 comment 2 reactions 0 assignees View on GitHub
ssg: gatsby type: bug
Dominant language
JavaScript
Stars
19.4k
Forks
3.1k
Avg merge
1d 14h
Merged PRs (30d)
9

Description

**Describe the bug**
Context:
https://community.netlify.com/t/netlify-cms-is-throwing-a-callback-has-already-been-called-error/20515/4

Gatsby project fails when using the CMS plugin with a TypeScript setup

**To Reproduce**

To reproduce:
1. `git clone https://github.com/NovySolutions/test-repo`
2. `cd test-repo`
3. `npm ci`
4. `mkdir src/static` to add a missing directory
5. `npm run build`

See that the build fails with `Error: Callback was already called`

**Expected behavior**
The build should not fail

**Applicable Versions:**

```
System:
OS: macOS 10.15.5
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.18.0 - ~/.nvm/versions/node/v12.18.0/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.8 - ~/.nvm/versions/node/v12.18.0/bin/npm
Languages:
Python: 2.7.16 - /usr/bin/python
Browsers:
Chrome: 84.0.4147.135
Firefox: 77.0.1
Safari: 13.1.1
npmPackages:
gatsby: ^2.24.37 => 2.24.37
gatsby-image: ^2.4.13 => 2.4.14
gatsby-plugin-google-fonts: ^1.0.1 => 1.0.1
gatsby-plugin-manifest: ^2.4.22 => 2.4.22
gatsby-plugin-netlify: ^2.3.12 => 2.3.12
gatsby-plugin-netlify-cms: ^4.3.11 => 4.3.11
gatsby-plugin-offline: ^3.2.22 => 3.2.22
gatsby-plugin-react-helmet: ^3.3.6 => 3.3.10
gatsby-plugin-sass: ^2.3.12 => 2.3.12
gatsby-plugin-scss-typescript: ^4.0.13 => 4.0.13
gatsby-plugin-sharp: ^2.6.25 => 2.6.25
gatsby-remark-copy-linked-files: ^2.3.12 => 2.3.12
gatsby-remark-images: ^3.3.25 => 3.3.25
gatsby-remark-relative-images: ^0.3.0 => 0.3.0
gatsby-source-filesystem: ^2.3.24 => 2.3.24
gatsby-transformer-remark: ^2.8.28 => 2.8.28
gatsby-transformer-sharp: ^2.5.7 => 2.5.12
npmGlobalPackages:
gatsby-cli: 2.12.44
```

**CMS configuration**

https://github.com/NovySolutions/test-repo/blob/1d8f4c1c953781903d4509c2a7a9f9eadfbaf676/src/cms/cms.ts#L7

**Additional context**

Removing `registerPreviewTemplate`:
https://github.com/NovySolutions/test-repo/blob/1d8f4c1c953781903d4509c2a7a9f9eadfbaf676/src/cms/cms.ts#L5

or the style imports:
https://github.com/NovySolutions/test-repo/blob/1d8f4c1c953781903d4509c2a7a9f9eadfbaf676/src/components/layout-components/layout.tsx#L3

Fixes the issue.

We should probably look at how [gatsby-plugin-scss-typescript](https://github.com/NovySolutions/test-repo/blob/1d8f4c1c953781903d4509c2a7a9f9eadfbaf676/gatsby-config.js#L9) works and verify we're not doing anything weird here:
https://github.com/gatsbyjs/gatsby/blob/90e66c7fcdc7a75185bdaa336b0f9bdec9762585/packages/gatsby-plugin-netlify-cms/src/gatsby-node.js#L116

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.