@extport/wxt
v0.0.11
Published
WXT module for extport: converts Safari extensions to Xcode projects and keeps extport.config.json in sync
Maintainers
Readme
@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
pnpm add -D @extport/wxt// wxt.config.ts
export 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
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
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
MIT
