@supernovaio/cli
Version:
Supernova.io Command Line Interface
104 lines • 4.46 kB
TypeScript
import { z, ZodType } from "zod";
import { SentryCommand } from "../types/index.js";
export declare const AnalyzeCommandConfigSchema: z.ZodObject<{
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
designSystemId: z.ZodOptional<z.ZodString>;
package: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
dryRun: z.ZodOptional<z.ZodBoolean>;
includeAllProps: z.ZodOptional<z.ZodBoolean>;
noWait: z.ZodOptional<z.ZodBoolean>;
suppressDryRunNotice: z.ZodOptional<z.ZodBoolean>;
wizard: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
includeAllProps?: boolean | undefined;
designSystemId?: string | undefined;
dryRun?: boolean | undefined;
exclude?: string[] | undefined;
package?: string | string[] | undefined;
noWait?: boolean | undefined;
suppressDryRunNotice?: boolean | undefined;
wizard?: boolean | undefined;
}, {
includeAllProps?: boolean | undefined;
designSystemId?: string | undefined;
dryRun?: boolean | undefined;
exclude?: string[] | undefined;
package?: string | string[] | undefined;
noWait?: boolean | undefined;
suppressDryRunNotice?: boolean | undefined;
wizard?: boolean | undefined;
}>;
export type AnalyzeCommandConfig = z.infer<typeof AnalyzeCommandConfigSchema>;
export type ScannerType = "all" | "components" | "usage";
type UploadScannerType = Exclude<ScannerType, "all">;
export type AnalyzeTarget = {
importFrom: string | string[];
rootDir: string;
};
type ComponentUsageSnapshot = {
meta?: {
importFromPackages?: string[];
};
packages?: Record<string, {
records?: Record<string, {
count?: number;
}>;
}>;
};
export declare const analyzeFlags: {
designSystemId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
package: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
exclude: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
dryRun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
includeAllProps: import("@oclif/core/interfaces").BooleanFlag<boolean>;
noWait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
suppressDryRunNotice: import("@oclif/core/interfaces").BooleanFlag<boolean>;
wizard: import("@oclif/core/interfaces").BooleanFlag<boolean>;
};
export type AnalyzeResult = "completed" | "retry-packages";
export type SelectedDesignSystem = {
id: string;
name: string;
workspaceId: string;
workspacePlan: string;
};
export declare abstract class AnalyzeCommandBase extends SentryCommand<AnalyzeCommandConfig> {
get commandId(): string;
get configSchema(): ZodType<AnalyzeCommandConfig>;
private logStepHeader;
protected isWizardMode(flags: AnalyzeCommandConfig): boolean;
protected promptIntro(): Promise<void>;
protected promptDesignSystemWizard(): Promise<SelectedDesignSystem>;
protected promptSourceScanIntro(): Promise<{
name: string;
relativePath: string;
}[]>;
protected promptPackageSelection(discovered: {
name: string;
relativePath: string;
}[]): Promise<string[]>;
protected promptScanScope(): Promise<"all" | "select">;
protected promptExcludePackageSelection(discovered: {
name: string;
relativePath: string;
}[]): Promise<string[] | undefined>;
private createAuthenticatedApiClient;
protected executeAnalyze(flags: AnalyzeCommandConfig, scannerType: ScannerType, wizardMode?: boolean, selectedDesignSystem?: SelectedDesignSystem): Promise<AnalyzeResult>;
protected fetchDesignSystemById(designSystemId: string): Promise<SelectedDesignSystem>;
private buildAdoptionUrl;
private printAnalysisComplete;
private persistAnalyzeConfig;
private uploadSnapshot;
private uploadSnapshotsWithConcurrency;
private startProcessingRun;
private createArchiveFromSnapshotRoot;
private logHttpError;
}
export declare function countUsageRecordsFromSnapshotPayload(usageJson: ComponentUsageSnapshot): number;
export declare function resolveAnalyzeTarget(input: {
importFrom: string | string[];
rootDir: string;
scannerType: UploadScannerType;
}): AnalyzeTarget | null;
export {};
//# sourceMappingURL=analyze-command.d.ts.map