Loading...

CLI Overview

Quick Start Guide

wheels info

wheels reload

wheels deps

wheels destroy

wheels watch

wheels generate app

wheels generate app-wizard

wheels generate controller

wheels generate model

wheels generate view

wheels generate property

wheels generate route

wheels generate resource

wheels generate api-resource

wheels generate frontend

wheels generate test

wheels generate snippets

wheels scaffold

wheels test

wheels test run

wheels test coverage

wheels test debug

wheels config list

wheels config set

wheels config env

wheels env

wheels env setup

wheels env list

wheels env switch

wheels environment

wheels console

wheels runner

wheels server

wheels server start

wheels server stop

wheels server restart

wheels server status

wheels server log

wheels server open

wheels plugins

wheels plugins list

wheels plugins install

wheels plugins remove

wheels analyze

wheels analyze code

wheels analyze performance

wheels analyze security

wheels security

wheels security scan

wheels optimize

wheels optimize performance

wheels docs

wheels docs generate

wheels docs serve

wheels ci init

wheels docker init

wheels docker deploy

wheels deploy

wheels deploy audit

wheels deploy exec

wheels deploy hooks

wheels deploy init

wheels deploy lock

wheels deploy logs

wheels deploy proxy

wheels deploy push

wheels deploy rollback

wheels deploy secrets

wheels deploy setup

wheels deploy status

wheels deploy stop

Configuration Management

Creating Commands

Service Architecture

Migrations Guide

Testing Guide

Ask or search...
Ctrl K
Loading...

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

| Argument | Description | Default | |----------|-------------|---------| | 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

| Option | Description | Default | |--------|-------------|---------| | --dev | Install as development dependency (install action only) | false |

Actions

List

Display all dependencies from box.json with their installation status.

wheels deps list

Output shows:

  • Package name
  • Version specification
  • Type (Production/Development)
  • Installation status

Example output:

Dependencies:
  wheels-core @ ^3.0.0 (Production) - Installed
  wirebox @ ^7 (Production) - Installed
  testbox @ ^5 (Production) - Installed

Dev Dependencies:
  commandbox-dotenv @ * (Development) - Not Installed
  commandbox-cfformat @ * (Development) - Installed

Install

Install a new dependency and add it to box.json.

wheels deps install <name>
wheels deps install <name> <version>
wheels deps install <name> --dev

Examples:

# Install latest version as production dependency
wheels deps install cbvalidation

# Install specific version
wheels deps install cbvalidation 3.0.0

# Install as development dependency
wheels deps install testbox --dev

Update

Update an existing dependency to the latest version allowed by its version specification.

wheels deps update <name>

Example:

wheels deps update wirebox

The 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 oldpackage

Note: Remove action will ask for confirmation before proceeding.

Report

Generate a comprehensive dependency report with outdated package check.

wheels deps report

The 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-06-04 10:05:35
Project: my-wheels-app
Project Version: 1.0.0
Wheels Version: 3.0.0
CFML Engine: Lucee 5.4.6.9

Dependencies:
  wheels-core @ ^3.0.0 - Installed: Yes
  wirebox @ ^7 - Installed: Yes

Dev Dependencies:
  testbox @ ^5 - Installed: Yes

Checking for outdated packages...
All packages are up to date!

Full report exported to: dependency-report-20250604-100535.json

Integration with CommandBox

The wheels deps commands delegate to CommandBox's package management system:

  • install uses box install
  • update uses box update
  • remove uses box uninstall
  • report uses box 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": "^5",
    "commandbox-cfformat": "*"
  }
}

Installation Status

The command checks for installed packages in the /modules directory. It handles various package naming conventions:

  • Simple names: wirebox
  • Namespaced: forgebox:wirebox
  • Versioned: wirebox@7.0.0

Error Handling

Common scenarios:

  • No box.json: Prompts to run box init
  • Package not found: Shows available dependencies
  • Update failures: Shows current and attempted versions
  • Network issues: Displays CommandBox error messages

Best Practices

  1. Initialize First: Run box init before managing dependencies
  2. Use Version Constraints: Specify version ranges for stability
  3. Separate Dev Dependencies: Use --dev for test/build tools
  4. Regular Updates: Run wheels deps report to check for outdated packages
  5. Commit box.json: Always version control your dependency specifications

Notes

  • Dependencies are installed to the /modules directory
  • The command respects CommandBox's dependency resolution
  • Version specifications follow npm-style semver patterns
  • Dev dependencies are not installed in production environments

See Also