2. Replace luastra.json
luastra/ui · luastra/data · controlled input · about 20 minutesluastra/data + luastra/ui
Form validation and modal state are synchronous application logic, so this recipe needs only ui.render.
When to use it
Replace the generated manifest before importing Data or composing the form primitives.
Focused example
{
"schemaVersion": 2,
"project": { "id": "dev.luastra.form-modal-recipe", "entry": "app/main" },
"sdk": { "contract": 1 },
"capabilities": ["ui.render"],
"modules": [
{
"id": "app/main",
"source": "src/main.luau",
"dependencies": ["luastra/app", "luastra/data", "luastra/ui"]
},
{
"id": "app/tests/form-modal",
"source": "tests/smoke.luau",
"dependencies": ["app/main"]
}
],
"tests": ["app/tests/form-modal"]
}