kopia lustrzana https://github.com/c9/core
Nicer representation of c9 list command
rodzic
24aba37278
commit
485f194359
|
@ -11,6 +11,10 @@ define(function(require, exports, module) {
|
||||||
var BASICAUTH = process.env.C9_TEST_AUTH;
|
var BASICAUTH = process.env.C9_TEST_AUTH;
|
||||||
var verbose = false;
|
var verbose = false;
|
||||||
|
|
||||||
|
var LIGHTBlUE = "\x1b[01;94m";
|
||||||
|
var RESETCOLOR = "\x1b[0m";
|
||||||
|
var PADDING = 2;
|
||||||
|
|
||||||
// Set up basic auth for api if needed
|
// Set up basic auth for api if needed
|
||||||
if (BASICAUTH) api.basicAuth = BASICAUTH;
|
if (BASICAUTH) api.basicAuth = BASICAUTH;
|
||||||
|
|
||||||
|
@ -39,7 +43,11 @@ define(function(require, exports, module) {
|
||||||
exec: function(argv) {
|
exec: function(argv) {
|
||||||
verbose = argv["verbose"];
|
verbose = argv["verbose"];
|
||||||
|
|
||||||
list(argv.json);
|
list(argv.json, function(err){
|
||||||
|
if (err)
|
||||||
|
console.error(err.message || err);
|
||||||
|
process.exit(err ? 1 : 0);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -50,6 +58,10 @@ define(function(require, exports, module) {
|
||||||
return (verbose ? JSON.stringify(err, 4, " ") : (typeof err == "string" ? err : err.message));
|
return (verbose ? JSON.stringify(err, 4, " ") : (typeof err == "string" ? err : err.message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function pad(str, nr){
|
||||||
|
return str + Array(nr - str.length).join(" ");
|
||||||
|
}
|
||||||
|
|
||||||
function list(asJson, callback){
|
function list(asJson, callback){
|
||||||
callback = callback || function(){};
|
callback = callback || function(){};
|
||||||
api.packages.get("", function(err, list){
|
api.packages.get("", function(err, list){
|
||||||
|
@ -63,8 +75,19 @@ define(function(require, exports, module) {
|
||||||
return callback(null, list);
|
return callback(null, list);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
var max = [0, 0, 0, 0];
|
||||||
list.forEach(function(item){
|
list.forEach(function(item){
|
||||||
console.log(item.name, "https://c9.io/packages/" + item.name);
|
max[0] = Math.max(max[0], item.name.length);
|
||||||
|
max[1] = Math.max(max[1], Math.min(100, item.description.split(".")[0].length));
|
||||||
|
max[2] = Math.max(max[2], item.name.length + 33);
|
||||||
|
max[3] = Math.max(max[3], (item.website || item.repository.url).length);
|
||||||
|
});
|
||||||
|
list.forEach(function(item){
|
||||||
|
console.log(
|
||||||
|
pad(item.name, max[0] + PADDING),
|
||||||
|
pad(item.description.split(".")[0], max[1] + PADDING),
|
||||||
|
LIGHTBlUE + pad("https://c9.io/profile/packages/" + item.name, max[2] + PADDING) + RESETCOLOR,
|
||||||
|
pad(item.website || item.repository.url, max[3]));
|
||||||
});
|
});
|
||||||
return callback(null, list);
|
return callback(null, list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -241,7 +241,7 @@ define(function(require, exports, module) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (json.description)
|
if (json.description)
|
||||||
return console.warn("WARNING: Description property in package.json will be ignored. README.md will be used.");
|
console.warn("WARNING: Description property in package.json will be ignored. README.md will be used.");
|
||||||
|
|
||||||
json.description = fs.readFileSync(join(cwd, "README.md"), "utf8");
|
json.description = fs.readFileSync(join(cwd, "README.md"), "utf8");
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue