Convert the bundled backend/internal/plugins/smartblock package into a standalone reactor-mode wasm plugin: - package smartblock -> package main; add wasip1 main.go with wasmguest.Serve(Registration). - Add go.mod (module git.dev.alexdunmow.com/block/smartblock) pinning block/core v0.18.2; no replace directives. - Flesh out plugin.mod (scope=ninja, kind=plugin, categories, tags, display_name, description). - Point web/eslint.config.js at ../../../cms/web/eslint.config.js and switch @block-ninja/ui from workspace:* to the ^0.1.0 registry version; rebuild web/dist. - Add .gitignore (*.bnp, *.wasm, web/node_modules). Behavior unchanged: registers the "smart" block; assets served from web/dist. Builds to smartblock-1.0.0.bnp; check-safety passes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
540 B
Go
20 lines
540 B
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"git.dev.alexdunmow.com/block/core/blocks"
|
|
"git.dev.alexdunmow.com/block/core/templates"
|
|
"git.dev.alexdunmow.com/block/core/plugin"
|
|
)
|
|
|
|
// Registration is the compile-time plugin registration for the Smart Block.
|
|
var Registration = plugin.PluginRegistration{
|
|
Name: "smartblock",
|
|
Version: plugin.ParseModVersion(pluginModBytes),
|
|
Register: func(tr templates.TemplateRegistry, br blocks.BlockRegistry) error {
|
|
return Register(tr, br)
|
|
},
|
|
Assets: func() http.Handler { return AssetsHandler() },
|
|
}
|