Files
herolib/libarchive/installers/web/caddy2/plugins.v
2025-03-03 17:32:28 -05:00

32 lines
690 B
V

module caddy
pub fn plugin_is_installed(plugin_ string) !bool {
plugin := plugin_.trim_space()
result := osal.exec(cmd: 'caddy list-modules --packages')!
mut lines := result.output.split('\n')
mut standardard_packages := []string{}
mut nonstandardard_packages := []string{}
mut standard := true
for mut line in lines {
line = line.trim_space()
if line == '' {
continue
}
if line.starts_with('Standard modules') {
standard = false
continue
}
package := line.all_after(' ')
if standard {
standardard_packages << package
} else {
nonstandardard_packages << package
}
}
return plugin in standardard_packages || plugin in nonstandardard_packages
}