@boost/core
Version:
Robust pipeline for creating dev tools that separate logic into routines and tasks.
108 lines • 3.06 kB
TypeScript
import { Blueprint, Predicates } from 'optimal';
import { AbstractConstructor, PortablePath } 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 {
author?: string | PeopleSetting;
bin?: any;
browser?: string;
browserslist?: string[];
bugs?: string | BugSetting;
bundledDependencies?: string[];
config?: SettingMap;
contributors?: string[] | PeopleSetting[];
cpu?: string[];
dependencies?: DependencyMap;
description?: string;
devDependencies?: DependencyMap;
engines?: SettingMap;
exports?: {
[path: string]: string | string[] | SettingMap;
};
files?: string[];
homepage?: string;
keywords?: string[];
license?: string | TypeSetting | TypeSetting[];
main?: string;
man?: string | string[];
name: string;
optionalDependencies?: DependencyMap;
os?: string[];
peerDependencies?: DependencyMap;
private?: boolean;
publishConfig?: {
access?: 'public' | 'restricted';
registry?: string;
tag?: string;
};
repository?: string | TypeSetting;
scripts?: SettingMap;
type?: 'commonjs' | 'module';
version: string;
types?: string;
typesVersions?: {
[version: string]: {
[glob: string]: string[];
};
};
typings?: string;
module?: string;
sideEffects?: boolean | string[];
workspaces?: string[] | {
packages?: string[];
nohoist?: string[];
};
}
export interface WorkspacePackageConfig extends PackageConfig {
workspace: WorkspaceMetadata;
}
export interface WorkspaceOptions {
relative?: boolean;
root?: PortablePath;
}
//# sourceMappingURL=types.d.ts.map