Comparing invertase:main...Codelessly:main · invertase/flutterfire_cli

Commits on Feb 4, 2026

  1. Add custom Firebase CLI executable support and --cwd flag

    - Add FirebaseCliConfig class and globalFirebaseCliConfig for custom Firebase CLI executable
    - Export FirebaseCliConfig, globalFirebaseCliConfig, and other library APIs
    - Add --cwd flag to specify target Flutter project directory when running from a cloned repo
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

    and claude committed

    Feb 4, 2026
    Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

  3. Add support for custom Firebase CLI configuration via flags

    Adds flags to configure a custom Firebase CLI executable:
    - --firebase-executable=<exe>   Custom executable (e.g., 'node')
    - --firebase-base-args=<args>   Comma-separated base args
    - --firebase-workdir=<path>     Working directory for Firebase CLI
    
    This enables using a forked firebase-tools that properly handles
    ADC credentials instead of the system's 'firebase' command.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    Configuration menu

    Browse the repository at this point in the history

  4. Fail gracefully instead of prompting when --yes flag is used

    Added `shouldFailInsteadOfPrompt` flag that is true when either:
    - Running in CI environment (isCI)
    - Running with --yes flag (non-interactive mode)
    
    When this flag is true and required values cannot be auto-detected,
    the CLI now throws a ValidationException with a helpful error message
    instead of prompting for input (which would hang in automation).
    
    Updated locations:
    - utils.dart: Added setNonInteractiveMode() and shouldFailInsteadOfPrompt
    - config.dart: Calls setNonInteractiveMode(yes) at start of run()
    - firebase_android_options.dart: Fail if package name missing
    - firebase_apple_options.dart: Fail if bundle ID missing
    - android_prompts.dart: Fail if service file path invalid
    - apple_prompts.dart: Fail if build config or target invalid
    - validation.dart: Fail for various validation scenarios
    - dart_file_prompts.dart: Skip prompts in non-interactive mode
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    Configuration menu

    Browse the repository at this point in the history