Drupal is a registered trademark of Dries Buytaert
drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! video_embed_field 3.1.0 Minor update available for module video_embed_field (3.1.0). bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). scheduler_content_moderation_integration 3.0.5 Minor update available for module scheduler_content_moderation_integration (3.0.... commerce 3.3.5 Minor update available for module commerce (3.3.5). geocoder 8.x-4.34 Minor update available for module geocoder (8.x-4.34). leaflet 10.4.5 Minor update available for module leaflet (10.4.5). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14).

Introduction

Canvas Component Migrator provides a browser-based admin interface for moving Canvas JavaScript components and global CSS between Drupal sites. Instead of using the terminal or manually running CLI commands, site administrators can select which components to export or import, enter OAuth credentials, and run the migration from a standard Drupal admin form. Only the site initiating the migration needs this module installed. This module wraps the @drupal-canvas/cli npm package, its capabilities evolve alongside that package and module releases track CLI updates.

Features

  • Export components from the current site to a remote destination site.
  • Import components from a remote source site into the current site.
  • Selective migration: pick individual components or migrate all at once.
  • Three CSS modes: include global CSS, skip CSS, or CSS only.
  • Optional pre-send validation using the CLI's built-in ESLint rules.
  • Configurable CLI timeout for large component sets or slow connections.
  • Dependency warnings: flags components whose dependencies are missing on the source site.
  • All CLI activity logged to Drupal's watchdog under the canvas_migrator channel.
  • No terminal access needed on the server running the migration.

Use cases: Content teams migrating a design system between staging and production, agencies deploying Canvas component libraries to client sites, developers who want to audit component dependencies before pushing.

Post-Installation

  1. Install Node.js (v18+) and npm on the web server - see the README for platform-specific options (module-local, home directory, or explicit path via settings.php).
  2. Configure an OAuth consumer on both the source and destination sites at Admin → Configuration → Services → Consumers.
  3. The consumer needs canvas:js_component and canvas:asset_library scopes.
  4. Grant the "Administer Canvas Component Migrator" permission to trusted administrator roles.
  5. Navigate to Admin → Configuration → Canvas → Export Canvas Components (/admin/config/canvas/export) to push components to another site, or Import Canvas Components (/admin/config/canvas/import) to pull from another site.

No global config is stored - all credentials are entered per operation.

Additional Requirements

  • Drupal 10 or 11
  • Canvas module
  • Simple OAuth (or equivalent) with consumers configured on both source and destination sites
  • Node.js v18 or later and npm, available to the web server process
  • @drupal-canvas/cli npm package (currently v0.11.2) - this module's feature set tracks the CLI, check the module
    release notes when upgrading the package.

Canvas OAuth - simplifies OAuth consumer setup for Canvas-specific scopes.

Similar projects

NA

Supporting this Module

NA

Community Documentation

NA

Activity

Total releases
1
First release
Apr 2026
Latest release
22 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Apr 22, 2026