fix: Use named union and declare every type

This commit is contained in:
Gerald Pinder 2024-10-13 19:45:13 -04:00
parent 98d48fe2e1
commit a5af2a9727

View file

@ -53,7 +53,7 @@ model Recipe {
*
* Each item in this list should have at least a `type:` or be specified to be included from an external file in the `recipes/` directory with `from-file:`.
*/
modules: Array<Module | ImportedModule>;
modules: Array<ModuleType | ImportedModule>;
}
@jsonSchema("stage-list-v1.json")
@ -78,17 +78,33 @@ model Stage {
/**
* The list of modules to execute. The exact same syntax used by the main recipe `modules:` property.
*/
modules: Array<Module | ImportedModule>;
modules: Array<ModuleType | ImportedModule>;
}
@jsonSchema("module-list-v1.json")
model ModuleList {
modules: Array<Module | ImportedModule>;
modules: Array<ModuleType | ImportedModule>;
}
@jsonSchema("module-v1.json")
union ModuleType {
normal: Module,
akmods: AkmodsModule,
bling: BlingModule,
brew: BrewModule,
chezmoi: ChezmoiModule,
containerfile: ContainerfileModule,
copy: CopyModule,
default_flatpaks: DefaultFlatpaksModule,
files: FilesModule,
fonts: FontsModule,
gnome_extentions: GnomeExtensionsModule,
gschema_overrides: GschemaOverridesModule,
justfiles: JustfilesModule,
rpm_ostree: RpmOstreeModule,
script: ScriptModule,
signing: SigningModule,
systemd: SystemdModule,
yafti: YaftiModule,
custom: CustomModule,
}