Prerequisites
Before building the extension, ensure you have:- Node.js (v14 or later)
- Yarn 3.0.1 or later
- All dependencies installed via
yarn install
Build Process
SubWallet Extension uses a multi-step build process that compiles TypeScript, bundles assets, and creates distribution packages.Development Build
Build TypeScript
The first step compiles all TypeScript files in the monorepo:This script processes all packages referenced in
tsconfig.json:- extension-base
- extension-chains
- extension-compat-metamask
- extension-dapp
- extension-inject
- extension-mocks
- extension-koni
- extension-koni-ui
- extension-web-ui
Run Full Build
To build the entire extension with all assets:This command runs:
- TypeScript compilation (
koni-dev-build-ts) - ZIP packaging (
build:zip) - Rollup bundling (
build:rollup)
Watch Mode for Development
For active development, use watch mode to automatically rebuild on file changes:- Automatically recompiles on file changes
- Uses webpack in development mode
watch-devincludes inline source maps for easier debuggingdev:firefoxbuilds Firefox-specific version
Build Scripts Reference
Main Build Commands
| Command | Description |
|---|---|
yarn build | Complete build: TS compilation + ZIP + Rollup |
yarn build:extra | Build i18n and UI components |
yarn build:ui | Build extension UI with webpack (production) |
yarn build:rollup | Bundle with Rollup |
yarn clean | Remove all build artifacts |
Specialized Builds
| Command | Description |
|---|---|
yarn build:koni-dev | Development build |
yarn build:release | Production release build (GitHub Actions) |
yarn build:i18n | Build internationalization files |
Packaging Commands
| Command | Description |
|---|---|
yarn build:zip | Create all ZIP packages |
yarn build:zip:dst | Package Chrome build to master-build.zip |
yarn build:zip:dst-ff | Package Firefox build to master-build-firefox.zip |
yarn build:zip:src | Package source code to master-src.zip |
Build Output
After building, you’ll find the output in these locations:Extension Builds
- Chrome/Edge build:
packages/extension-koni/build/ - Firefox build:
packages/extension-koni/build-firefox/
ZIP Packages
In the root directory:master-build.zip- Chrome/Edge extension packagemaster-build-firefox.zip- Firefox extension packagemaster-src.zip- Source code archive
Production Build
For production releases:Run Release Build
Web Runner Build
SubWallet also includes a web-based version:Troubleshooting
Build Fails After Dependency Update
Run the postinstall script manually:patch-package.
TypeScript Errors
Ensure all packages are properly referenced intsconfig.json. The extension uses TypeScript project references for the monorepo structure.