Framework Upgrade

Migrate Supabase v1 to v2 Automatically

Upload your project and get production-ready migrated code in minutes.

What changes between Supabase JS v1 and Supabase JS v2?

  • Auth API overhaul: signIn() split into signInWithPassword(), signInWithOAuth(), signInWithOtp()
  • Auth state listener renamed from onAuthStateChange to onAuthStateChange with new event types
  • User and Session types restructured; user() and session() methods replaced by getUser() and getSession()
  • Realtime subscriptions syntax changed from .on().subscribe() to channel-based API
  • Storage API: upload(), download(), getPublicUrl() method signatures updated
  • createClient import path changed from @supabase/supabase-js to named exports
  • Error handling unified: all methods now return { data, error } pattern consistently
  • TypeScript types are auto-generated from your database schema with supabase gen types

How Nivo migrates Supabase JS v1 to Supabase JS v2

01

Connect your project

Paste a GitHub URL or upload a ZIP file of your Supabase JS v1 project.

02

Nivo detects your Supabase JS v1 project

The engine scans your codebase to identify Supabase JS v1 patterns, APIs, and configuration that need updating.

03

AI applies all Supabase JS v2 migration transforms

Hybrid AST + AI engine applies deterministic transforms for configuration and dependencies, and AI-powered transforms for complex code changes. Every change gets a confidence score.

04

Download migrated codebase + review report

Get a ZIP with your fully migrated code, a complete migration report, and a checklist of items flagged for manual review.

Frequently Asked Questions

What are the biggest breaking changes in Supabase v2?

The auth API is completely restructured. The generic signIn() is replaced with specific methods like signInWithPassword() and signInWithOAuth(). User and session retrieval switches to getUser() and getSession() which return promises instead of synchronous values.

Is the Supabase v1 to v2 migration safe for production?

Yes. Nivo maps every v1 API call to its v2 equivalent, handles the auth method renames, and updates realtime subscription syntax. Your database queries are largely unchanged since the query builder API remained stable.

How long does the migration take?

Most projects complete in under 10 minutes. The migration primarily involves auth method renames, realtime subscription updates, and storage API adjustments. Nivo processes all files concurrently.

Do I need to update my database schema?

No. The database schema and Row Level Security policies remain unchanged. The migration is purely client-side, updating the @supabase/supabase-js SDK calls to v2 syntax.

Will my Supabase Edge Functions need changes?

Edge Functions use the same client library, so auth and storage calls need the same updates. Nivo scans your supabase/functions directory and applies the same transformations.

Start your Supabase JS v1 to Supabase JS v2 migration

Free tier available — no credit card required