improve typings

This commit is contained in:
Philipp Kunz 2016-09-04 17:56:56 +02:00
parent c4aa3a8926
commit 5858682946
5 changed files with 140 additions and 19 deletions

View File

@ -8,4 +8,4 @@ export declare type TBuildService = "docker";
/**
* builds for a specific service
*/
export declare let build: (commandArg: any) => plugins.q.Promise<{}>;
export declare let build: (commandArg: any) => plugins.q.Promise<any>;

View File

@ -1,14 +1,46 @@
/// <reference types="q" />
/// <reference types="node" />
import * as plugins from "./npmci.plugins";
/**
* builds a cwd of Dockerfiles by triggering a promisechain
*/
export declare let build: () => plugins.q.Promise<{}>;
export declare let readDockerfiles: () => plugins.q.Promise<{}>;
export declare let sortDockerfiles: (sortableArrayArg: Dockerfile[]) => plugins.q.Promise<{}>;
export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => plugins.q.Promise<{}>;
/**
* creates instance of class Dockerfile for all Dockerfiles in cwd
* @returns Promise<Dockerfile[]>
*/
export declare let readDockerfiles: () => plugins.q.Promise<Dockerfile[]>;
/**
* sorts Dockerfiles into a dependency chain
* @param sortableArrayArg an array of instances of class Dockerfile
* @returns Promise<Dockerfile[]>
*/
export declare let sortDockerfiles: (sortableArrayArg: Dockerfile[]) => plugins.q.Promise<Dockerfile[]>;
/**
* maps local Dockerfiles dependencies to the correspoding Dockerfile class instances
*/
export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => plugins.q.Promise<Dockerfile[]>;
/**
* builds the correspoding real docker image for each Dockerfile class instance
*/
export declare let buildDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>;
/**
* pushes the real Dockerfile images to a Docker registry
*/
export declare let pushDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>;
/**
* pulls corresponding real Docker images for instances of Dockerfile from a registry.
* This is needed if building, testing, and publishing of Docker images is carried out in seperate CI stages.
*/
export declare let pullDockerfileImages: (sortableArrayArg: Dockerfile[], registryArg?: string) => plugins.q.Promise<{}>;
/**
* tests all Dockerfiles in by calling class Dockerfile.test();
* @param sortedArrayArg Dockerfile[] that contains all Dockerfiles in cwd
*/
export declare let testDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>;
/**
* class Dockerfile represents a Dockerfile on disk in npmci
*/
export declare class Dockerfile {
filePath: string;
repo: string;
@ -27,13 +59,40 @@ export declare class Dockerfile {
fileContents?: string | Buffer;
read?: boolean;
});
/**
* builds the Dockerfile
*/
build(): plugins.q.Promise<{}>;
/**
* pushes the Dockerfile to a registry
*/
push(stageArg: any): plugins.q.Promise<{}>;
/**
* pulls the Dockerfile from a registry
*/
pull(registryArg: string): void;
/**
* tests the Dockerfile;
*/
test(): void;
/**
* gets the id of a Dockerfile
*/
getId(): string;
}
/**
*
*/
export declare let dockerFileVersion: (dockerfileNameArg: string) => string;
/**
*
*/
export declare let dockerBaseImage: (dockerfileContentArg: string) => string;
/**
*
*/
export declare let dockerTag: (registryArg: string, repoArg: string, versionArg: string, suffixArg?: string) => string;
/**
*
*/
export declare let cleanTagsArrayFunction: (dockerfileArrayArg: Dockerfile[], trackingArrayArg: Dockerfile[]) => string[];

File diff suppressed because one or more lines are too long

4
dist/npmci.build.js vendored
View File

@ -12,5 +12,7 @@ exports.build = function (commandArg) {
default:
plugins.beautylog.log("build target " + commandArg + " not recognised!");
}
;
return;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1jaS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFHM0MsTUFBWSxXQUFXLFdBQU0sc0JBSzdCLENBQUMsQ0FMa0Q7QUFPbkQ7O0dBRUc7QUFDUSxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CO1lBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7QUFDTCxDQUFDLENBQUEifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1jaS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFHM0MsTUFBWSxXQUFXLFdBQU0sc0JBSzdCLENBQUMsQ0FMa0Q7QUFPbkQ7O0dBRUc7QUFDUSxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CO1lBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFBQSxDQUFDO0lBQ0YsTUFBTSxDQUFDO0FBQ1gsQ0FBQyxDQUFBIn0=

View File

@ -23,29 +23,29 @@
"homepage": "https://gitlab.com/pushrocks/npmci#README",
"devDependencies": {
"npmts-g": "^5.2.8",
"should": "^10.0.0",
"typings-test": "^1.0.1"
"should": "^11.1.0",
"typings-test": "^1.0.2"
},
"dependencies": {
"@types/lodash": "^0.0.28",
"@types/q": "^0.0.27",
"@types/request": "^0.0.27",
"@types/shelljs": "^0.3.27",
"beautylog": "^5.0.18",
"@types/lodash": "^4.14.34",
"@types/q": "0.x.x",
"@types/request": "0.x.x",
"@types/shelljs": "^0.3.30",
"beautylog": "^5.0.23",
"gulp": "^3.9.1",
"gulp-function": "^1.3.6",
"lodash": "^4.14.1",
"lodash": "^4.15.0",
"projectinfo": "^1.0.3",
"q": "^1.4.1",
"request": "^2.74.0",
"shelljs": "^0.7.3",
"smartcli": "^1.0.4",
"smartfile": "^4.0.12",
"shelljs": "^0.7.4",
"smartcli": "^1.0.9",
"smartfile": "^4.0.15",
"smartparam": "^0.1.1",
"smartsocket": "^1.1.4",
"smartssh": "^1.1.5",
"smartstring": "^2.0.15",
"smartstring": "^2.0.17",
"through2": "^2.0.1",
"typings-global": "^1.0.6"
"typings-global": "^1.0.14"
}
}