Skip to content

firebase dataconnect:sdk:generate produces inconsistent ordering in default.dart across runs #8800

Open
@kotaroyamazaki

Description

@kotaroyamazaki

[REQUIRED] Environment info

firebase-tools: 14.6.0

Platform: macOS

[REQUIRED] Test case

# Firebase Data Connect project with existing schema and queries
# dataconnect/schema/schema.gql exists
# dataconnect/connector/queries.gql exists

# Generate SDK
firebase dataconnect:sdk:generate

# Check generated file
cat lib/gen/dataconnect/default_connector/default.dart

# Generate again without any changes
firebase dataconnect:sdk:generate

# Compare - content order will be different
git diff lib/gen/dataconnect/default_connector/default.dart

[REQUIRED] Steps to reproduce

  1. Create or use existing Firebase Data Connect project with Dart/Flutter
  2. Run firebase dataconnect:sdk:generate to generate SDK files
  3. Note the content of lib/gen/dataconnect/default_connector/default.dart
  4. Run firebase dataconnect:sdk:generate again (without any schema/query changes)
  5. Compare the default.dart file content with git diff or file comparison tool

[REQUIRED] Expected behavior

The generated default.dart file should have consistent ordering across runs when no changes are made to schema or
queries. The file should be idempotent - generating the same output for the same input.

[REQUIRED] Actual behavior

The default.dart file content changes order between runs:

  • Export statements appear in different orders
  • Class definitions are ordered differently
  • Method definitions within classes change order

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions