targets:
  $default:
    builders:
      drift_dev:
        # disable drift's default builder, we're using the modular setup
        # instead.
        enabled: false

      # Instead, enable drift_dev:analyzer and drift_dev:modular manually:
      drift_dev:analyzer:
        enabled: true
        options: &options
          skip_verification_code: true
          data_class_to_companions: false
          named_parameters: true
          databases:
            bangs: lib/features/bangs/data/database/database.dart
            tabs: lib/features/geckoview/features/tabs/data/database/database.dart
            user: lib/features/user/data/database/database.dart
            web_feed: lib/features/web_feed/data/database/database.dart
          sql:
            dialect: sqlite
            options:
              version: "3.45"
              known_functions:
                lexo_rank_next: "text (int, text null)"
                lexo_rank_previous: "text (int, text null)"
                lexo_rank_reorder_after: "text (text null, text null)"
                lexo_rank_reorder_before: "text (text null, text null)"
              modules:
                - json1
                - fts5
      drift_dev:modular:
        enabled: true
        # We use yaml anchors to give the two builders the same options
        options: *options
      json_serializable:
        options:
          explicit_to_json: true

global_options: 
  drift_dev:modular:
    runs_before:
      - riverpod_generator
      