UNPKG

@fabiospampinato/autogit

Version:

Define commands, using plugins, to execute across all your repositories.

99 lines 8.3 kB
"use strict"; /* 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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