@dashkite/tempo
Version:
Mono/polyrepo project management
108 lines (107 loc) • 11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default" //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS90ZW1wby9zcmMvY29tbWFuZC5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxPQUFBO0VBQUE7O0FBQUEsT0FBTyxFQUFQLE1BQUE7O0FBQ0EsT0FBTyxLQUFQLE1BQUE7O0FBQ0EsT0FBTyxDQUFBLE1BQVAsTUFBQTs7QUFDQSxPQUFBO0VBQVMsT0FBVDtDQUFBLE1BQUE7O0FBQ0EsT0FBTyxDQUFBLFFBQVAsTUFBQTs7QUFDQSxPQUFPLEdBQVAsTUFBQTs7QUFDQSxPQUFPLFFBQVAsTUFBQTs7QUFDQSxPQUFPLFFBQVAsTUFBQTs7QUFDQSxPQUFPLE1BQVAsTUFBQTs7QUFDQSxPQUFPLFNBQVAsTUFBQTs7QUFFQSxPQUFBLEdBRUU7RUFBQSxJQUFBLEVBQU0sUUFBQSxDQUFFLE9BQUYsQ0FBQSxFQUFBOztXQUVKLE1BQUEsUUFBQSxDQUFBLEdBQUUsSUFBRixDQUFBO0FBRUosVUFBQSxDQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUEsR0FBQSxFQUFBO29DQUZlLFNBQVMsMkJBRXhCOztNQUNNLElBQUcsT0FBTyxDQUFDLE9BQVg7UUFDRSxHQUFHLENBQUMsS0FBSixHQUFZLFFBRGQ7T0FBQSxNQUFBO1FBR0UsR0FBRyxDQUFDLEtBQUosR0FBWSxPQUhkOztNQUtBLEdBQUcsQ0FBQyxPQUFKLENBQVksTUFBTSxDQUFDLE9BQVAsQ0FBZTtRQUFBLEtBQUEsRUFBTyxPQUFPLENBQUM7TUFBZixDQUFmLENBQVo7TUFFQSxNQUFTLFFBQVEsQ0FBQztNQUVsQixPQUFBLDZDQUErQixNQUFNLENBQUM7TUFFdEMsUUFBUSxDQUFDLE9BQVQsR0FBbUIsT0FBTyxDQUFDO01BRTNCLEdBQUcsQ0FBQyxJQUFKLENBQ0U7UUFBQSxPQUFBLEVBQVMsSUFBVDtRQUNBLE9BQUEsRUFBUyxDQUFBLE9BQUEsQ0FBQSxDQUFZLEtBQUEsQ0FBQSxDQUFPLENBQUMsTUFBUixDQUFlLHNCQUFmLENBQVosQ0FBQTtNQURULENBREY7TUFJQSxRQUFBLEdBQVcsQ0FBQSxNQUFNLFNBQUEsQ0FBVSxPQUFWLEVBQW1CLE1BQUEsUUFBQSxDQUFBLENBQUE7ZUFDbEMsQ0FBQSxNQUFNLE9BQU8sQ0FBQyxLQUFSLENBQWMsSUFBZCxFQUFvQixDQUFFLEdBQUEsSUFBRixFQUFXLE9BQVgsQ0FBcEIsQ0FBTjtNQURrQyxDQUFuQixDQUFOO01BR1gsR0FBRyxDQUFDLElBQUosQ0FDRTtRQUFBLE9BQUEsRUFBUyxJQUFUO1FBQ0EsT0FBQSxFQUFTLENBQUEsWUFBQSxDQUFBLENBQWdCLFFBQWhCLENBQUEsQ0FBQTtNQURULENBREY7YUFJQSxHQUFHLENBQUMsS0FBSixDQUFVLEVBQUUsQ0FBQyxpQkFBSCxDQUFxQixPQUFyQixDQUFWO0lBM0JGO0VBRkk7QUFBTjs7QUErQkYsT0FBQSxRQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZTIGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIlxuaW1wb3J0ICogYXMgRm4gZnJvbSBcIkBkYXNoa2l0ZS9qb3kvZnVuY3Rpb25cIlxuaW1wb3J0IHsgZ2VuZXJpYyB9IGZyb20gXCJAZGFzaGtpdGUvam95L2dlbmVyaWNcIlxuaW1wb3J0ICogYXMgVHlwZSBmcm9tIFwiQGRhc2hraXRlL2pveS90eXBlXCJcbmltcG9ydCBsb2cgZnJvbSBcIkBkYXNoa2l0ZS9rYWlrb1wiXG5pbXBvcnQgTWV0YXJlcG8gZnJvbSBcIi4vbWV0YXJlcG9cIlxuaW1wb3J0IFByb2dyZXNzIGZyb20gXCIuL2hlbHBlcnMvcHJvZ3Jlc3NcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9oZWxwZXJzL2xvZ2dpbmdcIlxuaW1wb3J0IGJlbmNobWFyayBmcm9tIFwiLi9oZWxwZXJzL2JlbmNobWFya1wiXG5cbkNvbW1hbmQgPVxuXG4gIHdyYXA6ICggaGFuZGxlciApIC0+XG4gICAgIyBpZ25vcmUgdGhlIGNvbW1hbmRlciBvYmplY3QgaXRzZWxmXG4gICAgKCBhcmdzLi4uLCBvcHRpb25zLCBfICkgLT5cblxuICAgICAgIyBjb25maWd1cmUgbG9nZ2luZ1xuICAgICAgaWYgb3B0aW9ucy52ZXJib3NlXG4gICAgICAgIGxvZy5sZXZlbCA9IFwiZGVidWdcIlxuICAgICAgZWxzZVxuICAgICAgICBsb2cubGV2ZWwgPSBcImluZm9cIlxuXG4gICAgICBsb2cub2JzZXJ2ZSBMb2dnZXIucHJpbnRlciBxdWlldDogb3B0aW9ucy5wcm9ncmVzc1xuXG4gICAgICBhd2FpdCBkbyBNZXRhcmVwby5pbml0aWFsaXplXG5cbiAgICAgIGxvZ2ZpbGUgPSBvcHRpb25zLmxvZ2ZpbGUgPyBkbyBMb2dnZXIubWFrZUZpbGVcblxuICAgICAgUHJvZ3Jlc3MuZW5hYmxlZCA9IG9wdGlvbnMucHJvZ3Jlc3NcblxuICAgICAgbG9nLmluZm8gXG4gICAgICAgIGNvbnNvbGU6IHRydWVcbiAgICAgICAgbWVzc2FnZTogXCJydW4gYXQgI3soIGRheWpzKCkuZm9ybWF0IFwiZGRkIE1NTSBERCBoOm1tOnNzIEFcIiApfVwiXG5cbiAgICAgIGR1cmF0aW9uID0gYXdhaXQgYmVuY2htYXJrIFwidGVtcG9cIiwgLT5cbiAgICAgICAgYXdhaXQgaGFuZGxlci5hcHBseSBudWxsLCBbIGFyZ3MuLi4sIG9wdGlvbnMgXVxuICAgICAgXG4gICAgICBsb2cuaW5mbyBcbiAgICAgICAgY29uc29sZTogdHJ1ZVxuICAgICAgICBtZXNzYWdlOiBcImZpbmlzaGVkIGluICN7IGR1cmF0aW9ufXNcIlxuXG4gICAgICBsb2cud3JpdGUgRlMuY3JlYXRlV3JpdGVTdHJlYW0gbG9nZmlsZVxuXG5leHBvcnQgZGVmYXVsdCBDb21tYW5kIl19
//# sourceURL=/@dashkite/tempo/src/command.coffee
, {
enumerable: true,
get: function() {
return _default;
}
});
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
const _dayjs = /*#__PURE__*/ _interop_require_default(require("dayjs"));
const _function = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/joy/function"));
const _generic = require("@dashkite/joy/generic");
const _type = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/joy/type"));
const _kaiko = /*#__PURE__*/ _interop_require_default(require("@dashkite/kaiko"));
const _metarepo = /*#__PURE__*/ _interop_require_default(require("./metarepo"));
const _progress = /*#__PURE__*/ _interop_require_default(require("./helpers/progress"));
const _logging = /*#__PURE__*/ _interop_require_default(require("./helpers/logging"));
const _benchmark = /*#__PURE__*/ _interop_require_default(require("./helpers/benchmark"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var Command, splice = [].splice;
Command = {
wrap: function(handler) {
// ignore the commander object itself
return async function(...args) {
var _, duration, logfile, options, ref, ref1;
ref = args, [...args] = ref, [options, _] = splice.call(args, -2);
// configure logging
if (options.verbose) {
_kaiko.default.level = "debug";
} else {
_kaiko.default.level = "info";
}
_kaiko.default.observe(_logging.default.printer({
quiet: options.progress
}));
await _metarepo.default.initialize();
logfile = (ref1 = options.logfile) != null ? ref1 : _logging.default.makeFile();
_progress.default.enabled = options.progress;
_kaiko.default.info({
console: true,
message: `run at ${(0, _dayjs.default)().format("ddd MMM DD h:mm:ss A")}`
});
duration = await (0, _benchmark.default)("tempo", async function() {
return await handler.apply(null, [
...args,
options
]);
});
_kaiko.default.info({
console: true,
message: `finished in ${duration}s`
});
return _kaiko.default.write(_nodefs.default.createWriteStream(logfile));
};
}
};
const _default = Command;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL3RlbXBvL3NyYy9jb21tYW5kLmNvZmZlZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZTIGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIlxuaW1wb3J0ICogYXMgRm4gZnJvbSBcIkBkYXNoa2l0ZS9qb3kvZnVuY3Rpb25cIlxuaW1wb3J0IHsgZ2VuZXJpYyB9IGZyb20gXCJAZGFzaGtpdGUvam95L2dlbmVyaWNcIlxuaW1wb3J0ICogYXMgVHlwZSBmcm9tIFwiQGRhc2hraXRlL2pveS90eXBlXCJcbmltcG9ydCBsb2cgZnJvbSBcIkBkYXNoa2l0ZS9rYWlrb1wiXG5pbXBvcnQgTWV0YXJlcG8gZnJvbSBcIi4vbWV0YXJlcG9cIlxuaW1wb3J0IFByb2dyZXNzIGZyb20gXCIuL2hlbHBlcnMvcHJvZ3Jlc3NcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9oZWxwZXJzL2xvZ2dpbmdcIlxuaW1wb3J0IGJlbmNobWFyayBmcm9tIFwiLi9oZWxwZXJzL2JlbmNobWFya1wiXG5cbkNvbW1hbmQgPVxuXG4gIHdyYXA6ICggaGFuZGxlciApIC0+XG4gICAgIyBpZ25vcmUgdGhlIGNvbW1hbmRlciBvYmplY3QgaXRzZWxmXG4gICAgKCBhcmdzLi4uLCBvcHRpb25zLCBfICkgLT5cblxuICAgICAgIyBjb25maWd1cmUgbG9nZ2luZ1xuICAgICAgaWYgb3B0aW9ucy52ZXJib3NlXG4gICAgICAgIGxvZy5sZXZlbCA9IFwiZGVidWdcIlxuICAgICAgZWxzZVxuICAgICAgICBsb2cubGV2ZWwgPSBcImluZm9cIlxuXG4gICAgICBsb2cub2JzZXJ2ZSBMb2dnZXIucHJpbnRlciBxdWlldDogb3B0aW9ucy5wcm9ncmVzc1xuXG4gICAgICBhd2FpdCBkbyBNZXRhcmVwby5pbml0aWFsaXplXG5cbiAgICAgIGxvZ2ZpbGUgPSBvcHRpb25zLmxvZ2ZpbGUgPyBkbyBMb2dnZXIubWFrZUZpbGVcblxuICAgICAgUHJvZ3Jlc3MuZW5hYmxlZCA9IG9wdGlvbnMucHJvZ3Jlc3NcblxuICAgICAgbG9nLmluZm8gXG4gICAgICAgIGNvbnNvbGU6IHRydWVcbiAgICAgICAgbWVzc2FnZTogXCJydW4gYXQgI3soIGRheWpzKCkuZm9ybWF0IFwiZGRkIE1NTSBERCBoOm1tOnNzIEFcIiApfVwiXG5cbiAgICAgIGR1cmF0aW9uID0gYXdhaXQgYmVuY2htYXJrIFwidGVtcG9cIiwgLT5cbiAgICAgICAgYXdhaXQgaGFuZGxlci5hcHBseSBudWxsLCBbIGFyZ3MuLi4sIG9wdGlvbnMgXVxuICAgICAgXG4gICAgICBsb2cuaW5mbyBcbiAgICAgICAgY29uc29sZTogdHJ1ZVxuICAgICAgICBtZXNzYWdlOiBcImZpbmlzaGVkIGluICN7IGR1cmF0aW9ufXNcIlxuXG4gICAgICBsb2cud3JpdGUgRlMuY3JlYXRlV3JpdGVTdHJlYW0gbG9nZmlsZVxuXG5leHBvcnQgZGVmYXVsdCBDb21tYW5kIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OzsrREFBQTs4REFDQTtrRUFDQTt5QkFDQTs4REFDQTs4REFDQTtpRUFDQTtpRUFDQTtnRUFDQTtrRUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFUQSxJQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUEsQ0FBQSxNQUFBO0FBV0EsT0FBQSxHQUVFO0lBQUEsSUFBQSxFQUFNLFFBQUEsQ0FBRSxPQUFGLENBQUEsRUFBQTs7ZUFFSixNQUFBLFFBQUEsQ0FBQSxHQUFFLElBQUYsQ0FBQTtZQUVKLElBQUEsQ0FBQSxFQUFBLFFBQUEsRUFBQSxPQUFBLEVBQUEsT0FBQSxFQUFBLEdBQUEsRUFBQTswQ0FGZSxTQUFTLEVBQUEsR0FBQSxPQUFBLElBQUEsQ0FBQSxNQUFBLENBQUEsR0FFeEI7O1lBQ00sSUFBRyxPQUFPLENBQUMsT0FBWCxFQUFBO2dCQUNFLGNBQUcsQ0FBQyxLQUFKLEdBQVksUUFEZDthQUFBLE1BQUE7Z0JBR0UsY0FBRyxDQUFDLEtBQUosR0FBWSxPQUhkOztZQUtBLGNBQUcsQ0FBQyxPQUFKLENBQVksZ0JBQU0sQ0FBQyxPQUFQLENBQWU7Z0JBQUEsS0FBQSxFQUFPLE9BQU8sQ0FBQyxRQUFBO1lBQWYsQ0FBZixDQUFaO1lBRUEsTUFBUyxpQkFBUSxDQUFDLFVBQUE7WUFFbEIsT0FBQSxHQUFBLENBQUEsT0FBQSxRQUFBLE9BQUEsS0FBQSxPQUFBLE9BQStCLGdCQUFNLENBQUMsUUFBQTtZQUV0QyxpQkFBUSxDQUFDLE9BQVQsR0FBbUIsT0FBTyxDQUFDLFFBQUE7WUFFM0IsY0FBRyxDQUFDLElBQUosQ0FDRTtnQkFBQSxPQUFBLEVBQVMsSUFBVDtnQkFDQSxPQUFBLEVBQVMsQ0FBQSxPQUFBLENBQUEsS0FBWSxjQUFBLENBQUEsQ0FBTyxFQUFDLE1BQVIsQ0FBZSxzQkFBZixDQUFaLENBQUEsQ0FBQTtZQURULENBREY7WUFJQSxRQUFBLEdBQVcsVUFBTSxrQkFBQSxFQUFVLE9BQVYsRUFBbUIsTUFBQSxRQUFBLENBQUEsQ0FBQTt1QkFDbEMsTUFBTSxPQUFPLENBQUMsS0FBUixDQUFjLElBQWQsRUFBb0IsQ0FBRTt1QkFBQSxJQUFGO29CQUFXLE9BQVg7aUJBQXBCLENBQU47WUFEa0MsQ0FBbkIsQ0FBTjtZQUdYLGNBQUcsQ0FBQyxJQUFKLENBQ0U7Z0JBQUEsT0FBQSxFQUFTLElBQVQ7Z0JBQ0EsT0FBQSxFQUFTLENBQUEsWUFBQSxDQUFBLENBQWdCLFFBQWhCLENBQUEsQ0FBQSxDQUFBO1lBRFQsQ0FERjttQkFJQSxjQUFHLENBQUMsS0FBSixDQUFVLGVBQUUsQ0FBQyxpQkFBSCxDQUFxQixPQUFyQixDQUFWO1FBM0JGO0lBRkk7QUFBTjtNQStCRixPQUFBLElBQWUifQ==