npm-pkgbuild
Version:
create ArchLinux, RPM and Debian packages from npm packages
111 lines (110 loc) • 3.26 kB
text/typescript
/**
* @typedef {import('../publish.mjs').PublishingDetail} PublishingDetail
*/
/**
* @typedef {Object} Field
* @property {string} alias interchangeable field name
* @property {string} type
* @property {any} default
* @property {boolean} mandatory
*/
/**
* Base Packager
* @param {Object} properties
*/
export class Packager {
static get fields(): {};
/**
* @return {{named:object,others:string[]}}
*/
static get workspaceLayout(): {
named: object;
others: string[];
};
/**
* @param {Object} options
* @param {Object} variant
* @return {Promise<boolean>}
*/
static prepare(options: any, variant: any): Promise<boolean>;
/**
* Base Packager
* @param {Object} properties
*/
constructor(properties: any);
/**
* What is the package name in the package eco-system.
* @param {string} name
* @return {string} package name in the target eco-system
*/
packageName(name: string): string;
get hookMapping(): {};
hookContent(): AsyncGenerator<StringContentEntry, void, unknown>;
dependencyExpression(name: any, expression: any): any;
makeDepends(dependencies: any): any[];
get fileNameExtension(): any;
get fields(): any;
get properties(): any;
/**
* Create tmp directory.
* @return {Promise<string>} directory path
*/
get tmpdir(): Promise<string>;
/**
* Prepares artifact generation.
* @param {Object} options
* @param {Object} [publishingDetail]
* @returns {Promise<{properties:Object, destination:string, tmpdir:string, staging:string}>}
*/
prepare(options: any, publishingDetail?: any): Promise<{
properties: any;
destination: string;
tmpdir: string;
staging: string;
}>;
/**
* Execute package generation.
* @param {Object} sources
* @param {Object[]} transformer
* @param {PublishingDetail[]} publishingDetails
* @param {Object} options
* @param {function(string):string?} expander
* @return {Promise<string>} identifier of the resulting package
*/
create(sources: any, transformer: any[], publishingDetails: PublishingDetail[], options: any, expander: (arg0: string) => string | null): Promise<string>;
publish(artifact: any, publishingDetails: any, logger: any): Promise<void>;
#private;
}
export namespace NAME_FIELD {
let alias: string;
let type: string;
let mandatory: boolean;
}
export namespace VERSION_FIELD {
let alias_1: string;
export { alias_1 as alias };
let type_1: string;
export { type_1 as type };
let mandatory_1: boolean;
export { mandatory_1 as mandatory };
export function set(v: any): any;
}
export namespace DESCRIPTION_FIELD {
let alias_2: string;
export { alias_2 as alias };
let type_2: string;
export { type_2 as type };
let mandatory_2: boolean;
export { mandatory_2 as mandatory };
}
export type PublishingDetail = import("../publish.mjs").PublishingDetail;
export type Field = {
/**
* interchangeable field name
*/
alias: string;
type: string;
default: any;
mandatory: boolean;
};
import { StringContentEntry } from "content-entry";