@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
90 lines • 2.01 kB
TypeScript
/**
* Typed representation of a package.json file
*/
export interface PackageJson {
name: string;
version: string;
description?: string;
keywords?: string[];
homepage?: string;
bugs?: string | Bugs;
license?: string;
author?: string | Author;
readonly contributors?: string[] | Author[];
readonly files?: string[];
readonly main?: string;
readonly bin?: string | BinMap;
readonly man?: string | string[];
readonly directories?: Directories;
repository?: string | Repository;
readonly scripts?: ScriptsMap;
readonly config?: Config;
readonly dependencies?: DependencyMap;
readonly devDependencies?: DependencyMap;
readonly peerDependencies?: DependencyMap;
readonly optionalDependencies?: DependencyMap;
readonly bundledDependencies?: string[];
readonly engines?: Engines;
readonly os?: string[];
readonly cpu?: string[];
readonly preferGlobal?: boolean;
readonly private?: boolean;
readonly publishConfig?: PublishConfig;
}
/**
* An author or contributor
*/
export interface Author {
name: string;
email?: string;
homepage?: string;
}
/**
* A map of exposed bin commands
*/
export interface BinMap {
[commandName: string]: string;
}
/**
* A bugs link
*/
export interface Bugs {
email?: string;
url: string;
}
export interface Config {
name?: string;
config?: any;
}
/**
* A map of dependencies
*/
export interface DependencyMap {
[dependencyName: string]: string;
}
/**
* CommonJS package structure
*/
export interface Directories {
lib?: string;
bin?: string;
man?: string;
doc?: string;
example?: string;
}
export interface Engines {
node?: string;
npm?: string;
}
export interface PublishConfig {
registry?: string;
}
/**
* A project repository
*/
export interface Repository {
type: string;
url: string;
}
export declare type ScriptsMap = Record<string, string>;
//# sourceMappingURL=PackageJson.d.ts.map