id = "rush"
name = "Rush"
homepage = "https://rushjs.io"
description = "Rush makes life easier for JavaScript developers who build and publish many packages from a common Git repo."
icon = "https://raw.githubusercontent.com/microsoft/rushstack/main/common/wiki-images/rush-logo.png"
executables = ["rush", "rushx"]
[dotfiles]
paths = ["~/.rush-user/settings.json"]
exclude = ["~/.rush/"]
secret = ["~/.rush-user/credentials.json"]
side_effect = false
[[dotfiles.machine_lines]]
file = "~/.rush-user/settings.json"
match = { key_path = ["buildCacheFolder"] }
scope = "backup"
[commands]
format = 1
label = "Rush"
description = "Common Rush jobs: install, build and add. Project selection is limited to --to, --from and --only."
quality = "ai-draft"
base = "fig:rush"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/rush.ts"
license = "MIT"
[[commands.subcommand]]
path = ["install"]
label = "Install dependencies"
description = "Install dependencies according to the shrinkwrap file."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/rush.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "purge"
label = "Purge first"
type = "boolean"
option = ["--purge", "-p"]
effect = "delete"
sources = ["fig"]
[[commands.subcommand.field]]
id = "check_only"
label = "Only check shrinkwrap"
type = "boolean"
option = ["--check-only"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "to"
label = "Install up to project"
type = "string"
option = ["--to", "-t"]
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "network_concurrency"
label = "Network concurrency"
type = "integer"
option = ["--network-concurrency"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "max_attempts"
label = "Max install attempts"
type = "integer"
option = ["--max-install-attempts"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "install"
label = "Install"
fields = ["to"]
[[commands.subcommand.task]]
id = "check"
label = "Check shrinkwrap"
fields = ["check_only"]
required = ["check_only"]
set = { check_only = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["to", "purge", "check_only"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["network_concurrency", "max_attempts"]
[[commands.subcommand]]
path = ["build"]
label = "Build"
description = "Build projects that have changed since they were last built."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/rush.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "to"
label = "Build up to project"
type = "string"
option = ["--to", "-t"]
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "from"
label = "Build from project"
type = "string"
option = ["--from", "-f"]
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "only"
label = "Only this project"
type = "string"
option = ["--only", "-o"]
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "parallelism"
label = "Parallelism"
type = "string"
option = ["--parallelism", "-p"]
description = "A positive integer or max."
sources = ["fig"]
[[commands.subcommand.field]]
id = "verbose"
label = "Show build logs"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "changed_only"
label = "Changed projects only"
type = "boolean"
option = ["--changed-projects-only", "-c"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "build"
label = "Build"
fields = ["to", "from", "only", "verbose"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["to", "from", "only", "verbose"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["parallelism", "changed_only"]
[[commands.subcommand]]
path = ["add"]
label = "Add dependency"
description = "Add dependencies to the current project's package.json and run rush update."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/rush.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "package"
label = "Package"
type = "string"
option = ["--package", "-p"]
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "dev"
label = "As devDependency"
type = "boolean"
option = ["--dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "exact"
label = "Exact version"
type = "boolean"
option = ["--exact"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "caret"
label = "Caret version"
type = "boolean"
option = ["--caret"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "skip_update"
label = "Skip rush update"
type = "boolean"
option = ["--skip-update", "-s"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "make_consistent"
label = "Make versions consistent"
type = "boolean"
option = ["--make-consistent", "-m"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "add"
label = "Add"
fields = ["package", "dev", "exact"]
required = ["package"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package", "dev", "exact", "caret"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["skip_update", "make_consistent"]