addonova
v1.0.5
Published
Web Extension Framework
Maintainers
Readme
Addonova
Addonova is a framework that allows developers to build extensions for multiple browsers. Developers can easily build, test, and manage extensions.
Quick Start
npx addonova init my-extension
cd my-extension
npm run releaseSupported Browsers
- Chrome (MV3)
- Firefox
- Microsoft Edge
- Opera
- Naver Whale
- Thunderbird
CLI Commands
| Command | Description |
| --- | --- |
| addonova init <name> | Scaffold a new extension project |
| addonova build [options] | Build the current extension project |
| addonova zip | Create release zip bundles |
| addonova tool | Open the i18n tools UI in a browser |
| addonova --help | Show help |
Build Scripts
Generated projects include these npm scripts:
npm run release
npm run release:chrome
npm run release:edge
npm run release:opera
npm run release:firefox
npm run release:thunderbird
npm run release:naver
npm run debug
npm run debug:chrome
npm run debug:edge
npm run debug:opera
npm run debug:firefox
npm run debug:thunderbird
npm run debug:naver
npm run dev
npm run zip
npm testYou can also call the CLI directly:
npx addonova build --all --release
npx addonova build --chrome --debug
npx addonova build --all --debug --watch
npx addonova zip
npx addonova toolBuild Options
| Option | Description |
| --- | --- |
| --all | Build all configured browsers |
| --chrome | Build Chrome target |
| --edge | Build Microsoft Edge target |
| --firefox | Build Firefox target |
| --opera | Build Opera target |
| --naver | Build Naver Whale target |
| --thunderbird | Build Thunderbird target |
| --release | Create release build |
| --debug | Create debug build |
| --watch | Rebuild when files change and reload opened extensions |
| --open | Open a browser with the debug extension loaded |
| --test | Build test version |
| --version=x.x.x | Append version to output zip names |
Dev Mode
npm run devDev mode runs:
addonova build --all --debug --watchAddonova opens an isolated browser profile, loads the unpacked debug extension from .output/debug/<browser>, watches source files, rebuilds changed assets, and reloads the extension when the built files change.
Generated Extension Structure
my-extension/
|-- config/
|-- platform/
|-- src/
| |-- _locales/
| |-- assets/
| |-- css/
| |-- html/
| |-- js/
| `-- manifest/
|-- .output/
`-- package.jsonLocales / i18n
Locale files use the .i18n format:
@extensionName
My Extension
@extensionDescription
This is my extension description.Run the interactive message manager from a generated project:
npm run toolOr use the i18n tools UI:
npx addonova toolThis opens a full UI at http://localhost:9876 with:
- Translate tab — view all locale messages, add new messages with auto-translation, delete messages
- JSON → i18n tab — drag-and-drop a
messages.jsonfile to convert to.i18nformat
Development
Run the test suite:
npm testCheck what will be published:
npm pack --dry-runRequirements
- Addonova package: Node.js >= 20.19
- Generated extension template: Node.js >= 22 and npm >= 11

