← Project manifest

Startup configuration

luastra.json · schema v2
startup.entry

Build-time loading and failure screens (introduced in 0.4.0-alpha).

When to use it

Use this when opting a web project into prebuilt startup screens and wiring the separate startup module.

  • Merge the module into the existing modules array. startup.entry must name a declared module different from project.entry. The production application must not depend on this entry.
  • Only entry is accepted in startup. render() and optional renderFailure() are exports from the Luau module, not JSON fields. Each returns one UI.Screen.
  • Web builds render both states in separate restricted VM sessions. No startup bytecode or author JavaScript ships. A failure Button may use only onTap="startup.retry".
  • Omitting startup retains the usual bootstrap. This option requires 0.4.0-alpha or newer; see Startup screens for the supported subset.

Focused example

{
  "startup": {
    "entry": "app/startup"
  },
  "modules": [
    {
      "id": "app/startup",
      "source": "src/startup.luau",
      "dependencies": [
        "luastra/ui"
      ]
    }
  ]
}

Complete inventory

View all pages in Project manifest
← Previous: TestsNext: Complete web project →