UNPKG

@halospv3/hce.shared-config

Version:

Automate commit message quality, changelogs, and CI/CD releases. Its `main` entry point is a Semantic Release config. Functions and classes are exposed for customization. An ESLint config, a Commitlint config, and addl. resources for .NET projects are als

65 lines 3.31 kB
import { MSBuildProject } from "./MSBuildProject.mjs"; import { NugetRegistryInfo } from "./NugetRegistryInfo.mjs"; import { Type } from "arktype"; import { Default } from "arktype/internal/attributes.ts"; //#region src/dotnet/helpers.d.ts /** * Build a prepareCmd string from .NET projects.\ * This will include a `dotnet publish` for each project's RID and TFM permutation,\ * `dotnet pack` for each project with output paths separated by NuGet Source and PackageId,\ * and `dotnet nuget sign` for each nupkg output directory. * @todo parse Solution files to publish all projects with default Publish parameters (as evaluated by MSBuild). * @param projectsToPublish An array of relative or full file paths of `.csproj` * projects -OR- an array of {@link MSBuildProject} objects. * The project paths will be passed to `dotnet publish` commands. * @param projectsToPackAndPush * Relative and/or full file paths of projects to pass to `dotnet pack`. If * string[], only the default NuGet Source will be used. If GitHub, GitLab, * etc. are also desired, pass {@link NugetRegistryInfo}[] * @param dotnetNugetSignOpts A {@link DotnetNugetSignOptions} object. The value * of the `--output` argument will be set to {@link ourDefaultPubDir} if `undefined`. * @returns A single string of CLI commands joined by ' && ' */ declare function configurePrepareCmd(projectsToPublish: string[] | MSBuildProject[], projectsToPackAndPush?: string[] | NugetRegistryInfo[], dotnetNugetSignOpts?: typeof DotnetNugetSignOptions.inferIn): Promise<string>; /** * Prepare the CLI command to push NuGet packages. This should added to the `publishCmd` option of `@semantic-release/exec` * * Ensure your verifyConditionsCmd is set to prevent releases failing due to bad tokens or packages! * See {@link NugetRegistryInfo#PackDummyPackage}, {@link NugetRegistryInfo#GetPushDummyCommand} * @param registryInfos an array of {@link NugetRegistryInfo} (or derived classes) instances. * @param packageOutputPath Default: `${cwd()}/publish`.\ * The directory at which dotnet outputs the given projects' packages. Passed to * `dotnet pack` via the `--output` argument. * @returns a string of `dotnet pack` and `dotnet push` commands, joined by ' && '. */ declare function configureDotnetNugetPush(registryInfos: NugetRegistryInfo[], packageOutputPath?: string): string; declare const DotnetNugetSignOptions: Type<{ timestamper: Default<string, "https://rfc3161.ai.moda/">; certificatePassword?: string | undefined; hashAlgorithm?: string | undefined; output?: string | undefined; overwrite?: true | undefined; timestampHashAlgorithm?: string | undefined; verbosity?: "q" | "quiet" | "m" | "minimal" | "n" | "normal" | "d" | "detailed" | "diag" | "diagnostic"; } & ({ certificatePath: string; certificateSubjectName: string; } | { certificatePath: string; certificateFingerprint: string; } | { certificateStoreName: string; certificateSubjectName: string; } | { certificateStoreName: string; certificateFingerprint: string; } | { certificateStoreLocation: string; certificateSubjectName: string; } | { certificateStoreLocation: string; certificateFingerprint: string; })>; //#endregion export { configureDotnetNugetPush, configurePrepareCmd }; //# sourceMappingURL=helpers.d.mts.map