@boost/core
Version:
Robust pipeline for creating dev tools that separate logic into routines and tasks.
88 lines • 2.57 kB
TypeScript
import { Blueprint, Predicates } from 'optimal';
import { AbstractConstructor } from '@boost/common';
import ModuleLoader from './ModuleLoader';
export { Blueprint, Predicates };
export interface PluginType<T> {
afterBootstrap: ((plugin: T) => void) | null;
beforeBootstrap: ((plugin: T) => void) | null;
contract: AbstractConstructor<T>;
loader: ModuleLoader<T>;
pluralName: string;
scopes: string[];
singularName: string;
}
export declare type PluginSetting<P> = (string | {
[key: string]: any;
} | P)[];
export declare type Status = 'pending' | 'running' | 'skipped' | 'passed' | 'failed';
export declare type OutputLevel = 1 | 2 | 3;
export declare type Color = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray';
export declare type ColorType = 'default' | 'failure' | 'pending' | 'success' | 'warning';
export declare type ColorPalette = {
[T in ColorType]: Color | string;
};
export interface BugSetting {
url?: string;
email?: string;
}
export interface TypeSetting {
type: string;
url: string;
}
export interface PeopleSetting {
name: string;
email?: string;
url?: string;
}
export interface SettingMap {
[key: string]: string;
}
export interface DependencyMap {
[module: string]: string;
}
export interface WorkspaceMetadata {
jsonPath: string;
packagePath: string;
packageName: string;
workspacePath: string;
workspaceName: string;
}
export interface PackageConfig {
name: string;
version: string;
description?: string;
keywords?: string[];
homepage?: string;
bugs?: string | BugSetting;
license?: string | TypeSetting | TypeSetting[];
author?: string | PeopleSetting;
contributors?: string[] | PeopleSetting[];
files?: string[];
main?: string;
browser?: string;
bin?: any;
man?: string | string[];
repository?: string | TypeSetting;
scripts?: SettingMap;
config?: SettingMap;
dependencies?: DependencyMap;
devDependencies?: DependencyMap;
peerDependencies?: DependencyMap;
bundledDependencies?: string[];
optionalDependencies?: DependencyMap;
engines?: SettingMap;
os?: string[];
cpu?: string[];
private?: boolean;
publishConfig?: SettingMap;
module?: string;
sideEffects?: boolean | string[];
}
export interface WorkspacePackageConfig extends PackageConfig {
workspace: WorkspaceMetadata;
}
export interface WorkspaceOptions {
relative?: boolean;
root?: string;
}
//# sourceMappingURL=types.d.ts.map