diff --git a/.github/workflows/release-pana.yml b/.github/workflows/release-pana.yml index 60e37bd6c..4739a3e6e 100644 --- a/.github/workflows/release-pana.yml +++ b/.github/workflows/release-pana.yml @@ -33,6 +33,7 @@ jobs: - supabase - supabase_common - supabase_flutter + - supabase_typegen - yet_another_json_isolate steps: - name: Checkout diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 588ebb15b..382c231d7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,7 +64,7 @@ jobs: echo "Affected packages:" echo "$CHANGED" - DART_PACKAGES="functions_client gotrue postgrest realtime_client storage_client supabase supabase_common yet_another_json_isolate" + DART_PACKAGES="functions_client gotrue postgrest realtime_client storage_client supabase supabase_common supabase_typegen yet_another_json_isolate" entries=() for package in $DART_PACKAGES; do @@ -337,7 +337,7 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true - carryforward: 'functions_client,gotrue,postgrest,realtime_client,storage_client,supabase,supabase_common,yet_another_json_isolate,supabase_flutter' + carryforward: 'functions_client,gotrue,postgrest,realtime_client,storage_client,supabase,supabase_common,supabase_typegen,yet_another_json_isolate,supabase_flutter' fail-on-error: false test-result: diff --git a/.sdk-parse-ignore b/.sdk-parse-ignore index 03f1296b8..fe7ff1295 100644 --- a/.sdk-parse-ignore +++ b/.sdk-parse-ignore @@ -14,6 +14,10 @@ # consumers). Exclude the whole package from the public-API scan instead. packages/supabase_common/ +# supabase_typegen is a development-time code generator, not SDK client surface, +# so its public symbols are not capability-matrix symbols. +packages/supabase_typegen/ + # The examples are standalone demo apps, not part of the published SDK, so their # public classes are not capability-matrix symbols. examples/ diff --git a/packages/supabase_typegen/CHANGELOG.md b/packages/supabase_typegen/CHANGELOG.md new file mode 100644 index 000000000..92104c632 --- /dev/null +++ b/packages/supabase_typegen/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + + - Initial placeholder release reserving the `supabase_typegen` package name. diff --git a/packages/supabase_typegen/LICENSE b/packages/supabase_typegen/LICENSE new file mode 100644 index 000000000..e8003c4e7 --- /dev/null +++ b/packages/supabase_typegen/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Supabase Community + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/supabase_typegen/README.md b/packages/supabase_typegen/README.md new file mode 100644 index 000000000..103bf11e5 --- /dev/null +++ b/packages/supabase_typegen/README.md @@ -0,0 +1,10 @@ +# supabase_typegen + +> [!WARNING] +> This is a placeholder release that reserves the package name on pub.dev. The +> code generator is still under development and this version does nothing yet. + +A command-line code generator that turns a Supabase database schema into typed +Dart table definitions for use with the Supabase client packages. + +The generator implementation will land in a future release. diff --git a/packages/supabase_typegen/analysis_options.yaml b/packages/supabase_typegen/analysis_options.yaml new file mode 100644 index 000000000..a8ab68344 --- /dev/null +++ b/packages/supabase_typegen/analysis_options.yaml @@ -0,0 +1 @@ +include: package:supabase_lints/analysis_options.yaml diff --git a/packages/supabase_typegen/lib/supabase_typegen.dart b/packages/supabase_typegen/lib/supabase_typegen.dart new file mode 100644 index 000000000..4b0d261bf --- /dev/null +++ b/packages/supabase_typegen/lib/supabase_typegen.dart @@ -0,0 +1,6 @@ +/// Command-line code generator that turns a Supabase database schema into +/// typed Dart table definitions. +/// +/// This is a placeholder release that reserves the package name. The generator +/// implementation is not available yet. +library; diff --git a/packages/supabase_typegen/pubspec.yaml b/packages/supabase_typegen/pubspec.yaml new file mode 100644 index 000000000..28d63da94 --- /dev/null +++ b/packages/supabase_typegen/pubspec.yaml @@ -0,0 +1,19 @@ +name: supabase_typegen +description: Command-line code generator that turns a Supabase database schema into typed Dart table definitions. +version: 0.1.0 +homepage: 'https://supabase.com' +repository: 'https://github.com/supabase/supabase-flutter/tree/main/packages/supabase_typegen' +issue_tracker: 'https://github.com/supabase/supabase-flutter/issues' +topics: + - supabase + - codegen + - postgres + +environment: + sdk: '>=3.9.0 <4.0.0' + +resolution: workspace + +dev_dependencies: + supabase_lints: ^0.1.1 + test: ^1.25.0 diff --git a/packages/supabase_typegen/test/supabase_typegen_test.dart b/packages/supabase_typegen/test/supabase_typegen_test.dart new file mode 100644 index 000000000..7ff71c15d --- /dev/null +++ b/packages/supabase_typegen/test/supabase_typegen_test.dart @@ -0,0 +1,7 @@ +import 'package:test/test.dart'; + +void main() { + test('supabase_typegen placeholder', () { + expect(true, isTrue); + }); +} diff --git a/pubspec.yaml b/pubspec.yaml index a2ae45196..06d104f40 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,6 +17,7 @@ workspace: - packages/supabase_flutter/example - packages/supabase_common - packages/supabase_lints + - packages/supabase_typegen - packages/yet_another_json_isolate - examples/authentication - examples/database_crud