simple git installed
This commit is contained in:
1 parent
e2a8f4be8e
commit
f2e744cb7e
276 files changed
+11110
-1
No files matched your search
+113
@@ -0,0 +1,113 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.GitLogger = exports.createLogger = exports.log = void 0;
|
||||
const debug_1 = require("debug");
|
||||
const utils_1 = require("./utils");
|
||||
debug_1.default.formatters.L = (value) => String(utils_1.filterHasLength(value) ? value.length : '-');
|
||||
debug_1.default.formatters.B = (value) => {
|
||||
if (Buffer.isBuffer(value)) {
|
||||
return value.toString('utf8');
|
||||
}
|
||||
return utils_1.objectToString(value);
|
||||
};
|
||||
/**
|
||||
* The shared debug logging instance
|
||||
*/
|
||||
exports.log = debug_1.default('simple-git');
|
||||
function prefixedLogger(to, prefix, forward) {
|
||||
if (!prefix || !String(prefix).replace(/\s*/, '')) {
|
||||
return !forward ? to : (message, ...args) => {
|
||||
to(message, ...args);
|
||||
forward(message, ...args);
|
||||
};
|
||||
}
|
||||
return (message, ...args) => {
|
||||
to(`%s ${message}`, prefix, ...args);
|
||||
if (forward) {
|
||||
forward(message, ...args);
|
||||
}
|
||||
};
|
||||
}
|
||||
function childLoggerName(name, childDebugger, { namespace: parentNamespace }) {
|
||||
if (typeof name === 'string') {
|
||||
return name;
|
||||
}
|
||||
const childNamespace = childDebugger && childDebugger.namespace || '';
|
||||
if (childNamespace.startsWith(parentNamespace)) {
|
||||
return childNamespace.substr(parentNamespace.length + 1);
|
||||
}
|
||||
return childNamespace || parentNamespace;
|
||||
}
|
||||
function createLogger(label, verbose, initialStep, infoDebugger = exports.log) {
|
||||
const labelPrefix = label && `[${label}]` || '';
|
||||
const spawned = [];
|
||||
const debugDebugger = (typeof verbose === 'string') ? infoDebugger.extend(verbose) : verbose;
|
||||
const key = childLoggerName(utils_1.filterType(verbose, utils_1.filterString), debugDebugger, infoDebugger);
|
||||
return step(initialStep);
|
||||
function destroy() {
|
||||
spawned.forEach(logger => logger.destroy());
|
||||
spawned.length = 0;
|
||||
}
|
||||
function child(name) {
|
||||
return utils_1.append(spawned, createLogger(label, debugDebugger && debugDebugger.extend(name) || name));
|
||||
}
|
||||
function sibling(name, initial) {
|
||||
return utils_1.append(spawned, createLogger(label, key.replace(/^[^:]+/, name), initial, infoDebugger));
|
||||
}
|
||||
function step(phase) {
|
||||
const stepPrefix = phase && `[${phase}]` || '';
|
||||
const debug = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || utils_1.NOOP;
|
||||
const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug);
|
||||
return Object.assign(debugDebugger ? debug : info, {
|
||||
key,
|
||||
label,
|
||||
child,
|
||||
sibling,
|
||||
debug,
|
||||
info,
|
||||
step,
|
||||
destroy,
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.createLogger = createLogger;
|
||||
/**
|
||||
* The `GitLogger` is used by the main `SimpleGit` runner to handle logging
|
||||
* any warnings or errors.
|
||||
*/
|
||||
class GitLogger {
|
||||
constructor(_out = exports.log) {
|
||||
this._out = _out;
|
||||
this.error = prefixedLogger(_out, '[ERROR]');
|
||||
this.warn = prefixedLogger(_out, '[WARN]');
|
||||
}
|
||||
silent(silence = false) {
|
||||
if (silence !== this._out.enabled) {
|
||||
return;
|
||||
}
|
||||
const { namespace } = this._out;
|
||||
const env = (process.env.DEBUG || '').split(',').filter(s => !!s);
|
||||
const hasOn = env.includes(namespace);
|
||||
const hasOff = env.includes(`-${namespace}`);
|
||||
// enabling the log
|
||||
if (!silence) {
|
||||
if (hasOff) {
|
||||
utils_1.remove(env, `-${namespace}`);
|
||||
}
|
||||
else {
|
||||
env.push(namespace);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (hasOn) {
|
||||
utils_1.remove(env, namespace);
|
||||
}
|
||||
else {
|
||||
env.push(`-${namespace}`);
|
||||
}
|
||||
}
|
||||
debug_1.default.enable(env.join(','));
|
||||
}
|
||||
}
|
||||
exports.GitLogger = GitLogger;
|
||||
//# sourceMappingURL=git-logger.js.map
|
||||
Reference in new issue
Block a user