@jsdevtools/npm-publish
Version:
Fast, easy publishing to NPM
30 lines (29 loc) • 1.12 kB
TypeScript
import { type Access, type Logger, type Options, type Strategy } from "./options.js";
import type { PackageManifest } from "./read-manifest.js";
export declare const TAG_LATEST = "latest";
/** Normalized and sanitized auth, publish, and runtime configurations. */
export interface NormalizedOptions {
registry: URL;
token: string;
tag: ConfigValue<string>;
access: ConfigValue<Access | undefined>;
provenance: ConfigValue<boolean>;
ignoreScripts: ConfigValue<boolean>;
dryRun: ConfigValue<boolean>;
strategy: ConfigValue<Strategy>;
logger: Logger | undefined;
temporaryDirectory: string;
}
/** A config value, and whether that value differs from default. */
export interface ConfigValue<TValue> {
value: TValue;
isDefault: boolean;
}
/**
* Normalizes and sanitizes options, and fills-in any default values.
*
* @param manifest Package metadata from package.json.
* @param options User-input options.
* @returns Validated auth and publish configuration.
*/
export declare function normalizeOptions(manifest: PackageManifest, options: Options): NormalizedOptions;