bcd8de3262
I added ` *.tsbuildinfo` to gitignores of examples that use typescript and don't already have it. By use typescript I mean have `tsconfig` somewhere in their directory tree. I used the following script to update the files: ```bash #!/bin/bash set -eou pipefail cd examples examples=`git ls-files . | grep tsconfig | xargs dirname | grep -v "/"` for example in $examples; do if ! grep -q tsbuildinfo $example/.gitignore; then gitignore="$example/.gitignore" echo $gitignore tail -c1 $gitignore | read -r _ || echo >> $gitignore echo -e "\n# typescript\n*.tsbuildinfo" >> $gitignore fi done ``` |
||
---|---|---|
.. | ||
lib | ||
pages | ||
test | ||
.gitignore | ||
codegen.yml | ||
jest.config.js | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
tsconfig.json |
TypeScript and GraphQL Example
One of the strengths of GraphQL is enforcing data types on runtime. Further, TypeScript and GraphQL Code Generator (graphql-codegen) make it safer by typing data statically, so you can write truly type-protected code with rich IDE assists.
This template gives you the best start to use GraphQL with fully typed queries (client-side) and resolvers (server-side), all this with minimum bundle size 📦
import { useQuery } from '@apollo/client'
import { ViewerDocument } from 'lib/graphql-operations'
const News = () => {
// Typed already️⚡️
const {
data: { viewer },
} = useQuery(ViewerDocument)
return <div>{viewer.name}</div>
}
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
How to use
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example with-typescript-graphql with-typescript-graphql-app
# or
yarn create next-app --example with-typescript-graphql with-typescript-graphql-app
# or
pnpm create next-app --example with-typescript-graphql with-typescript-graphql-app
Deploy it to the cloud with Vercel (Documentation).