@hot-updater/cli-tools 0.25.9 → 0.25.10

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/dist/index.d.cts CHANGED
@@ -1,28 +1,35 @@
1
+ import { Readable } from "stream";
1
2
  import colors from "picocolors";
2
3
  import { ConfigInput, Platform, RequiredDeep } from "@hot-updater/plugin-core";
3
4
  import * as p from "@clack/prompts";
4
5
 
5
6
  //#region src/BuildLogger.d.ts
7
+ type LinePattern = string | RegExp;
6
8
  interface BuildLoggerConfig {
7
- /** Patterns that indicate build failure (string or regex) */
8
- failurePatterns: Array<string | RegExp>;
9
- /** Patterns for important messages that should be logged (string or regex) */
10
- importantLogPatterns: Array<string | RegExp>;
11
- /** Progress mapping: [patterns, progress percentage] (string or regex) */
12
- progressMapping: Array<[Array<string | RegExp>, number]>;
9
+ logPrefix: string;
10
+ /** Lines that should be surfaced in prompt output as important events. */
11
+ importantLogPatterns: LinePattern[];
12
+ /** Progress stages: stage index advances when corresponding output patterns are observed. */
13
+ progressStages: LinePattern[][];
13
14
  }
14
15
  declare class BuildLogger {
15
- private currentProgress;
16
- private spinner?;
17
- private config;
16
+ private readonly config;
17
+ private state;
18
+ private logWriter?;
19
+ private readonly promptProgress;
20
+ private readonly stageCount;
18
21
  constructor(config: BuildLoggerConfig);
19
- start(projectName: string): void;
20
- processLine(line: string): void;
22
+ start(): Promise<void>;
23
+ processStream(input: Readable): Promise<void>;
24
+ private consumeProgressStream;
25
+ private processProgressLine;
21
26
  stop(message?: string, success?: boolean): void;
22
- private updateSpinner;
23
- private generateProgressBar;
27
+ writeError(error: unknown): void;
28
+ close(): Promise<void>;
29
+ private updateProgress;
30
+ private finishRemainingProgress;
24
31
  private shouldLogLine;
25
- private matchesAnyPattern;
32
+ private showLogFileLocation;
26
33
  }
27
34
  //#endregion
28
35
  //#region src/banner.d.ts
@@ -174,6 +181,22 @@ interface ReactNativeMetadata {
174
181
  }
175
182
  declare const getReactNativeMetadatas: (cwd?: string) => ReactNativeMetadata;
176
183
  //#endregion
184
+ //#region src/LogWriter.d.ts
185
+ type HotUpdaterLogWriter = {
186
+ logFilePath: string | null;
187
+ writeStream: (input: Readable) => Promise<void>;
188
+ writeError: (error: unknown) => void;
189
+ close: () => Promise<void>;
190
+ };
191
+ declare const stripAnsi: (value: string) => string;
192
+ declare const createLogWriter: ({
193
+ prefix,
194
+ logFilePath
195
+ }: {
196
+ prefix: string;
197
+ logFilePath?: string;
198
+ }) => Promise<HotUpdaterLogWriter>;
199
+ //#endregion
177
200
  //#region src/loadConfig.d.ts
