rsnext/examples/with-grafbase
ChanHui 8d45aa9bfb
update @types/react version in examples (#57259)
### What?
When I ran `npx create-next-app --example with-turbopack` and installed
dependencies using `yarn`, I found an typescript error(`'SomeComponent'
cannot be used as a JSX component.`).

<img
src="https://github.com/vercel/next.js/assets/51700274/f6c7e478-c0b1-4ea2-996f-4c0c78e3bb4b"
width=400 />

and I realized that the bug is due to the version of
@types/react(18.0.x).
you can check this issue on
[here](https://github.com/vercel/next.js/issues/42292#issuecomment-1594351684)
too.

### Why?
It seems that there is an error occurring in the @types/react version
18.0.x.

### How?
It would be good to change the @types/react version to 18.2.8 in the
next.js examples.

I think this change will resolve [this
issue](https://github.com/vercel/next.js/issues/55080#issue-1884846177)
[NestJS
documentation](https://nextjs.org/docs/app/building-your-application/configuring/typescript#async-server-component-typescript-error)
also states to upgrade the version.

Co-authored-by: Lee Robinson <me@leerob.io>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-10-26 19:52:08 -05:00
..
.vscode feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
app (Examples) update Grafbase example (#54705) 2023-09-30 15:08:26 +00:00
gql Updates prettier to latest version. (#51000) 2023-06-09 14:58:19 +00:00
grafbase feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
lib feat(examples): use experimental edge runtime with grafbase (#42992) 2022-11-17 14:02:55 -08:00
.env.local.example feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
.gitignore Add .yarn/install-state.gz to .gitignore (#56637) 2023-10-18 16:34:48 +00:00
codegen.ts feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
next-env.d.ts Remove incorrect entries for pnpm debug log (#47241) 2023-03-26 22:26:05 -07:00
next.config.js (Examples) update Grafbase example (#54705) 2023-09-30 15:08:26 +00:00
package.json update @types/react version in examples (#57259) 2023-10-26 19:52:08 -05:00
postcss.config.js feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
README.md feat(examples): use experimental edge runtime with grafbase (#42992) 2022-11-17 14:02:55 -08:00
tailwind.config.js feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
tsconfig.json feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00

Next.js with Grafbase

This example shows to use Grafbase with Next.js. This example features fetching from a local GraphQL backend powered by the Grafbase CLI, and GraphQL Code Generator for making type-safe queries.

Demo

You can see a demo of this online at https://nextjs-rsc-demo.grafbase-vercel.dev.

Deploy to Vercel

Make sure to provide your GRAFBASE_API_URL and GRAFBASE_API_KEY to Vercel as environment variables when deploying.

Deploy with Vercel

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:

npx create-next-app --example with-grafbase with-grafbase-app
yarn create next-app --example with-grafbase with-grafbase-app
pnpm create next-app --example with-grafbase with-grafbase-app

To run the example locally you need to:

  1. Copy the .env.local.example to .env.local and provide your API URL and API Key: cp .env.local.example .env.local — the defaults will be fine for development mode.

  2. Run the Grafbase CLI using npx grafbase@latest dev

  3. Populate the backend with some Post entries using a GraphQL mutation:

mutation {
  postCreate(
    input: {
      title: "I love Next.js!"
      slug: "i-love-nextjs"
      comments: [{ create: { message: "me too!" } }]
    }
  ) {
    post {
      id
      slug
    }
  }
}
  1. Run the app locally and go to http://localhost:3000 to navigate to each post page! This data is fetched from the local backend.

  2. Optionally run npm run codegen to watch for any changes to queries inside of the app and automatically generate types.

Learn more