This guide explains how to add a site plugin extension to your new Wix CLI project as part of migrating an app from the legacy Wix CLI.
| Legacy | New |
|---|---|
src/site/plugins/<name>/plugin.json | src/extensions/site/plugins/<name>/<name>.extension.ts |
src/site/plugins/<name>/plugin.tsx | src/extensions/site/plugins/<name>/<name>.tsx |
src/site/plugins/<name>/panel.tsx | src/extensions/site/plugins/<name>/<name>.panel.tsx |
src/site/plugins/<name>/plugin.module.css | src/extensions/site/plugins/<name>/<name>.module.css |
To move existing files into the new project:
src/extensions/site/plugins/<name>/.plugin.tsx → <name>.tsxpanel.tsx → <name>.panel.tsxplugin.module.css → <name>.module.css (if present).tsx files to use the new filenames..tsx files if needed, including imports of backend code.Don't copy the old plugin.json file. It is replaced by a new .extension.ts file.
In src/extensions/site/plugins/<name>/, create <name>.extension.ts:
| Field | Source | Required |
|---|---|---|
id | id from plugin.json | Yes. Must match legacy value to preserve the extension. |
name | marketData.name or name from plugin.json | Yes |
marketData | marketData object from plugin.json | No |
placements | placements from plugin.json | Yes. Use [] if not set. |
installation.autoAdd | installation.autoAddToSite or installation.autoAdd from plugin.json | Yes. Use false if not set. |
tagName | Use the extension folder name | Yes |
element | Path to <name>.tsx, relative to src/ | Yes |
settings | Path to <name>.panel.tsx, relative to src/ | Yes |
Important:
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.
If the legacy plugin.json has a marketData.logoUrl that references a local assets/ folder, replace it with {{BASE_URL}}/site-plugin-logo.svg:
In the new project, in src/extensions.ts, import the extension and add it with .use():
Return to the Test, build, and release step in the main migration guide.
Last updated: 29 June 2026