TasksPlugin
TasksPlugin
CommandKit plugin that provides task management capabilities.
This plugin automatically loads task definitions from the src/app/tasks
directory
and manages their execution through configured drivers. It supports hot module
replacement (HMR) for development workflows.
Example
import { tasks } from '@commandkit/tasks';
export default {
plugins: [
tasks(),
],
};
Signature
class TasksPlugin extends RuntimePlugin<TasksPluginOptions> {
public readonly name = 'tasks';
public readonly tasks = new Collection<string, Task>();
activate(ctx: CommandKitPluginRuntime) => Promise<void>;
deactivate(ctx: CommandKitPluginRuntime) => Promise<void>;
performHMR(ctx: CommandKitPluginRuntime, event: CommandKitHMREvent) => Promise<void>;
}
- Extends:
RuntimePlugin<TasksPluginOptions>
name
property
The plugin name identifier
tasks
property
Collection of loaded task instances indexed by task name
activate
method
(ctx: CommandKitPluginRuntime) => Promise<void>
Activates the tasks plugin.
This method:
- Sets up the task execution runner
- Loads all task definitions from the tasks directory
- Schedules tasks that have defined schedules
deactivate
method
(ctx: CommandKitPluginRuntime) => Promise<void>
Deactivates the tasks plugin.
Clears all loaded tasks from memory.
performHMR
method
(ctx: CommandKitPluginRuntime, event: CommandKitHMREvent) => Promise<void>
Handles hot module replacement (HMR) for task files.
When a task file is modified during development, this method reloads the task definition and updates the scheduler accordingly.