Dependencies

Dependencies in BCMS are external packages (e.g., axios, lodash) that can be used within BCMS Functions. The Dependencies panel gives you full control over managing these packages per instance.

How to access

  1. Open your BCMS instance dashboard

  2. Go to Settings

  3. Click on the Dependencies tab in the settings navigation

CleanShot 2025-07-07 at 14.20.25@2x.jpg

Interface overview

Left panel - Dependency list

  • Displays all added dependencies

  • Shows empty state: “No dependencies” if none exist

  • Highlights the selected dependency

  • Each dependency has an Edit button

Right panel – Detail view

  • Dynamically changes between dependency form and detail display

  • Controlled by router state

  • Used for both editing and creating dependencies


Managing dependencies

Adding a dependency

  1. Click Add new dependency

  2. Fill in the form:

    • Name: Package name (e.g., axios)

    • Version: Constraint (e.g., ^1.7.5, ~2.0.0)

  3. Validation rules:

    • Name is required and must be unique

    • Version is required and must follow semantic versioning

  4. Click Add dependency

  5. Success will redirect you to the detail view

Editing a dependency

  • Select a dependency from the list

  • Update the name or version

  • Validation rules remain the same

  • Click Update dependency to save, or Cancel to discard

Deleting a dependency

  • Select the dependency

  • Click Delete

  • Confirm the irreversible action in the dialog

  • You'll return to the main list


  • Clicking a dependency shows its detail view

  • Clicking the same active dependency again will deselect it

  • Use the X or Cancel to go back to the list

  • Real-time updates via WebSockets: all users instantly see changes

  • Responsive two-column layout, max width 1100 px for readability


Use cases

Development workflow

  • Quickly reference packages used in Functions

  • Share visible dependency context with your team

  • Audit dependencies per instance


Technical details

Data structure

Each dependency includes:

  • id: Unique ID

  • name: npm package name

  • version: Semver constraint

  • instanceId: Associated BCMS instance

  • userId: Creator

  • createdAt / updatedAt

Validation

  • Name: Required, unique

  • Version: Required, semver format

  • Format: Follows npm naming conventions

Permissions

  • Only Admins can manage dependencies (create, edit, delete)

  • Dependencies are instance-scoped


Best practices

Naming

  • Use standard npm naming

  • Be consistent across environments

Versioning

  • Use semver constraints like ^, ~, or pinned versions

  • Document changes when bumping major versions

Organization

  • Keep your list clean and up to date

  • Group related packages logically

  • Remove unused entries to reduce clutter

UX and error handling

  • Duplicate name protection

  • Clear validation messages for incorrect input

  • Success and error notifications for all actions

  • Graceful fallback for network issues


This feature streamlines how you manage packages needed for BCMS Functions. It keeps dependency tracking centralized, visible, and maintainable for your team.