CLI Libs
The project of CLI tools for mornya
libraries.
This project has been created by Vessel CLI.
For a simple and quick reference about it, click here.
About
CLI 개발에 사용되는 모듈들에 대해 집합적인 형태로 제공되는 패키지.
Installation
해당 라이브러리를 사용 할 프로젝트에서는 아래와 같이 의존성 모듈로 설치한다.
$ npm install --save @mornya/cli-libs
or
$ yarn add @mornya/cli-libs
Modules in the package
본 패키지에는 아래와 같은 모듈들을 포함한다.
제공되는 모듈과 메소드 사용법 등은 코드 스니핏을 참고한다.
Args module
프로세스 실행시 명령줄라인의 파라미터 값을 정제하여 제공한다.
function parse(): string[] {}
function has(name: HasName): boolean {}
function hasAll<Keys extends string, T = KeyValueFlag<Keys>>(names: HasName[]): T {}
function getArguments<Keys extends string>(actionMap: ActionMap<Keys>): IArguments {}
Command module
프로세스 실행 관련 메소드들을 제공한다.
function run(
cmd: string,
args: IArgs,
executor?: (message: string, error?: Error) => void,
hasOutput: boolean = true,
): boolean {}
function get(cmd: string, args: IArgs): string {}
function getPackageManagerInfo(rootPath: string): IPackageManagerInfo {}
Files module
파일처리 관련 메소드들을 제공한다.
function dir(...names: string[]): string {}
function getGlob(
globPath: GlobPath,
callback: ((item: string, index: number) => boolean | void) = () => {},
): string[] {}
function getRealPath(): string {}
function resolvePath(...args: string[]): string {}
function rimraf(globPath: GlobPath): string[] {}
function emptyDir(globPath: GlobPath): string[] {}
function mkdirs(dirName: string): void {}
function move(srcGlobPath: GlobPath, destPath: string): string[] {}
function copy(
srcGlobPath: GlobPath,
destPath: string,
isSymlink: boolean = false,
): string[] {}
function copyDir(
srcGlobPath: GlobPath,
destPath: string,
exceptFiles: string[] = [],
): string[] {}
function isExist(dirName: string): boolean {}
function isEmptyDir(dirName: string): boolean {}
function list(dirName: string): string[] {}
function read(fileName: string): string {}
function readJSON<T = {}>(fileName: string): T {}
function write(fileName: string, value: string): void {}
function writePrettyJSON(
fileName: string,
value: {},
maxLineLength: number = 1,
): void {}
function getDirectoryFiles(
dirName: string,
executor: (isDir: boolean, relPath: string, currDir: string, file: string) => boolean | void,
): void {}
function getFilteredExistPaths(
rootPath: string,
targetPathList: string[] = [],
isOnly: boolean = false,
): string[] {}
function getConfig<T>(
rootPath: string,
name: string,
filename?: string,
): GetConfig<T> {}
Icons module
OS에 맞게 변환된 출력용 이모티콘을 제공한다.
import { Icons } from '@mornya/cli-libs';
console.log(Icons.icon.okay);
Key module
콘솔에서 간단한 키보드 입력 관련 메소드를 제공한다.
function pressed(callback: Callback): void {}
Log module
콘솔 로그 관련 메소드들을 제공한다.
function setLogger(logger: (...args: any[]) => any): void {}
function showCursor(): void {}
function hideCursor(): void {}
function linefeed(): void {}
function out(message?: any, ...optionalParams: any[]): void {}
function info(message?: any, ...optionalParams: any[]): void {}
function progress(message: string, ...optionalParams: any[]): void {}
function devOnly(message?: string, ...optionalParams: any[]): void {}
function watch(message?: any, ...optionalParams: any[]): void {}
function debug(message?: any, ...optionalParams: any[]): void {}
function warn(message?: any, ...optionalParams: any[]): void {}
function error(message?: any, ...optionalParams: any[]): void {}
function okay(message?: string, ...optionalParams: any[]): void {}
function bad(message?: string, ...optionalParams: any[]): void {}
function success(message?: string, ...optionalParams: any[]): void {}
function failure(message?: string, ...optionalParams: any[]): void {}
Minify module
uglify-es 디펜던시를 이용하여 *.js, *.mjs 파일들에 대한 minification을 수행하는 메소드를 제공한다.
function run(buildPath: string, options?: Options): Result {}
Upgrade module
애플리케이션 수행 중에 업데이트가 필요한 디펜던시를 체크하여 종료 전에 설치할 수 있도록 하는 기능 등을 제공한다.
function checkLazyNpm(dep: string): Promise<string> {}
function checkLazyYarn(dep: string): Promise<string> {}
function checkLazyEmitBeforeExit(
dep: string,
currentVersion: string,
option?: CheckLazyEmitBeforeExitOption,
): void {}
Utils module
기타 유틸성 처리 메소드들을 제공한다.
function removeArrayDups(
baseArray: string[] | undefined,
dataArray: string[] = [],
): string[] | undefined {}
function hasProps<OT = any, TT = OT, FT = OT>(
obj: OT,
truthyValue?: TT,
falsyValue?: FT,
): OT | TT | FT | undefined {}
function uri2binary(data: string | undefined = ''): Uint8Array {}
Version module
버전 체크 등 메소드들을 제공한다.
function check(baseVersion: string, currVersion: string): -1 | 0 | 1 {}
Chalk library
터미널 스타일링을 위한 chalk 라이브러리를 제공한다.
Change Log
해당 프로젝트의 CHANGELOG.md 파일 참조.
License
해당 프로젝트의 LICENSE 파일 참조.