packages/addon-dev-tools/README.md
Development tools for Wealthfolio addons including hot reload server and CLI.
npm install -g @wealthfolio/addon-dev-tools
Deprecation note: the CLI command is now
wealthfolio-addon. The oldwealthfolioalias still works but will be removed in a future release — thewealthfolioname is reserved for the upcoming native Wealthfolio CLI.
wealthfolio-addon create my-awesome-addon
# In your addon directory
wealthfolio-addon dev
wealthfolio-addon build
wealthfolio-addon package
wealthfolio-addon test
Version compatibility: Wealthfolio 3.7 requires
@wealthfolio/addon-dev-tools3.7 or newer. If the app reports that the server does not support v3.7 runtime packages, update this package and restart the development server.
The development server provides:
GET /health - Health checkGET /status - Build state and published runtime-package generationGET /manifest.json - Addon manifestGET /addon.js - Built addon codeGET /runtime-package - One coherent manifest, code, and asset-metadata
snapshotGET /runtime-files - Built JavaScript and CSS modulesGET /runtime-assets - Packaged asset metadataGET /runtime-assets/:assetId?generation=<id> - One asset from a published
generationGET /files - List of built filesGET /test - Test connectivityThe host loads /runtime-package first, then requests asset bytes from the same
generation. The server retains the four most recent immutable generations so a
reload cannot mix new metadata with old bytes. A generation older than that
window is intentionally unavailable and the host must load the current package
snapshot again. /manifest.json and /addon.js remain diagnostic/legacy
endpoints; Wealthfolio 3.7 live loading does not assemble a runtime from them.
Files below assets/** and non-code files below dist/assets/** are published
as private asset metadata and lazy byte responses. JavaScript and CSS remain in
/runtime-files. The same 256-entry, 5 MiB-per-file, and 25 MiB-package limits
used during installation are enforced during development.
Generated projects pin build.target to Chrome/Edge 107, Firefox 104, and
Safari 16, matching Wealthfolio 3.7. Keep that explicit target when customizing
Vite so a future Vite default cannot silently raise the addon's browser floor.
The sandbox supports packaged images, fonts, media, CSS, and WebAssembly, but
does not allow Worker/service-worker entry points, popups, direct network
requests, or remote CSS imports.
Add to your addon's package.json:
{
"scripts": {
"dev:server": "wealthfolio-addon dev"
},
"devDependencies": {
"@wealthfolio/addon-dev-tools": "^3.7.0"
}
}
This package is separate from @wealthfolio/addon-sdk to:
MIT