Flutter integration for Supabase. These packages makes it simple for developers to build secure and scalable products.
1,024
stars
1,042
commits
Dart
primary language
Sep 10, 2026
updated
Flutter client library for Supabase.
Guides · Reference Docs · Migration Guides
This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the packages directory.
To install on a locally developed app:
dart pub global activate melosmelos bootstrap or melos bs at the root of the cloned directory to install dependenciespubspec.yaml file specifying the path.
supabase_flutter:
path: <your-path-to-the-local-supabase-flutter-repo>/packages/supabase_flutter
The helpers the test suites of these packages run on are published in
package:supabase_testing,
so your tests can build on the same primitives: mock HTTP clients, JWT builders,
auth session fixtures and realtime frames. Add the package as a dev dependency:
dev_dependencies:
supabase_testing: ^0.1.0
Then stub the endpoints the code under test talks to and run it against a
real SupabaseClient, with no running stack required:
final httpClient = MockSupabaseHttpClient()
..stubTable('todos', rows: [
{'id': 1, 'task': 'Ship it', 'status': false},
]);
final supabase = testSupabaseClient(httpClient: httpClient);
addTearDown(supabase.dispose);
final todos = await supabase.from('todos').select();
expect(todos, hasLength(1));
See the supabase_testing README for the
full guide: stubbing database, rpc, edge function and auth endpoints,
asserting on recorded requests, running tests as a signed-in user, and wiring
Supabase.initialize in Flutter widget tests.
The tests for the packages postgrest, supabase_auth, supabase_realtime and supabase_storage run against a
local Supabase stack. To run these tests locally you need docker and the
Supabase CLI installed.
The single configuration for the stack lives in the supabase directory at the repository root.
Start it with:
supabase start
Run the Dart tests within the package directory in packages/<package> with the following command.
The -j 1 flag runs the tests not concurrently, which works better since the tests run against the
same services.
dart test -j 1
To stop the stack run the following command from the repository root:
supabase stop
This repo is licensed under MIT.
(top 30 of 79)
Dart
97.5%
C++
1.0%
Flutter integration for Supabase. These packages makes it simple for developers to build secure and scalable products.
1,024
stars
1,042
commits
Dart
primary language
Sep 10, 2026
updated
Flutter client library for Supabase.
Guides · Reference Docs · Migration Guides
This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the packages directory.
To install on a locally developed app:
dart pub global activate melosmelos bootstrap or melos bs at the root of the cloned directory to install dependenciespubspec.yaml file specifying the path.
supabase_flutter:
path: <your-path-to-the-local-supabase-flutter-repo>/packages/supabase_flutter
The helpers the test suites of these packages run on are published in
package:supabase_testing,
so your tests can build on the same primitives: mock HTTP clients, JWT builders,
auth session fixtures and realtime frames. Add the package as a dev dependency:
dev_dependencies:
supabase_testing: ^0.1.0
Then stub the endpoints the code under test talks to and run it against a
real SupabaseClient, with no running stack required:
final httpClient = MockSupabaseHttpClient()
..stubTable('todos', rows: [
{'id': 1, 'task': 'Ship it', 'status': false},
]);
final supabase = testSupabaseClient(httpClient: httpClient);
addTearDown(supabase.dispose);
final todos = await supabase.from('todos').select();
expect(todos, hasLength(1));
See the supabase_testing README for the
full guide: stubbing database, rpc, edge function and auth endpoints,
asserting on recorded requests, running tests as a signed-in user, and wiring
Supabase.initialize in Flutter widget tests.
The tests for the packages postgrest, supabase_auth, supabase_realtime and supabase_storage run against a
local Supabase stack. To run these tests locally you need docker and the
Supabase CLI installed.
The single configuration for the stack lives in the supabase directory at the repository root.
Start it with:
supabase start
Run the Dart tests within the package directory in packages/<package> with the following command.
The -j 1 flag runs the tests not concurrently, which works better since the tests run against the
same services.
dart test -j 1
To stop the stack run the following command from the repository root:
supabase stop
This repo is licensed under MIT.
(top 30 of 79)
Dart
97.5%
C++
1.0%