Files
github-local-actions/src/componentManager.ts
Sanjula Ganepola 7bd3c448c2 Add run workflow support
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
2024-09-26 22:22:56 -04:00

51 lines
1.5 KiB
TypeScript

export interface Component {
name: string,
icon: string,
status: Status,
required: boolean
message?: string
}
export enum Status {
Enabled = 'Enabled',
Warning = 'Warning',
Disabled = 'Disabled'
}
export class ComponentManager {
static async getComponents(): Promise<Component[]> {
return [
{
name: 'nektos/act',
icon: 'package',
status: Status.Enabled,
required: true
},
{
name: 'Docker Engine',
icon: 'dashboard',
status: Status.Enabled,
required: true
},
{
name: 'GitHub Actions Extension',
icon: 'extensions',
status: Status.Warning,
required: false,
message: 'GitHub Actions extension is not required, but is recommended to take advantage of workflow editor features.'
},
{
name: 'GitHub CLI',
icon: 'terminal',
status: Status.Warning,
required: false,
message: 'GitHub CLI is not required, but is recommended if you plan to use it to retrieve GitHub tokens.'
}
];
}
static async getUnreadyComponents(): Promise<Component[]> {
const components = await ComponentManager.getComponents();
return components.filter(component => component.required && component.status !== Status.Enabled);
}
}