178
201
  type HotUpdaterConfigOptions = {
179
202
  platform: Platform;
@@ -200,6 +223,10 @@ type EnvVarValue = string | {
200
223
  };
201
224
  declare const makeEnv: (newEnvVars: Record<string, EnvVarValue>, filePath?: string) => Promise<string>;
202
225
  //#endregion
226
+ //#region src/prompts.d.ts
227
+ type PromptProgress = ReturnType<typeof p.progress>;
228
+ type PromptSpinner = ReturnType<typeof p.spinner>;
229
+ //#endregion
203
230
  //#region src/transformEnv.d.ts
204
231
  declare const transformEnv: <T extends Record<string, string>>(filename: string, env: T) => string;
205
232
  //#endregion
@@ -217,4 +244,4 @@ type TransformTemplateArgs<T extends string> = { [Key in ExtractPlaceholders<T>]
217
244
  */
218
245
  declare function transformTemplate<T extends string>(templateString: T, values: TransformTemplateArgs<T>): string;
219
246
  //#endregion
220
- export { BuildLogger, BuildLoggerConfig, BuildType, ConfigBuilder, ConfigResponse, HotUpdaterConfigOptions, IConfigBuilder, ImportInfo, ProviderConfig, ReactNativeMetadata, banner, colors, copyDirToTmp, createTarBr, createTarBrTargetFiles, createTarGz, createTarGzTargetFiles, createZip, createZipTargetFiles, decryptJson, encryptJson, ensureInstallPackages, getAndroidSdkPath, getCwd, getPackageManager, getReactNativeMetadatas, link, loadConfig, loadConfigSync, log, makeEnv, p, printBanner, transformEnv, transformTemplate };
247
+ export { BuildLogger, BuildLoggerConfig, BuildType, ConfigBuilder, ConfigResponse, HotUpdaterConfigOptions, HotUpdaterLogWriter, IConfigBuilder, ImportInfo, PromptProgress, PromptSpinner, ProviderConfig, ReactNativeMetadata, banner, colors, copyDirToTmp, createLogWriter, createTarBr, createTarBrTargetFiles, createTarGz, createTarGzTargetFiles, createZip, createZipTargetFiles, decryptJson, encryptJson, ensureInstallPackages, getAndroidSdkPath, getCwd, getPackageManager, getReactNativeMetadatas, link, loadConfig, loadConfigSync, log, makeEnv, p, printBanner, stripAnsi, transformEnv, transformTemplate };
package/dist/index.d.ts CHANGED
@@ -1,28 +1,35 @@
1
+ import { Readable } from "stream";
1
2
  import colors from "picocolors";
2
3
  import { ConfigInput, Platform, RequiredDeep } from "@hot-updater/plugin-core";
3
4
  import * as p from "@clack/prompts";
4
5
 
5
6
  //#region src/BuildLogger.d.ts
7
+ type LinePattern = string | RegExp;
6
8
  interface BuildLoggerConfig {
7
- /** Patterns that indicate build failure (string or regex) */
8
- failurePatterns: Array<string | RegExp>;
9
- /** Patterns for important messages that should be logged (string or regex) */
10
- importantLogPatterns: Array<string | RegExp>;
11
- /** Progress mapping: [patterns, progress percentage] (string or regex) */
12
- progressMapping: Array<[Array<string | RegExp>, number]>;
9
+ logPrefix: string;
10
+ /** Lines that should be surfaced in prompt output as important events. */
11
+ importantLogPatterns: LinePattern[];
12
+ /** Progress stages: stage index advances when corresponding output patterns are observed. */
13
+ progressStages: LinePattern[][];
13
14
  }
14
15
  declare class BuildLogger {
15
- private currentProgress;
16
- private spinner?;
17
- private config;
16
+ private readonly config;
17
+ private state;
18
+ private logWriter?;
19
+ private readonly promptProgress;
20
+ private readonly stageCount;
18
21
  constructor(config: BuildLoggerConfig);
19
- start(projectName: string): void;
20
- processLine(line: string): void;
22
+ start(): Promise<void>;
23
+ processStream(input: Readable): Promise<void>;
24
+ private consumeProgressStream;
25
+ private processProgressLine;
21
26
  stop(message?: string, success?: boolean): void;
22
- private updateSpinner;
23
- private generateProgressBar;
27
+ writeError(error: unknown): void;
28
+ close(): Promise<void>;
29
+ private updateProgress;
30
+ private finishRemainingProgress;
24
31
  private shouldLogLine;
25
- private matchesAnyPattern;
32
+ private showLogFileLocation;
26
33
  }
27
34
  //#endregion
28
35
  //#region src/banner.d.ts
@@ -174,6 +181,22 @@ interface ReactNativeMetadata {
174
181
  }
175
182
  declare const getReactNativeMetadatas: (cwd?: string) => ReactNativeMetadata;
176
183
  //#endregion
184
+ //#region src/LogWriter.d.ts
185
+ type HotUpdaterLogWriter = {
186
+ logFilePath: string | null;
187
+ writeStream: (input: Readable) => Promise<void>;
188
+ writeError: (error: unknown) => void;
189
+ close: () => Promise<void>;
190
+ };
191
+ declare const stripAnsi: (value: string) => string;
192
+ declare const createLogWriter: ({
193
+ prefix,
194
+ logFilePath
195
+ }: {
196
+ prefix: string;
197
+ logFilePath?: string;
198
+ }) => Promise<HotUpdaterLogWriter>;
199
+ //#endregion
177
200
  //#region src/loadConfig.d.ts
178
201
  type HotUpdaterConfigOptions = {
179
202
  platform: Platform;
@@ -200,6 +223,10 @@ type EnvVarValue = string | {
200
223
  };
201
224
  declare const makeEnv: (newEnvVars: Record<string, EnvVarValue>, filePath?: string) => Promise<string>;
202
225
  //#endregion
226
+ //#region src/prompts.d.ts
227
+ type PromptProgress = ReturnType<typeof p.progress>;
228
+ type PromptSpinner = ReturnType<typeof p.spinner>;
229
+ //#endregion
203
230
  //#region src/transformEnv.d.ts
204
231
  declare const transformEnv: <T extends Record<string, string>>(filename: string, env: T) => string;
205
232
  //#endregion
@@ -217,4 +244,4 @@ type TransformTemplateArgs<T extends string> = { [Key in ExtractPlaceholders<T>]
217
244
  */
218
245
  declare function transformTemplate<T extends string>(templateString: T, values: TransformTemplateArgs<T>): string;
219
246
  //#endregion
220
- export { BuildLogger, BuildLoggerConfig, BuildType, ConfigBuilder, ConfigResponse, HotUpdaterConfigOptions, IConfigBuilder, ImportInfo, ProviderConfig, ReactNativeMetadata, banner, colors, copyDirToTmp, createTarBr, createTarBrTargetFiles, createTarGz, createTarGzTargetFiles, createZip, createZipTargetFiles, decryptJson, encryptJson, ensureInstallPackages, getAndroidSdkPath, getCwd, getPackageManager, getReactNativeMetadatas, link, loadConfig, loadConfigSync, log, makeEnv, p, printBanner, transformEnv, transformTemplate };
247
+ export { BuildLogger, BuildLoggerConfig, BuildType, ConfigBuilder, ConfigResponse, HotUpdaterConfigOptions, HotUpdaterLogWriter, IConfigBuilder, ImportInfo, PromptProgress, PromptSpinner, ProviderConfig, ReactNativeMetadata, banner, colors, copyDirToTmp, createLogWriter, createTarBr, createTarBrTargetFiles, createTarGz, createTarGzTargetFiles, createZip, createZipTargetFiles, decryptJson, encryptJson, ensureInstallPackages, getAndroidSdkPath, getCwd, getPackageManager, getReactNativeMetadatas, link, loadConfig, loadConfigSync, log, makeEnv, p, printBanner, stripAnsi, transformEnv, transformTemplate };