Skip to content

GenerateConfig

Defined in: packages/core/src/types.ts:531

Configuration for screen ID generation in the generate command. Controls how route parameters like :id are converted to screen IDs.

const generate: GenerateConfig = {
smartParameterNaming: true,
parameterMapping: { ":id": "detail", ":userId": "user" },
}

optional parameterMapping: Record<`:${string}`, string>

Defined in: packages/core/src/types.ts:549

Custom parameter mappings for screen ID generation. Maps route parameter names (must start with :) to semantic screen ID segments. Takes precedence over smart defaults when both are enabled.

{ ":id": "detail", ":userId": "user", ":postId": "post" }

optional smartParameterNaming: boolean

Defined in: packages/core/src/types.ts:541

Enable smart parameter inference for screen IDs. When true, applies intelligent defaults:

  • :id at path end → detail
  • :xxxId pattern → extracts entity name (e.g., :userIduser)
  • :id before action segments (edit/new) → preserved for context
false (preserves backward compatibility)
true

optional unmappedParameterStrategy: "warn" | "preserve" | "detail"

Defined in: packages/core/src/types.ts:559

Strategy for handling parameters not covered by mappings or smart defaults.

  • “preserve”: Keep the parameter name as-is (e.g., :userIduserId) (default)
  • “detail”: Convert all unmapped parameters to “detail”
  • “warn”: Preserve but add a TODO comment suggesting alternatives
"preserve"
"warn"