Files
setup-cli/docs/generating-types.md
2023-07-22 07:19:37 -07:00

1.2 KiB

Generating Types

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

name: '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