rsnext/examples/with-grafbase
Steven 4466ba436b
chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00
..
.vscode feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
app chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07:00
gql chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07:00
grafbase feat(examples): with-grafbase (#42898) 2022-11-15 19:18:31 +01:00
lib chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07: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 chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07:00
next-env.d.ts Remove incorrect entries for pnpm debug log (#47241) 2023-03-26 22:26:05 -07:00
next.config.js chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07:00
package.json update @types/react version in examples (#57259) 2023-10-26 19:52:08 -05:00
postcss.config.js chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07:00
README.md feat(examples): use experimental edge runtime with grafbase (#42992) 2022-11-17 14:02:55 -08:00
tailwind.config.js chore(examples): use default prettier for examples/templates (#60530) 2024-01-11 16:01:44 -07: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