Migrate a Dashboard Menu Plugin Extension

Add a dashboard menu plugin extension to your new Wix CLI project as part of migrating an app from the legacy Wix CLI.

Folder structure

Legacy pathNew path
src/dashboard/menu-plugins/<name>/plugin.jsonsrc/extensions/dashboard/menu-plugins/<name>/<name>.extension.ts

Note: <name> is your extension's folder name in the legacy project. The new folder and files use the same name.

Dashboard menu plugins are configuration-only. There is no component file.

Step 1 | Create the extension file

In the new project:

  1. Create the folder src/extensions/dashboard/menu-plugins/<name>/.

  2. Inside the folder, create <name>.extension.ts.

  3. Add the code for the action variant your legacy plugin.json uses, and set each field to the value the table below specifies:

    FieldSource in legacy projectWhat to specify
    idid in plugin.jsonCopy source as is
    titletitle in plugin.jsonCopy source as is
    extendsextends in plugin.json, the ID of the slot the plugin plugs intoCopy source as is
    iconKeyiconKey in plugin.jsonCopy source as is, or '' if the legacy config doesn't set it
    actionaction in plugin.jsonCopy source as is, keeping the same variant
  4. Add the following field if it applies, inside the same object:

    Copy
    FieldSource in legacy projectWhat to specifyCondition
    subtitlesubtitle in plugin.jsonCopy source as isOnly if your legacy plugin.json sets it

Important:

  • The new navigateToPage accepts only pageId, and the new openModal accepts only componentId. A legacy navigateToPage.relativeUrl or openModal.componentParams value has no equivalent field in the new structure, so you can't carry it over.
  • The id must match the value from the legacy plugin.json. Otherwise, the new entry is treated as a separate extension instead of a continuation of the legacy one.

Step 2 | Register the extension

In the new project, in src/extensions.ts:

  1. Import the extension:

    Copy
  2. Add a .use() call for it to the app() chain, on its own line:

    Copy

Step 3 | Return to the main migration guide

Return to Install the extension's dependencies in the main migration guide.

Last updated: 10 November 2026

Did this help?