@mail-core/cli
Version:
Инструментарий для написания cli-скриптов
30 lines (29 loc) • 2.17 kB
TypeScript
import type { PackageJson as FestPackageJson } from 'type-fest';
export declare type PackageJson = FestPackageJson & {
$path(): string;
$name(): string;
$update(): void;
};
export declare type PackageJsonHook = ('prepublish' | 'prepare' | 'prepublishOnly' | 'prepack' | 'postpack' | 'publish' | 'postpublish' | 'preinstall' | 'install' | 'postinstall' | 'preuninstall' | 'uninstall' | 'postuninstall' | 'preversion' | 'version' | 'postversion' | 'pretest' | 'test' | 'posttest' | 'prestop' | 'stop' | 'poststop' | 'prestart' | 'start' | 'poststart' | 'prerestart' | 'restart' | 'postrestart');
export declare type PkgRunEnv = ('dev' | 'module' | 'npx');
export interface PkgReadOptions {
cache?: boolean;
}
export declare function getPkgRunEnv(dirname: string): "module" | "npx" | "dev";
export declare const PKG_RUN_ENV: string;
export declare const IS_NPX_ENV: boolean;
export declare const CWD_DIR: string;
export declare const ROOT_DIR: string;
export declare function getModuleRootDir(__dirname: string): string;
export declare function dropPackageJsonCache(): void;
export declare function readPackageJson(relativeDir?: string, options?: PkgReadOptions): PackageJson;
export declare function findNearestPackageJson(relativeDir: string): string | undefined;
export declare function updatePackageJson(relativeDir: string | undefined, patch: Partial<PackageJson>, options?: PkgReadOptions): void;
export declare function registerRunCommand(preferName: string, cmd: string): string;
export declare function runCommandByScriptHook(hook: PackageJsonHook, cmd: string, atFirst?: boolean): boolean;
export declare function hasPackageJsonDependency(pkg: PackageJson, depName?: string): boolean;
export declare function hasPackageJsonDevDependency(pkg: PackageJson, depName?: string): boolean;
export declare function hasPackageJsonPeerDependency(pkg: PackageJson, depName?: string): boolean;
export declare function removePackageJsonDependency(pkg: PackageJson, depName: string | RegExp): void;
export declare function getPackageInstallType(__dirname: string): boolean | "dev" | "self";
export declare function isRootPackage(__dirname: string): boolean;