wix-cli-extension-registration

📁 wix/skills 📅 10 days ago
38
总安装量
14
周安装量
#9850
全站排名
安装命令
npx skills add https://github.com/wix/skills --skill wix-cli-extension-registration

Agent 安装分布

claude-code 10
cursor 10
opencode 8
gemini-cli 8
codex 8
antigravity 7

Skill 文档

Wix App Registration

After creating any extension file, you MUST update the main src/extensions.ts file to register the extension with the app. Without this step, the extension will not be recognized by Wix CLI.

Simple Pattern (Recommended for Small Apps)

src/extensions.ts – Import and register extensions directly:

import { app } from "@wix/astro/builders";
import { dataExtension } from "./data/extensions.ts";
import { dashboardpageMyPage } from "./dashboard/pages/my-page/extensions.ts";
import { embeddedscriptMyScript } from "./site/embedded-scripts/my-script/extensions.ts";

export default app()
  .use(dataExtension)
  .use(dashboardpageMyPage)
  .use(embeddedscriptMyScript);

Steps for each new extension:

  1. Import the extension from its extensions.ts file
  2. Add .use(extensionName) to the app chain
  3. Chain multiple extensions together

Advanced Pattern (For Large Apps)

src/index.ts – Re-export all extensions:

export { dashboardpageMyPage } from "./dashboard/pages/my-page/extensions";
export { embeddedscriptMyScript } from "./site/embedded-scripts/my-script/extensions";
export { dataExtension } from "./data/extensions";

src/extensions.ts – Register all extensions programmatically:

import { app } from "@wix/astro/builders";
import * as allExtensions from "./index";

const extensionList = Object.values(allExtensions);

const appBuilder = app();
extensionList.forEach((extension) => {
  appBuilder.use(extension);
});

export default appBuilder;

Extension Types Without Registration

The following extension types do not require extensions.ts files:

  • Backend API – Astro server endpoints are auto-discovered

Naming Conventions

Extension export names follow this pattern: {extensiontype}{CamelCaseName}

Examples:

  • dashboardpageCartPopupManager
  • embeddedscriptCouponPopup
  • sitewidgetCountdownWidget
  • sitepluginProductBadge
  • ecomshippingratesCustomShipping

The type prefix is the extension type in lowercase with no separators.