@extport/wxt
WXT module for extensions publishing through extport: one config block wires up store publishing metadata, license/analytics identity injection, and Safari’s Xcode project generation.
Install
Section titled “Install”pnpm add -D @extport/wxtexport default defineConfig({ modules: ['@extport/wxt'], extport: { extension: 'ext_…', // your extension's extport id analytics: true, // optional: daily anonymous usage ping safari: { // optional: build a Safari App Store target appCategory: 'public.app-category.productivity', bundleIdentifier: 'com.example.my-extension', developmentTeam: 'ABCDE12345', }, },})What it does
Section titled “What it does”extension— syncs the id intoextport.config.json(the static fileextportCLI and extport-dev/actions read) and injectsglobalThis.__EXTPORT__.extensionIdinto every entrypoint, so@extport/sdk’s licensing and analytics resolve their identity with zero hardcoding.analytics: true— attaches the daily ping to your background entrypoint and adds Firefox’sdata_collection_permissionsdeclaration to the manifest. Explicit opt-in; nothing is collected without it. Requires@extport/sdkas a dependency.safari: { … }— onwxt build -b safari/wxt zip -b safari, converts the build output into a signed-ready Xcode project (macOS and/or iOS) forextport safari-buildto compile and upload.
Requirements
Section titled “Requirements”wxt is a peer dependency (>=0.20). The 0.20.x line is what the module is battle-tested against; wxt 0.21.x currently ships an experimental Vite 8/Rolldown pipeline with known build issues independent of this module.
Docs: docs.extport.dev
License
Section titled “License”MIT