1 | export interface IGulptraumPlugin {
|
2 | initializePlugin: IGulptraumHook;
|
3 | getDefaultConfig: IConfigurationHook;
|
4 | }
|
5 | export interface ITaskConfiguration {
|
6 | help: string;
|
7 | }
|
8 | export interface ICliTaskArguments {
|
9 | options: {
|
10 | [optionKey: string]: string;
|
11 | };
|
12 | }
|
13 | export interface IBuildSystem {
|
14 | }
|
15 | export interface IGulpVersionAdapter {
|
16 | getGulpTasks(): Array<string>;
|
17 | runTask(taskName: string, taskCallback: Function): void;
|
18 | registerConventionalTask(taskName: string, taskConfig: any, buildTasks: Array<Array<string>>): void;
|
19 | isTaskRegistered(taskName: string): boolean;
|
20 | registerGulpTask(taskName: string, taskCallback: Function): void;
|
21 | }
|
22 | export interface IConfigurationHook {
|
23 | (buildSystemConfig: IBuildSystemConfiguration): IPluginConfiguration;
|
24 | }
|
25 | export interface IPluginConfiguration<T extends IBuildSystemPathsConfiguration = IBuildSystemPathsConfiguration> extends IBuildSystemConfiguration<T> {
|
26 | pluginName: string;
|
27 | priority?: number;
|
28 | }
|
29 | export interface IPathsConfiguration {
|
30 | [pathName: string]: string;
|
31 | }
|
32 | export interface IGulptraumTypeScriptPluginConfiguration extends IPluginConfiguration {
|
33 | }
|
34 | export interface IBuildSystemConfiguration<T extends IBuildSystemPathsConfiguration = IBuildSystemPathsConfiguration> {
|
35 | packageName?: string;
|
36 | fullPackageName?: string;
|
37 | suppressErrors?: false;
|
38 | backupSetupFiles?: boolean;
|
39 | paths?: T;
|
40 | conventionalTasks?: {
|
41 | [taskName: string]: IConventionalTaskConfiguration;
|
42 | };
|
43 | plugins?: {
|
44 | [pluginName: string]: IPluginConfiguration;
|
45 | };
|
46 | }
|
47 | export interface IBuildSystemPathsConfiguration {
|
48 | root: string;
|
49 | source: string;
|
50 | tests: string;
|
51 | output: string;
|
52 | testOutput: string;
|
53 | doc: string;
|
54 | setup: string;
|
55 | changelog: string;
|
56 | }
|
57 | export interface IConventionalTaskConfiguration {
|
58 | help?: string;
|
59 | tasksBefore?: Array<string>;
|
60 | tasksAfter?: Array<string>;
|
61 | }
|
62 | export interface IGroupedPluginKeys {
|
63 | [priority: number]: Array<string>;
|
64 | }
|
65 | export interface IGulptraumHook {
|
66 | (gulp: any, config: any, gulptraum: IBuildSystem): void;
|
67 | }
|
68 | export interface IBuildSystem {
|
69 | }
|