@fabiospampinato/autogit
Version:
Define commands, using plugins, to execute across all your repositories.
99 lines • 8.3 kB
JavaScript
;
/* IMPORT */
Object.defineProperty(exports, "__esModule", { value: true });
var _ = require("lodash");
var minimist = require("minimist");
var os = require("os");
var path = require("path");
var untildify = require("untildify");
var autogit_command_shell_1 = require("autogit-command-shell");
var autogit_command_status_1 = require("autogit-command-status");
var argv = minimist(process.argv.slice(2));
/* CONFIG */
var Config = {
normalize: function (config) {
var normalizeGlob = function (glob) { return /^(\*|\/)/.test(glob) ? glob : "**/" + glob; };
var filterGloblAll = function (glob) { return glob !== '**/*'; };
config.verbose = config.verbose || config.dry;
config.repositories.roots = _.castArray(config.repositories.roots).map(untildify);
config.repositories.include = _.castArray(config.repositories.include).map(normalizeGlob);
config.repositories.exclude = _.castArray(config.repositories.exclude).map(normalizeGlob);
if (config.repositories.include.length > 1)
config.repositories.include = config.repositories.include.filter(filterGloblAll);
return config;
},
init: function () {
var config = Config.normalize(Config.get.all());
_.extend(Config, config);
},
get: {
all: function () {
var castArray = function (x) { return _.castArray(x || []); };
var configs = [Config.get.defaults(), Config.get.local(), Config.get.dynamic()];
return _.mergeWith.apply(_, configs.concat([function (prev, next) {
if (!_.isArray(prev) && !_.isArray(next))
return;
return castArray(prev).concat(castArray(next));
}]));
},
defaults: function () {
return {
dry: false,
exitOnError: false,
parallel: 1,
pick: false,
verbose: true,
commands: {
status: autogit_command_status_1.default,
shell: autogit_command_shell_1.default
},
repositories: {
depth: 2,
roots: [
process.cwd()
],
include: [
'**/*'
],
exclude: [
'**/.*',
'**/_output',
'**/bower_components',
'**/build',
'**/dist',
'**/node_modules',
'**/out',
'**/output',
'**/static',
'**/target',
'**/third_party',
'**/vendor'
]
}
};
},
local: function () {
var localConfigPath = path.join(os.homedir(), '.autogit', 'config.js');
try {
return require(localConfigPath);
}
catch (e) { }
},
dynamic: function () {
var dry = argv.dry, v = argv.v, verbose = argv.verbose, i = argv.i, include = argv.include, e = argv.e, exclude = argv.exclude, p = argv.p, parallel = argv.parallel, pick = argv.pick;
return {
dry: dry,
parallel: [parallel, p].find(_.isNumber),
pick: pick,
verbose: [verbose, v].find(_.isBoolean),
repositories: {
include: [include, i].find(function (x) { return _.isString(x) || _.isArray(x); }),
exclude: [exclude, e].find(function (x) { return _.isString(x) || _.isArray(x); })
}
};
}
}
};
Config.init();
exports.default = Config;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsWUFBWTs7QUFFWiwwQkFBNEI7QUFDNUIsbUNBQXFDO0FBQ3JDLHVCQUF5QjtBQUN6QiwyQkFBNkI7QUFDN0IscUNBQXVDO0FBQ3ZDLCtEQUEwQztBQUMxQyxpRUFBNEM7QUFFNUMsSUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFHLENBQUMsQ0FBRSxDQUFFLENBQUM7QUFFbkQsWUFBWTtBQUVaLElBQU0sTUFBTSxHQUFHO0lBRWIsU0FBUyxZQUFHLE1BQU07UUFFaEIsSUFBTSxhQUFhLEdBQUcsVUFBQSxJQUFJLElBQUksT0FBQSxVQUFVLENBQUMsSUFBSSxDQUFHLElBQUksQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQU0sSUFBTSxFQUE5QyxDQUE4QyxDQUFDO1FBQzdFLElBQU0sY0FBYyxHQUFHLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxLQUFLLE1BQU0sRUFBZixDQUFlLENBQUM7UUFFL0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDOUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBRyxTQUFTLENBQUUsQ0FBQztRQUN4RixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFFLENBQUMsR0FBRyxDQUFHLGFBQWEsQ0FBRSxDQUFDO1FBQ2hHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUcsTUFBTSxD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