First run
publish is build followed by deploy. Split them when you want to inspect
the archive before it leaves your machine:
The iteration loop
A newly uploaded version is registered dormant first, then activated in a
separate transaction. If that second step fails, the previously active
version keeps serving — a failed deploy does not take your plugin down.
Version rollback is done in the Portal; the
CLI has no
activate or versions command.What the CLI expects in your project
noorle plugin init creates all of this. If you are converting an existing
project, these are the contracts:
build.sh is why the CLI is language-agnostic — it runs your script through
sh and only checks the output path. Anything that emits a WASI Preview 2
component at dist/plugin.wasm works.
Validating before you deploy
CI
The CLI has no non-interactive login —noorle login requires a human to
approve in a browser, and the token it issues lasts one hour. A CI job cannot
run noorle plugin deploy unattended.
Use the CLI for the build and post the archive with an API key:
archive and the filename must end in .npack.
The body limit is 50 MiB. See
Upload Plugin.
Troubleshooting
build.sh script not found
build.sh script not found
Run
noorle plugin build from the plugin directory, not its parent.build.sh is not executable
build.sh is not executable
chmod +x build.sh. Git preserves the bit, so commit it after fixing.No WASM file found at dist/plugin.wasm
No WASM file found at dist/plugin.wasm
Your
build.sh finished but did not write to that exact path. The CLI reads
only dist/plugin.wasm — copy or rename your compiler output to it.Authentication timed out
Authentication timed out
The CLI polls for 10 minutes. Re-run
noorle login and approve promptly.