@nemo-cli/shared 0.0.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # `@nemo-cli/shared`
2
+
3
+ > nemo-cli tools
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ import {log, createStore, createSelect} from '@nemo-cli/shared'
9
+ ```
@@ -0,0 +1,290 @@
1
+ import { PathLike } from "fs-extra";
2
+ import { GlobOptions, Path } from "glob";
3
+ import * as _clack_prompts0 from "@clack/prompts";
4
+ import { GroupMultiSelectOptions, MultiSelectOptions, NoteOptions, Option, PromptGroup, SelectOptions, SpinnerOptions, TaskLogOptions, TextOptions, intro, outro, progress, spinner, stream } from "@clack/prompts";
5
+ import colors, { ChalkInstance } from "chalk";
6
+ import winston from "winston";
7
+ import { loadConfig } from "unconfig";
8
+ import * as open0 from "open";
9
+ import { Command } from "commander";
10
+ import * as tinyexec0 from "tinyexec";
11
+ import { Options, Output, Result } from "tinyexec";
12
+ import { $, Options as Options$1, ProcessPromise } from "zx";
13
+ import Configstore from "configstore";
14
+ import * as ora0 from "ora";
15
+ import { Options as Options$2 } from "ora";
16
+
17
+ //#region src/constants.d.ts
18
+ declare const LOWEST_NODE_VERSION = "18.0.0";
19
+ declare const CONFIG_NAME = ".nemoclirc";
20
+ //#endregion
21
+ //#region src/utils/browser.d.ts
22
+ declare const openBrowser: (url: string) => void;
23
+ declare const openBrowserApp: (url: string) => void;
24
+ declare const getBrowserApps: () => Record<open0.AppName, string | readonly string[]>;
25
+ //#endregion
26
+ //#region src/utils/color.d.ts
27
+ declare const clearScreen: () => void;
28
+ declare const clearTerminal: () => void;
29
+ type ColorInstance = ChalkInstance;
30
+ //#endregion
31
+ //#region src/utils/command.d.ts
32
+ declare const exit: (code: number) => never;
33
+ declare const createHelpExample: (...commands: string[]) => string;
34
+ declare const createCommand: (name: string) => Command;
35
+ declare const buildCommand: (command: string, dynamicParts?: (string | number | boolean | null | undefined)[]) => {
36
+ command: string;
37
+ parts: (string | undefined)[];
38
+ };
39
+ declare const x: (command: string, args?: string[], options?: Partial<Options>) => Result;
40
+ declare const zx: (baseCommand: string, dynamicParts?: (string | number | boolean | null | undefined)[], options?: Partial<Options$1>) => ProcessPromise;
41
+ declare const checkCommand: (_command: string) => Promise<boolean>;
42
+ declare const xASync: (command: string, args?: string[], options?: Partial<Options> & {
43
+ quiet?: boolean;
44
+ }) => Promise<[Error, null] | [null, Output]>;
45
+ //#endregion
46
+ //#region src/utils/common.d.ts
47
+ declare const cached: <Func extends AnyFunction>(fn: Func) => (content: PropertyKey) => ReturnType<Func>;
48
+ declare const sleep: (millisecond: number, controller?: AbortController) => Promise<unknown>;
49
+ //#endregion
50
+ //#region src/utils/config.d.ts
51
+ type StoreOptions = {
52
+ path: string;
53
+ default?: Record<PropertyKey, unknown>;
54
+ };
55
+ declare const loadEnv: (importMeta: {
56
+ url: string;
57
+ }, ...paths: string[]) => void;
58
+ declare const createStore: (name: string, options: StoreOptions) => Configstore;
59
+ //#endregion
60
+ //#region src/utils/env.d.ts
61
+ declare const isDebug: () => boolean;
62
+ //#endregion
63
+ //#region src/utils/error.d.ts
64
+ declare const handleError: (err: unknown, message: string) => void;
65
+ //#endregion
66
+ //#region src/utils/file.d.ts
67
+ type Package = {
68
+ name: string;
69
+ version: `${number}.${number}.${number}`;
70
+ keywords: string[];
71
+ license: string;
72
+ author: string;
73
+ description: string;
74
+ workspaces: string[] | Record<string, string[]>;
75
+ };
76
+ declare const readPackage: (importMeta: {
77
+ url: string;
78
+ }, ...paths: string[]) => Package;
79
+ declare const readJSON: (path: string, _overwrite?: boolean) => any;
80
+ declare const writeJSON: (path: string, content: AnyObject, force?: boolean) => void;
81
+ declare const readFile: (importMeta: {
82
+ url: string;
83
+ }, ...paths: string[]) => string;
84
+ declare const copyFile: (src: PathLike, dest: PathLike, _overwrite?: boolean) => void;
85
+ declare const checkFile: (src: string) => boolean;
86
+ declare const deleteFile: (file: string) => void;
87
+ declare const deleteFiles: (files: string[]) => void;
88
+ declare const emptyDir: (src: string) => void;
89
+ declare const emptyDirs: (dirs: string[]) => void;
90
+ declare const isEmptyDir: (src: string) => boolean;
91
+ declare const dirList: (src?: string) => string[];
92
+ declare const fileList: (src?: string) => string[];
93
+ declare const filterDirList: (list: string[]) => string[];
94
+ declare function glob(pattern: string, options: Partial<GlobOptions> & {
95
+ withFileTypes: true;
96
+ }): Promise<Path[]>;
97
+ declare function glob(pattern: string, options?: Partial<GlobOptions>): Promise<string[]>;
98
+ /**
99
+ * 读取当前执行文件夹内的 .gitignore 文件内容
100
+ * @param cwd 当前工作目录,默认为 process.cwd()
101
+ * @returns .gitignore 文件内容,如果文件不存在则返回 null
102
+ */
103
+ declare const readGitignore: (cwd?: string) => string[];
104
+ //#endregion
105
+ //#region src/utils/format.d.ts
106
+ declare const isChinese: (text: string) => boolean;
107
+ //#endregion
108
+ //#region src/utils/git-handle/index.d.ts
109
+ declare const require: NodeJS.Require;
110
+ declare const getCurrentBranch: () => Promise<string>;
111
+ declare const getLocalBranches: () => Promise<{
112
+ branches: string[];
113
+ currentBranch: string | undefined;
114
+ }>;
115
+ declare const getDiffFiles: () => Promise<string[]>;
116
+ declare const getGitStatus: () => Promise<{
117
+ staged: string[];
118
+ modified: string[];
119
+ untracked: string[];
120
+ unstaged: string[];
121
+ }>;
122
+ declare const addFiles: (files: string[]) => Promise<tinyexec0.Output | undefined>;
123
+ //#endregion
124
+ //#region src/utils/log.d.ts
125
+ declare const customLevels: {
126
+ levels: {
127
+ error: number;
128
+ warn: number;
129
+ success: number;
130
+ info: number;
131
+ verbose: number;
132
+ silly: number;
133
+ timing: number;
134
+ };
135
+ colors: {
136
+ error: string;
137
+ warn: string;
138
+ success: string;
139
+ info: string;
140
+ verbose: string;
141
+ silly: string;
142
+ timing: string;
143
+ };
144
+ };
145
+ declare const DEFAULT_OPTIONS: {
146
+ heading: string;
147
+ level: string;
148
+ };
149
+ declare const logger: winston.Logger;
150
+ declare const log: {
151
+ init: (customOptions?: typeof DEFAULT_OPTIONS) => winston.Logger;
152
+ level: unknown;
153
+ setLevel(level: keyof typeof customLevels.levels): void;
154
+ stopDebug(): void;
155
+ show(message: string, options?: {
156
+ symbol?: string;
157
+ colors?: ColorInstance;
158
+ type?: "info" | "success" | "step" | "warn" | "error" | "message";
159
+ }): void;
160
+ info(...messages: unknown[]): void;
161
+ warn(...messages: unknown[]): void;
162
+ debug(): void;
163
+ timing(time: string | number): void;
164
+ error(...messages: unknown[]): void;
165
+ verbose(...messages: unknown[]): void;
166
+ success(...messages: unknown[]): void;
167
+ clearScreen(): void;
168
+ clearTerminal(): void;
169
+ beep(): void;
170
+ scrollDown(): void;
171
+ scrollUp(): void;
172
+ eraseEndLine(): void;
173
+ };
174
+ //#endregion
175
+ //#region src/utils/packageJson.d.ts
176
+ interface DependencyInfo {
177
+ name: string;
178
+ version: string;
179
+ type: 'dependencies' | 'devDependencies';
180
+ }
181
+ declare function getPackageDependencies(packageDir: string): Promise<DependencyInfo[]>;
182
+ //#endregion
183
+ //#region src/utils/pathname.d.ts
184
+ declare const filename: <T extends {
185
+ url: string;
186
+ }>(importMate: T) => string;
187
+ declare const dirname: <T extends {
188
+ url: string;
189
+ }>(importMate: T) => string;
190
+ declare const cwdPathname: (dirname: string) => string;
191
+ declare const parseNames: (names: string) => string[];
192
+ //#endregion
193
+ //#region src/utils/promise.d.ts
194
+ declare const safeAwait: <T>(promise: Promise<T>) => Promise<[error: Error] | [error: undefined, data: T]>;
195
+ //#endregion
196
+ //#region src/utils/prompts.d.ts
197
+ type PromptOptions<T extends string | number | boolean | symbol = string> = {
198
+ label: string;
199
+ value: T;
200
+ };
201
+ declare const createOptions: <const T extends string | number>(options: readonly T[]) => Option<T>[];
202
+ declare const createShowList: (options: string[] | PromptOptions<string>[]) => Promise<void>;
203
+ declare const createSearch: ({
204
+ message,
205
+ options
206
+ }: {
207
+ message: string;
208
+ options: PromptOptions[];
209
+ }) => Promise<string>;
210
+ declare const createCheckbox: <Value>(opts: MultiSelectOptions<Value>) => Promise<Value[]>;
211
+ declare const createNote: ({
212
+ message,
213
+ title,
214
+ opts
215
+ }: {
216
+ message?: string;
217
+ title?: string;
218
+ opts?: NoteOptions;
219
+ }) => void;
220
+ declare const createConfirm: (options: _clack_prompts0.ConfirmOptions) => Promise<boolean | symbol>;
221
+ declare const createTasks: (options: _clack_prompts0.Task[]) => Promise<void>;
222
+ declare const createSelect: <Value>(opts: SelectOptions<Value>) => Promise<Value>;
223
+ declare const createInput: (opts: TextOptions) => Promise<string>;
224
+ declare const createGroupMultiSelect: <Value>(opts: GroupMultiSelectOptions<Value>) => Promise<Value[]>;
225
+ declare const createGroup: <Value>(opts: PromptGroup<Value>) => Promise<{ [P in keyof _clack_prompts0.PromptGroupAwaitedReturn<Value>]: _clack_prompts0.PromptGroupAwaitedReturn<Value>[P] }>;
226
+ type Spinner = ReturnType<typeof spinner>;
227
+ declare const createSpinner: (message: string, options?: SpinnerOptions) => _clack_prompts0.SpinnerResult;
228
+ declare const createTaskLog: (title: string, options?: TaskLogOptions) => {
229
+ message(msg: string, mopts?: _clack_prompts0.TaskLogMessageOptions): void;
230
+ group(name: string): {
231
+ message(msg: string, mopts?: _clack_prompts0.TaskLogMessageOptions): void;
232
+ error(message: string): void;
233
+ success(message: string): void;
234
+ };
235
+ error(message: string, opts?: _clack_prompts0.TaskLogCompletionOptions): void;
236
+ success(message: string, opts?: _clack_prompts0.TaskLogCompletionOptions): void;
237
+ };
238
+ //#endregion
239
+ //#region src/utils/spinner.d.ts
240
+ declare const BASE_OPTIONS: {
241
+ timeout: number;
242
+ };
243
+ declare const ora: (options: string | Options$2) => ora0.Ora;
244
+ //#endregion
245
+ //#region src/utils/types.d.ts
246
+ declare const hasOwn: (target: Record<string, unknown>, key: PropertyKey) => boolean;
247
+ declare const has: <T extends object, K extends PropertyKey>(target: T, key: K) => boolean;
248
+ declare const isString: <T1 extends string = string>(obj: unknown) => obj is T1;
249
+ declare const isNumber: <T1 extends number = number>(obj: unknown) => obj is T1;
250
+ declare const isBoolean: <T1 extends boolean = boolean>(obj: unknown) => obj is T1;
251
+ declare const isNull: <T1 extends null = null>(obj: unknown) => obj is T1;
252
+ declare const isUndefined: <T1 extends undefined = undefined>(obj: unknown) => obj is T1;
253
+ declare const isError: <T1 extends Error = Error>(obj: unknown) => obj is T1;
254
+ declare const isPromise: <T1 extends Promise<unknown> = Promise<unknown>>(obj: unknown) => obj is T1;
255
+ declare const isPlainObject: <T1 extends Record<string, unknown> = Record<string, unknown>>(obj: unknown) => obj is T1;
256
+ declare const isArray: <T1 extends unknown[] = unknown[]>(obj: unknown) => obj is T1;
257
+ declare const isDate: <T1 extends Date = Date>(obj: unknown) => obj is T1;
258
+ declare const isFunction: <T1 extends AnyFunction$1 = AnyFunction$1>(obj: unknown) => obj is T1;
259
+ declare const isSymbol: <T1 extends symbol = symbol>(obj: unknown) => obj is T1;
260
+ declare const isSet: <T1 extends Set<unknown> = Set<unknown>>(obj: unknown) => obj is T1;
261
+ declare const isMap: <T1 extends Map<unknown, unknown> = Map<unknown, unknown>>(obj: unknown) => obj is T1;
262
+ declare const isFormData: <T1 extends FormData = FormData>(obj: unknown) => obj is T1;
263
+ declare const isURLSearchParams: <T1 extends URLSearchParams = URLSearchParams>(obj: unknown) => obj is T1;
264
+ declare const isEmpty: (value: unknown) => value is null | undefined | "" | [] | Record<string, never>;
265
+ type AnyFunction$1 = (...args: any) => any;
266
+ //#endregion
267
+ //#region src/utils/workspace.d.ts
268
+ interface PackageNameInfo {
269
+ name: string;
270
+ path: string;
271
+ }
272
+ declare function getWorkspaceDirs(): Promise<{
273
+ root: string;
274
+ packages: string[];
275
+ }>;
276
+ declare function getWorkspaceNames(): Promise<PackageNameInfo[]>;
277
+ //#endregion
278
+ //#region src/index.d.ts
279
+ declare const pkg: {
280
+ name: string;
281
+ version: `${number}.${number}.${number}`;
282
+ keywords: string[];
283
+ license: string;
284
+ author: string;
285
+ description: string;
286
+ workspaces: string[] | Record<string, string[]>;
287
+ };
288
+ //#endregion
289
+ export { $, AnyFunction$1 as AnyFunction, BASE_OPTIONS, CONFIG_NAME, ColorInstance, type Command, Configstore, LOWEST_NODE_VERSION, PackageNameInfo, PromptOptions, type Result, Spinner, addFiles, buildCommand, cached, checkCommand, checkFile, clearScreen, clearTerminal, colors, copyFile, createCheckbox, createCommand, createConfirm, createGroup, createGroupMultiSelect, createHelpExample, createInput, createNote, createOptions, createSearch, createSelect, createShowList, createSpinner, createStore, createTaskLog, createTasks, cwdPathname, deleteFile, deleteFiles, dirList, dirname, emptyDir, emptyDirs, exit, fileList, filename, filterDirList, getBrowserApps, getCurrentBranch, getDiffFiles, getGitStatus, getLocalBranches, getPackageDependencies, getWorkspaceDirs, getWorkspaceNames, glob, handleError, has, hasOwn, intro, isArray, isBoolean, isChinese, isDate, isDebug, isEmpty, isEmptyDir, isError, isFormData, isFunction, isMap, isNull, isNumber, isPlainObject, isPromise, isSet, isString, isSymbol, isURLSearchParams, isUndefined, loadConfig, loadEnv, log, logger, openBrowser, openBrowserApp, ora, outro, parseNames, pkg, progress, readFile, readGitignore, readJSON, readPackage, require, safeAwait, sleep, stream, writeJSON, x, xASync, zx };
290
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/constants.ts","../src/utils/browser.ts","../src/utils/color.ts","../src/utils/command.ts","../src/utils/common.ts","../src/utils/config.ts","../src/utils/env.ts","../src/utils/error.ts","../src/utils/file.ts","../src/utils/format.ts","../src/utils/git-handle/index.ts","../src/utils/log.ts","../src/utils/packageJson.ts","../src/utils/pathname.ts","../src/utils/promise.ts","../src/utils/prompts.ts","../src/utils/spinner.ts","../src/utils/types.ts","../src/utils/workspace.ts","../src/index.ts"],"mappings":"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"}