in src/core/utils/user-config.ts [103:165]
export function validateUserWorkflowConfig(userWorkflowConfig: Partial<GithubActionWorkflow> | undefined): Partial<GithubActionWorkflow> | undefined {
let appLocation = undefined;
let apiLocation = undefined;
let outputLocation = undefined;
let dataApiLocation = undefined;
logger.silly(`Validating user workflow config (BEFORE):`);
logger.silly(userWorkflowConfig!);
if (userWorkflowConfig?.appLocation) {
appLocation = path.resolve(userWorkflowConfig.appLocation);
if (path.isAbsolute(userWorkflowConfig.appLocation)) {
appLocation = userWorkflowConfig.appLocation;
}
}
if (userWorkflowConfig?.apiLocation) {
if (isHttpUrl(userWorkflowConfig.apiLocation)) {
apiLocation = userWorkflowConfig.apiLocation;
} else {
// use the user's config and construct an absolute path
apiLocation = path.resolve(userWorkflowConfig.apiLocation);
}
if (path.isAbsolute(userWorkflowConfig.apiLocation)) {
apiLocation = userWorkflowConfig.apiLocation;
}
}
if (userWorkflowConfig?.dataApiLocation) {
dataApiLocation = path.resolve(userWorkflowConfig.dataApiLocation);
if (path.isAbsolute(userWorkflowConfig.dataApiLocation)) {
dataApiLocation = userWorkflowConfig.dataApiLocation;
}
}
if (userWorkflowConfig?.outputLocation) {
// is dev server url?
if (isHttpUrl(userWorkflowConfig.outputLocation)) {
outputLocation = userWorkflowConfig.outputLocation;
} else {
outputLocation = path.resolve(userWorkflowConfig.outputLocation);
if (path.isAbsolute(userWorkflowConfig.outputLocation)) {
outputLocation = userWorkflowConfig.outputLocation;
}
}
}
logger.silly(`Validating user workflow config (AFTER):`);
logger.silly({
appLocation,
apiLocation,
outputLocation,
dataApiLocation,
});
return {
appLocation,
apiLocation,
outputLocation,
dataApiLocation,
};
}