Skip to main content

Full list of parameters

In this page, we show explanation of each parameter. Simply add --help to see full documentation. The following is a snapshot when running the command with --help:

flutter_rust_bridge_codegen

High-level memory-safe binding generator for Flutter/Dart <-> Rust

Usage: flutter_rust_bridge_codegen [OPTIONS] <COMMAND>

Commands:
generate Execute the main code generator
create Create a new Flutter + Rust project
integrate Integrate Rust into existing Flutter project
build-web Compile for the Web (WASM)
help Print this message or the help of the given subcommand(s)

Options:
-v, --verbose Show debug messages
-h, --help Print help
-V, --version Print version

flutter_rust_bridge_codegen generate

Execute the main code generator

Usage: flutter_rust_bridge_codegen generate [OPTIONS]

Options:
--watch
Automatically re-generate the output whenever the changes are detected on the input files

--config-file <CONFIG_FILE>
Path to a YAML config file.

If present, other options and flags will be ignored. Accepts the same options as the CLI, but uses snake_case keys.

-r, --rust-input <RUST_INPUT>
Input Rust files, such as `crate::api,crate::hello::world,another-third-party-crate`

-d, --dart-output <DART_OUTPUT>
Directory of output generated Dart code

-c, --c-output <C_OUTPUT>
Output path of generated C header

--duplicated-c-output <DUPLICATED_C_OUTPUT>
Duplicate the files generated at the location `--c-output` specifies

--rust-root <RUST_ROOT>
Crate directory for your Rust project

--rust-output <RUST_OUTPUT>
Output path of generated Rust code

--dart-entrypoint-class-name <DART_ENTRYPOINT_CLASS_NAME>
Generated dart entrypoint class name

--dart-format-line-length <DART_FORMAT_LINE_LENGTH>
Line length for Dart formatting

--dart-preamble <DART_PREAMBLE>
Raw header of output generated Dart code, pasted as-it-is

--rust-preamble <RUST_PREAMBLE>
Raw header of output generated Rust code, pasted as-it-is

--no-dart-enums-style
The generated Dart enums will not have their variant names camelCased

--no-add-mod-to-lib
Skip automatically adding `mod frb_generated;` to `lib.rs`

--llvm-path <LLVM_PATH>...
Path to the installed LLVM

--llvm-compiler-opts <LLVM_COMPILER_OPTS>
LLVM compiler opts

--dart-root <DART_ROOT>...
Path to root of Dart project, otherwise inferred from --dart-output

--no-build-runner
Skip running build_runner even when codegen-required code is detected

--extra-headers <EXTRA_HEADERS>
extra_headers is used to add dependencies header

--no-web
Disable web module generation

--no-deps-check
Skip dependencies check

--default-external-library-loader-web-prefix <DEFAULT_EXTERNAL_LIBRARY_LOADER_WEB_PREFIX>
The value for defaultExternalLibraryLoader.webPrefix

--no-dart3
Disable language features introduced in Dart 3

--full-dep
Enable full dependencies

--enable-lifetime
Enable parsing types with lifetimes (e.g. references and borrows)

--type-64bit-int
Let 64 bit types be translated to `int`s instead of types like `BigInt`s

--no-default-dart-async
Whether default Dart code is asynchronous or synchronous

--stop-on-error
If having error when, for example, parsing a function, directly stop instead of continue and skip it

--dump [<DUMP>...]
A list of data to be dumped. If specified without a value, defaults to all

[possible values: config, source, hir, mir, generator-info, generator-spec, generator-text]

--dump-all
Dump all internal data. Same as `--dump` with all possible choices chosen

--rust-features <RUST_FEATURES>
List of cargo feature flags to enable when generating

-h, --help
Print help (see a summary with '-h')

flutter_rust_bridge_codegen build-web

Build for web platform

Usage: flutter_rust_bridge build-web [arguments]
-h, --help Print this usage information.
--dart-root Root folder of dart package
-c, --rust-root Directory of the rust package
(defaults to "rust")
-o, --output=<PKG> Output path
--release Compile in release mode
-v, --[no-]verbose Display more verbose information
--cargo-build-args Arguments passed to cargo-build
--wasm-bindgen-args Arguments passed to wasm-bindgen
--wasm-pack-rustup-toolchain Override RUSTUP_TOOLCHAIN environment variable when running wasm-pack
--wasm-pack-rustflags Override RUSTFLAGS environment variable when running wasm-pack
--dart-compile-js-entrypoint If specified, compile Dart into JavaScript and use this option as entrypoint

Run "flutter_rust_bridge help" to see global options.

flutter_rust_bridge_codegen create

Create a new Flutter + Rust project

Usage: flutter_rust_bridge_codegen create [OPTIONS] <NAME>

Arguments:
<NAME>
Name of the new project

Options:
--org <ORG>
The organization responsible for your new Flutter project, in reverse domain name notation

--rust-crate-name <RUST_CRATE_NAME>
The name of the generated Rust crate

--rust-crate-dir <RUST_CRATE_DIR>
The directory of the generated Rust crate, relative to the project path

-t, --template <TEMPLATE>
The template type to use to generate the flutter files

[default: app]

Possible values:
- app: (default) a Flutter application
- plugin: A shareable Flutter project that can be used across multiple Flutter applications

-h, --help
Print help (see a summary with '-h')

flutter_rust_bridge_codegen integrate

Integrate Rust into existing Flutter project

Usage: flutter_rust_bridge_codegen integrate [OPTIONS]

Options:
--no-enable-integration-test
Generate code related to integration test

--rust-crate-name <RUST_CRATE_NAME>
The name of the generated Rust crate

--rust-crate-dir <RUST_CRATE_DIR>
The directory of the generated Rust crate, relative to the project path

-t, --template <TEMPLATE>
The template type to use for integration. This should usually match the type of flutter project being integrating with

[default: app]

Possible values:
- app: (default) a Flutter application
- plugin: A shareable Flutter project that can be used across multiple Flutter applications

-h, --help
Print help (see a summary with '-h')