@alexaegis/nuke
Version:
55 lines • 2.16 kB
TypeScript
import { Defined, DryOption, NormalizedDryOption } from '@alexaegis/common';
import { LoggerOption, NormalizedLoggerOption } from '@alexaegis/logging';
import { CollectWorkspacePackagesOptions, NormalizedCollectWorkspacePackagesOptions } from '@alexaegis/workspace-tools';
export declare const DEFAULT_NUKE_LIST: string[];
export declare const DEFAULT_NUKE_GLOBS: string[];
export interface NukeOptionsOnly {
/**
* Don't remove `node_modules` directories but try to clean them up
*
* @defaultValue false
*/
skipNodeModules?: boolean;
/**
* A list of relative paths this script will remove in every package
* in the workspace. If you define this, the default are not applied.
*
* If you only wish to extend or remove parts of it use the `nukeMore`
* and `dontNuke` fields and leave this one alone.
*
* @defaultValue DEFAULT_NUKE_LIST
*/
nukeList?: string[] | undefined;
/**
* Globs to also remove.
*
* If you only wish to extend or remove parts of it use the `nukeMoreGlobs`
* and `dontNuke` fields and leave this one alone.
*
* @defaultValue DEFAULT_NUKE_GLOBS
*/
nukeGlobs?: string[] | undefined;
/**
* Additional globs to nuke if you don't want to overwrite the default ones
*
* @defaultValue undefined
*/
nukeMoreGlobs?: string[] | undefined;
/**
* These will be nuked too. Same role as `nukeList` but defining this
* won't get rid of the built in nukelist
*
* @defaultValue []
*/
nukeMore?: string[] | undefined;
/**
* If it shouldn't nuke a specific package, add them here.
*
* @defaultValue []
*/
dontNukeIn?: (string | RegExp)[] | undefined;
}
export type NukeOptions = NukeOptionsOnly & DryOption & CollectWorkspacePackagesOptions & LoggerOption;
export type NormalizedNukeOptions = Defined<NukeOptionsOnly> & NormalizedDryOption & NormalizedCollectWorkspacePackagesOptions & NormalizedLoggerOption;
export declare const normalizeNukeOptions: (options?: NukeOptions) => NormalizedNukeOptions;
//# sourceMappingURL=nuke.function.options.d.ts.map