@bluecadet/launchpad-cli
Version:
CLI for @bluecadet/launchpad utilities
31 lines • 962 B
JavaScript
import { controllerConfigSchema } from "@bluecadet/launchpad-controller/config";
import z from "zod";
const workflowStepSchema = z.custom((value) => {
if (typeof value === "string") {
return /^.+\..+$/.test(value);
}
if (typeof value !== "object" || value === null) {
return false;
}
return "type" in value && typeof value.type === "string";
});
export const launchpadConfigSchema = z
.object({
controller: controllerConfigSchema.prefault({}),
plugins: z.array(z.custom()).prefault([]),
workflows: z.record(z.string(), z.array(workflowStepSchema).readonly()).prefault({}),
})
.prefault({});
/**
* Applies defaults to the provided launchpad config.
*/
export function resolveLaunchpadConfig(config) {
return launchpadConfigSchema.parse(config);
}
/**
* Type definition for the config object.
*/
export function defineConfig(config) {
return config;
}
//# sourceMappingURL=launchpad-config.js.map