2016-05-30 00:28:47 +00:00
|
|
|
import "typings-global";
|
|
|
|
import * as plugins from "./npmci.plugins";
|
2016-06-01 03:42:37 +00:00
|
|
|
import {prepare} from "./npmci.prepare";
|
2016-05-30 01:40:07 +00:00
|
|
|
import {bash} from "./npmci.bash";
|
2016-06-03 14:26:28 +00:00
|
|
|
import * as env from "./npmci.env";
|
2016-05-30 00:28:47 +00:00
|
|
|
|
2016-06-01 03:42:37 +00:00
|
|
|
export let publish = (serviceArg:string = "npm") => {
|
|
|
|
switch (serviceArg){
|
|
|
|
case "npm":
|
2016-06-03 01:44:24 +00:00
|
|
|
return publishNpm();
|
2016-06-01 03:42:37 +00:00
|
|
|
case "docker":
|
2016-06-03 01:44:24 +00:00
|
|
|
return publishDocker();
|
2016-06-01 03:42:37 +00:00
|
|
|
}
|
|
|
|
};
|
2016-05-30 00:28:47 +00:00
|
|
|
|
2016-06-01 03:42:37 +00:00
|
|
|
let publishNpm = function(){
|
|
|
|
let done = plugins.q.defer();
|
|
|
|
prepare("npm")
|
|
|
|
.then(function(){
|
|
|
|
bash("npm publish");
|
|
|
|
plugins.beautylog.ok("Done!") ;
|
|
|
|
done.resolve();
|
|
|
|
});
|
|
|
|
return done.promise;
|
|
|
|
}
|
2016-05-29 20:54:59 +00:00
|
|
|
|
2016-06-01 03:42:37 +00:00
|
|
|
let publishDocker = function(){
|
2016-05-30 00:28:47 +00:00
|
|
|
let done = plugins.q.defer();
|
2016-06-01 03:42:37 +00:00
|
|
|
prepare("docker")
|
|
|
|
.then(function(){
|
2016-06-03 01:44:24 +00:00
|
|
|
bash
|
2016-06-03 14:26:28 +00:00
|
|
|
bash("docker push " + env.dockerTag());
|
2016-06-02 11:08:15 +00:00
|
|
|
done.resolve();
|
2016-06-01 03:42:37 +00:00
|
|
|
});
|
2016-05-30 00:28:47 +00:00
|
|
|
return done.promise;
|
2016-05-29 20:54:59 +00:00
|
|
|
};
|