pub enum ComposerCommand {
Show 15 variants
Install {
working_dir: Option<PathBuf>,
no_dev: bool,
frozen: bool,
lock_verify: bool,
ignore_platform_reqs: bool,
ignore_platform_req: Vec<String>,
scripts: bool,
no_scripts: bool,
},
Update {
packages: Vec<String>,
no_install: bool,
with_dependencies: bool,
with_all_dependencies: bool,
working_dir: Option<PathBuf>,
no_dev: bool,
dry_run: bool,
ignore_platform_reqs: bool,
ignore_platform_req: Vec<String>,
},
Validate {
working_dir: Option<PathBuf>,
strict: bool,
no_check_lock: bool,
no_check_publish: bool,
no_check_all: bool,
with_dependencies: bool,
check_lock: bool,
},
DumpAutoloader {
optimize: bool,
classmap_authoritative: bool,
no_dev: bool,
apcu_autoloader: bool,
apcu_prefix: Option<String>,
autoloader_suffix: Option<String>,
working_dir: Option<PathBuf>,
},
Require {
packages: Vec<String>,
dev: bool,
no_update: bool,
no_install: bool,
with_dependencies: bool,
with_all_dependencies: bool,
prefer_lowest: bool,
ignore_platform_reqs: bool,
ignore_platform_req: Vec<String>,
working_dir: Option<PathBuf>,
dry_run: bool,
},
Remove {
packages: Vec<String>,
dev: bool,
no_update: bool,
no_install: bool,
no_dev: bool,
ignore_platform_reqs: bool,
ignore_platform_req: Vec<String>,
working_dir: Option<PathBuf>,
dry_run: bool,
},
Show {
package: Option<String>,
tree: bool,
direct: bool,
platform: bool,
self_: bool,
name_only: bool,
path: bool,
latest: bool,
outdated: bool,
no_dev: bool,
working_dir: Option<PathBuf>,
},
Why {
package: String,
recursive: bool,
tree: bool,
working_dir: Option<PathBuf>,
},
WhyNot {
package: String,
version: Option<String>,
recursive: bool,
tree: bool,
working_dir: Option<PathBuf>,
},
Outdated {
packages: Vec<String>,
direct: bool,
major_only: bool,
minor_only: bool,
patch_only: bool,
no_dev: bool,
strict: bool,
working_dir: Option<PathBuf>,
},
Audit {
no_dev: bool,
abandoned: AbandonedHandling,
locked: bool,
working_dir: Option<PathBuf>,
},
Licenses {
no_dev: bool,
working_dir: Option<PathBuf>,
},
Status {
working_dir: Option<PathBuf>,
},
Fund {
no_dev: bool,
working_dir: Option<PathBuf>,
},
External(Vec<OsString>),
}Variants§
Install
Install a project’s vendor/ from composer.lock. Reads
composer.json + composer.lock in the working directory,
content-hash-verifies the lock, parallel-downloads dists into
vendor/, and emits vendor/autoload.php.
Fields
working_dir: Option<PathBuf>Run the install in this directory instead of CWD.
Mirrors Composer’s --working-dir / -d.
frozen: boolFail if composer.lock is out of sync with composer.json. Currently a no-op — the install already errors on content-hash mismatch by default. Accepted for parity with Composer’s CI usage.
lock_verify: boolVerify the lock is internally consistent (content-hash,
requires, transitives) and exit. Doesn’t touch vendor/
or run the autoloader. CI-friendly read-only check.
ignore_platform_reqs: boolIgnore all platform requirements (php, ext-, lib-). Accepted for Composer parity; bougie does not enforce platform requirements yet.
Update
Resolve the project’s dependency graph, write a fresh
composer.lock, and install the result into vendor/ (matching
Composer’s update). With no package arguments this re-resolves
from scratch; naming one or more packages does a partial update —
only those re-resolve while every other locked package stays
pinned. --no-install stops after writing the lock; --dry-run
previews the solution without writing anything. Aliased to
upgrade / u, like Composer.
Fields
packages: Vec<String>Packages to update (vendor/name). When given, only these
packages re-resolve; every other package stays pinned to its
composer.lock version (Composer’s partial update). With no
packages, the whole graph re-resolves from scratch.
with_dependencies: boolAlso update the named packages’ dependencies (Composer’s
--with-dependencies / -w).
with_all_dependencies: boolAlso update all of the named packages’ dependencies, including
ones shared with other packages (Composer’s
--with-all-dependencies / -W).
working_dir: Option<PathBuf>Run the update in this directory instead of CWD.
Mirrors Composer’s --working-dir / -d.
dry_run: boolResolve and print the solution without writing
composer.lock or touching vendor/. Without this flag,
update writes a fresh composer.lock.
Validate
Validate composer.json structure and contents.
Fields
DumpAutoloader
Regenerate vendor/composer/autoload_*.php against the current
composer.lock. Drop-in for composer dump-autoload; output
is byte-equivalent to Composer 2.8.12 with the same flags. Aliased
to dump-autoload for users coming from Composer muscle-memory.
Fields
Emit the classmap-authoritative static loader
(--classmap-authoritative / -a). Implies --optimize.
Require
Add one or more packages to composer.json require (or
require-dev), re-resolve composer.lock, and install them.
Fully Composer-compatible: a bare vendor/pkg resolves the
latest stable and writes a caret (^X.Y) constraint; supply an
explicit constraint with vendor/pkg:^1.0, vendor/pkg=^1.0, or
a trailing argument (vendor/pkg ^1.0) — Composer’s separators
are :, =, or a space (the @ separator is not accepted, as
in Composer). For bougie’s >=-default + @-syntax house style,
use the top-level bougie add instead.
Fields
no_update: boolEdit composer.json only — don’t re-resolve composer.lock
or touch vendor/ (Composer’s --no-update).
Remove
Remove one or more packages from composer.json, re-resolve
composer.lock, and uninstall them from vendor/. Drop-in for
composer remove.
Fields
no_update: boolEdit composer.json only — don’t re-resolve or touch
vendor/ (Composer’s --no-update).
Show
List installed packages, or show details for one. Reads the
project’s composer.lock. Drop-in for composer show (aliases
info, list).
Fields
Why
Show which packages depend on a given package — i.e. why it’s
installed. Drop-in for composer why (alias depends).
Fields
WhyNot
Show what prevents a package (optionally at a version) from being
installed — conflicting requirements. Drop-in for
composer why-not (alias prohibits).
Fields
Outdated
List installed packages that have a newer version available.
Drop-in for composer outdated (a focused show --latest --outdated). Use the global --format json for JSON output.
Fields
Audit
Check installed packages against the Packagist security-advisories
database. Drop-in for composer audit. Exits non-zero when
advisories are found. Use the global --format json for JSON.
Fields
abandoned: AbandonedHandlingHow to treat abandoned packages (--abandoned). Currently
accepted for parity; abandoned detection is not yet wired.
Licenses
List the license of every installed package. Drop-in for
composer licenses. Use the global --format json for JSON.
Fields
Status
Report packages that look locally modified. Drop-in for
composer status. bougie installs from dist archives, so for the
common case this reports “no local changes”.
Fund
Show funding information for installed packages, grouped by
vendor. Drop-in for composer fund. Use --format json for JSON.
Fields
External(Vec<OsString>)
Catch-all for any composer subcommand bougie does not implement
natively (create-project, archive, bump, global, …).
bougie does not bundle the Composer phar, so these no longer run;
the dispatch returns an error pointing at
bougie tool install composer/composer for the full upstream
Composer.
Trait Implementations§
Source§impl Debug for ComposerCommand
impl Debug for ComposerCommand
Source§impl FromArgMatches for ComposerCommand
impl FromArgMatches for ComposerCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for ComposerCommand
impl Subcommand for ComposerCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand