Caravela.Gen.Svelte (Caravela v0.13.1)

Copy Markdown View Source

Generates typed Svelte components and a TypeScript interfaces file from a Caravela.Schema.Domain.

Output per entity:

  • BookIndex.svelte — list view
  • BookShow.svelte — detail view
  • BookForm.svelte — create/edit form

Plus one TypeScript file per domain holding every entity's interface. File paths mirror the context and version namespaces (see Caravela.Naming.svelte_file_path/3 and Caravela.Naming.svelte_types_file_path/1).

Tenant-injected fields are hidden from both the TypeScript interface and the form inputs — tenant id comes from the server, not the Svelte client.

Returns a list of {path, source} tuples. Files preserve content below the # --- CUSTOM --- / <!-- --- CUSTOM --- --> marker on regeneration.

Summary

Functions

Render types + every component for every entity.

Render a single component. kind is :index, :show, or :form.

Render every Svelte component (index, show, form) for every entity.

Render only the TypeScript interfaces file.

Functions

render_all(domain, opts \\ [])

Render types + every component for every entity.

render_component(domain, entity, kind, opts \\ [])

Render a single component. kind is :index, :show, or :form.

render_components(domain, opts \\ [])

Render every Svelte component (index, show, form) for every entity.

render_types(domain, opts \\ [])

Render only the TypeScript interfaces file.