Skip to content

Commit

Permalink
https://github.com/adbayb/termost/issues/30
Browse files Browse the repository at this point in the history
  • Loading branch information
garronej committed May 19, 2024
1 parent 59f8119 commit 10da0ca
Showing 1 changed file with 37 additions and 44 deletions.
81 changes: 37 additions & 44 deletions src/bin/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@ export type CliCommandOptions = {
reactAppRootDirPath: string | undefined;
};

const program = termost<CliCommandOptions>({
"name": "keycloakify",
"description": "Keycloakify CLI",
"version": readThisNpmPackageVersion()
});
const program = termost<CliCommandOptions>(
{
"name": "keycloakify",
"description": "Keycloakify CLI",
"version": readThisNpmPackageVersion()
},
{
"onException": error => {
console.error(error);
process.exit(1);
}
}
);

const optionsKeys: string[] = [];

Expand Down Expand Up @@ -45,28 +53,18 @@ function skip(_context: any, argv: { options: Record<string, unknown> }) {
return false;
}

async function runAndLogErrors(fn: () => Promise<void>) {
try {
await fn();
} catch (error) {
console.error(error);
process.exit(1);
}
}

program
.command({
"name": "build",
"description": "Build the theme (default subcommand)."
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./keycloakify/index");
"handler": async cliCommandOptions => {
const { command } = await import("./keycloakify");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

program
Expand Down Expand Up @@ -100,12 +98,11 @@ program
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./start-keycloak");
"handler": async cliCommandOptions => {
const { command } = await import("./start-keycloak");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

program
Expand All @@ -115,12 +112,11 @@ program
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./download-builtin-keycloak-theme");
"handler": async cliCommandOptions => {
const { command } = await import("./download-builtin-keycloak-theme");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

program
Expand All @@ -130,12 +126,11 @@ program
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./eject-keycloak-page");
"handler": async cliCommandOptions => {
const { command } = await import("./eject-keycloak-page");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

program
Expand All @@ -145,12 +140,11 @@ program
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./initialize-email-theme");
"handler": async cliCommandOptions => {
const { command } = await import("./initialize-email-theme");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

program
Expand All @@ -160,12 +154,11 @@ program
})
.task({
skip,
"handler": cliCommandOptions =>
runAndLogErrors(async () => {
const { command } = await import("./copy-keycloak-resources-to-public");
"handler": async cliCommandOptions => {
const { command } = await import("./copy-keycloak-resources-to-public");

await runAndLogErrors(() => command({ cliCommandOptions }));
})
await command({ cliCommandOptions });
}
});

// Fallback to build command if no command is provided
Expand Down

0 comments on commit 10da0ca

Please sign in to comment.