wheels deps
Manage application dependencies using box.json.
Synopsis
wheels deps <action> [name] [options]Description
The wheels deps command provides a streamlined interface for managing your Wheels application's dependencies through box.json. It integrates with CommandBox's package management system while providing Wheels-specific conveniences.
Arguments
action
Required - Action to perform: list, install, update, remove, report
None
name
Package name (required for install/update/remove actions)
None
version
Specific version to install (optional, for install action only)
Latest version
Options
--dev
Install as development dependency (install action only)
false
Actions
List
Display all dependencies from box.json with their installation status.
wheels deps listOutput shows:
Package name
Version specification
Type (Production/Development)
Installation status
Example output:
Dependencies:
cbvalidation @ ^4.6.0+28 (Production) - Not Installed
wirebox @ ^7.4.2+24 (Production) - Not Installed
shortcodes @ ^0.0.4 (Production) - Not Installed
Dev Dependencies:
testbox @ ^6.4.0+17 (Development) - InstalledInstall
Install a new dependency and add it to box.json.
wheels deps install <name>
wheels deps install <name> <version>
wheels deps install <name> --devExamples:
# Install latest version as production dependency
wheels deps install cbvalidation
# Install specific version
wheels deps install cbvalidation 3.0.0
# Install as development dependency (saves to devDependencies)
wheels deps install testbox --devImportant: The --dev flag uses CommandBox's --saveDev flag internally, ensuring packages are correctly saved to the devDependencies section of box.json.
Update
Update an existing dependency to the latest version allowed by its version specification.
wheels deps update <name>Example:
wheels deps update wireboxThe command will:
Check if the dependency exists in box.json
Determine if it's a production or dev dependency
Update to the latest compatible version
Show version change information
Remove
Remove a dependency from both box.json and the file system.
wheels deps remove <name>Example:
wheels deps remove oldpackageNote: Remove action will ask for confirmation before proceeding.
Report
Generate a comprehensive dependency report with outdated package check.
wheels deps reportThe report includes:
Project information (name, version)
Wheels version
CFML engine details
All dependencies with installation status
Development dependencies
Installed modules information
Outdated package check
Export to JSON file
Example output:
Dependency Report:
Generated: 2025-09-19 11:38:44
Wheels Version: 3.0.0-SNAPSHOT
CFML Engine: Lucee 5.4.6.9
Dependencies:
cbvalidation @ ^4.6.0+28 - Installed: No
shortcodes @ ^0.0.4 - Installed: No
wirebox @ ^7.4.2+24 - Installed: No
Dev Dependencies:
testbox @ ^6.4.0+17 - Installed: Yes
Checking for outdated packages...
┌────────────────┬───────────┬──────────┬──────────┬─────────────────────┐
│ Package │ Installed │ Update │ Latest │ Location │
├────────────────┼───────────┼──────────┼──────────┼─────────────────────┤
│ testbox@^6.4.. │ 6.4.0+17 │ 6.4.0+17 │ 6.4.0+17 │ /testbox │
└────────────────┴───────────┴──────────┴──────────┴─────────────────────┘
There are no outdated dependencies!
Full report exported to: dependency-report-20250919-113851.jsonIntegration with CommandBox
The wheels deps commands delegate to CommandBox's package management system:
installusesbox installwith--saveDevflag for dev dependenciesupdateusesbox updateremoveusesbox uninstallreportusesbox outdated
This ensures compatibility with the broader CFML package ecosystem.
Working with box.json
The command manages two dependency sections in box.json:
Production Dependencies
{
"dependencies": {
"wheels-core": "^3.0.0",
"wirebox": "^7"
}
}Development Dependencies
{
"devDependencies": {
"testbox": "^6",
"commandbox-cfformat": "*"
}
}Installation Status
The command checks for installed packages using the installPaths defined in box.json to determine actual installation locations. This ensures accurate detection regardless of where packages are installed:
Detection Method:
Primary: Checks the exact path specified in
box.json→installPathsFallback: Checks standard locations like
/modulesdirectory
Supported Package Formats:
Simple names:
wireboxNamespaced:
forgebox:wireboxVersioned:
[email protected]
Example Install Paths:
"installPaths": {
"testbox": "testbox/",
"wirebox": "wirebox/",
"cbvalidation": "modules/cbvalidation/",
"shortcodes": "plugins/Shortcodes/"
}The installation status reflects the physical presence of packages on the filesystem, not just their listing in box.json dependencies.
Error Handling
Common scenarios:
No box.json: Prompts to run
box initPackage not found: Shows available dependencies
Update failures: Shows current and attempted versions
Network issues: Displays CommandBox error messages
Best Practices
Initialize First: Run
box initbefore managing dependenciesUse Version Constraints: Specify version ranges for stability
Separate Dev Dependencies: Use
--devfor test/build toolsRegular Updates: Run
wheels deps reportto check for outdated packagesCommit box.json: Always version control your dependency specifications
Notes
Dependencies are installed to the
/modulesdirectoryThe command respects CommandBox's dependency resolution
Version specifications follow npm-style semver patterns
Dev dependencies are not installed in production environments
See Also
box install - CommandBox package installation
box.json - Package descriptor documentation
wheels init - Initialize a Wheels application
wheels plugins - Manage Wheels CLI plugins
Last updated
Was this helpful?

