@pagopa/dx-cli
Version:
A CLI useful to manage DX tools.
43 lines (42 loc) • 2.35 kB
TypeScript
import { ResultAsync } from "neverthrow";
import { z } from "zod/v4";
import { Dependencies } from "./dependencies.js";
import { ValidationCheckResult } from "./validation.js";
export declare const scriptSchema: z.ZodObject<{
name: z.core.$ZodBranded<z.ZodString, "ScriptName">;
script: z.ZodString;
}, z.core.$strip>;
export declare const dependencySchema: z.ZodObject<{
name: z.ZodString;
version: z.ZodString;
}, z.core.$strip>;
declare const PackageName: z.core.$ZodBranded<z.ZodString, "PackageName">;
export type PackageName = z.infer<typeof PackageName>;
declare const packageManagerSchema: z.ZodEnum<{
npm: "npm";
pnpm: "pnpm";
yarn: "yarn";
}>;
export declare const packageJsonSchema: z.ZodObject<{
dependencies: z.ZodPipe<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>, z.ZodTransform<Map<string, string>, Record<string, string> | undefined>>;
devDependencies: z.ZodPipe<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>, z.ZodTransform<Map<string, string>, Record<string, string> | undefined>>;
name: z.core.$ZodBranded<z.ZodString, "PackageName">;
packageManager: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodEnum<{
npm: "npm";
pnpm: "pnpm";
yarn: "yarn";
}>>>;
scripts: z.ZodPipe<z.ZodOptional<z.ZodRecord<z.core.$ZodBranded<z.ZodString, "ScriptName">, z.ZodString>>, z.ZodTransform<Map<string & z.core.$brand<"ScriptName">, string>, Record<string & z.core.$brand<"ScriptName">, string> | undefined>>;
}, z.core.$strip>;
export type Dependency = z.infer<typeof dependencySchema>;
export type PackageJson = z.infer<typeof packageJsonSchema>;
export type PackageJsonReader = {
getDependencies(cwd: string, type: "dev" | "prod"): ResultAsync<Map<Dependency["name"], Dependency["version"]>, Error>;
getRootRequiredScripts(): Map<Script["name"], Script["script"]>;
getScripts(cwd: string): ResultAsync<Map<Script["name"], Script["script"]>, Error>;
readPackageJson(cwd: string): ResultAsync<PackageJson, Error>;
};
export type PackageManager = z.infer<typeof packageManagerSchema>;
export type Script = z.infer<typeof scriptSchema>;
export declare const checkMonorepoScripts: (dependencies: Pick<Dependencies, "packageJsonReader">, repositoryRoot: string) => Promise<ValidationCheckResult>;
export {};