Generate types using GitHub Actions
End-to-end type safety across client, server, and database.
You can use the Supabase CLI to automatically generate Typescript definitions from your Postgres database. You can then pass these definitions to your supabase-js
client and get end-to-end type safety across client, server, and database.
Inside your repository, create a new file inside the .github/workflows
folder called generate-types.yml
. Copy this snippet inside the file, and the action will run whenever a new PR is created:
Verify types
123456789101112131415161718192021name: 'generate-types'on: pull_request:jobs: build: runs-on: ubuntu-latest steps: - uses: supabase/setup-cli@v1 with: version: latest - run: supabase init - run: supabase db start - name: Verify generated types match Postgres schema run: | supabase gen types typescript --local > schema.gen.ts if ! git diff --ignore-space-at-eol --exit-code --quiet schema.gen.ts; then echo "Detected uncommitted changes after build. See status below:" git diff exit 1 fi
More resources
- Using supabase-js with type definitions: Typescript Support