2022-04-13
2745
#gatsby#graphql#typescript
Yomi Eluwande
4770
Apr 13, 2022 ⋅ 9 min read

Setting up a TypeScript and Gatsby project with GraphQL

Yomi Eluwande JavaScript developer. Wannabe designer and Chief Procrastinator at Selar.co and worklogs.co.

Recent posts:

Why URL state matters: A guide to useSearchParams in React

Why URL state matters: A guide to useSearchParams in React

Learn about React Router’s useSearchParams Hook, and how it helps you manage state through the URL for a more resilient, user-friendly app.

John Reilly
May 20, 2025 ⋅ 4 min read
Node.js 24: What's New

Node.js 24 is here: What’s new and what to expect

Discover what’s new in Node.js 24, including major features, improvements, and how to prepare your projects.

Yan Sun
May 20, 2025 ⋅ 5 min read
Building An Agentic AI Workflow With Ollama And React

Building an agentic AI workflow with Ollama and React

Build agentic AI workflows with Ollama and React using local LLMs for enhanced privacy, reduced costs, and offline performance.

Andrew Baisden
May 20, 2025 ⋅ 11 min read
Monorepos Vs. Polyrepos: Which One Fits Your Use Case

Monorepos vs. Polyrepos: Which one fits your use case?

Learn when to choose monorepos or polyrepos for your frontend setup by comparing coordination, dependency management, CI/CD requirements, and more.

Muhammed Ali
May 19, 2025 ⋅ 4 min read
View all posts

8 Replies to "Setting up a TypeScript and Gatsby project with GraphQL"

  1. Hi i am sorry if this a dumb question, but i am getting a cannot find ‘__PATH_PREFIX__’ in the layout.tsx. Is this something we are supposed to replace with a value, or does gatsby replace this value? When i clone the repo, this value doesnt seem to play well with typescript.

    1. I don’t believe that’s what Yomi is suggesting. You need to change the extension of blog-post.js to .tsx in line 7 of the gatsby-node.js file.

  2. Hey! Great article. Really easy to follow and understand. I managed to get setup and using TypeScript in a matter of minutes.

    Only problem I ran into was the `”type-check”: “tsc –noEmit”` was running checks on `node_modules` even although it was excluded! What fixed it for me was adding `”skipLibCheck”: true` to the `tsconfig.json` under `compilerOptions`.

    “`
    {
    “compilerOptions”: {
    “module”: “commonjs”,
    “target”: “esnext”,
    “jsx”: “preserve”,
    “lib”: [“dom”, “esnext”],
    “strict”: true,
    “noEmit”: true,
    “isolatedModules”: true,
    “esModuleInterop”: true,
    “noUnusedLocals”: false,
    “allowJs”: true,
    “skipLibCheck”: true //NEW
    },
    “exclude”: [“node_modules”, “public”, “.cache”]
    }
    “`

    Not sure if this will cause further issues down the line, but in the mean time I hope this helps anyone who runs into the same issue!

Leave a Reply