@axway/amplify-central-github-extension
Version:
Create Amplify Central resources from Github API Management APIs
43 lines (37 loc) • 1.46 kB
text/typescript
//@ts-ignore
import { snooplogg } from "cli-kit";
import { outputJsonSync, readJsonSync } from "fs-extra";
import { Config, ConfigKeys } from "../../../types";
import { configFilePath } from "../../utils";
type args = {
argv: Partial<Config>;
console: Console;
};
const { log } = snooplogg("github-extension: config: set");
export const set = {
action: ({ argv }: args) => {
log("Setting config");
const config: Partial<Config> = readJsonSync(configFilePath);
(Object.keys(argv) as Array<keyof Config>).forEach((k) => {
const isConfig = Object.values(ConfigKeys).includes(k);
if (isConfig && argv[k] !== undefined) {
log(`Overriding config for ${k}`);
log(`Current: ${config[k]}. New: ${argv[k]}`);
config[k] = argv[k];
}
});
log(`Writing updated config file: ${configFilePath}`);
outputJsonSync(configFilePath, config);
},
desc: "Set Amplify Central github-extension configuration",
aliases: ["set"],
options: {
"--output-dir [value]": "Set absolute path for output directory",
"--environment-name [value]": "Required: Set environment name to create",
"--icon [value]": "Set absolute path for custom icon",
"--git-token [value]": "Required: github access_token",
"--git-user-name [value]": "Required: github username",
"--repo [value]": "Required: repository to search in",
"--branch [value]": "Required: repository branch to search in"
},
};