Browse Source

Current Build

production
chess 3 years ago
parent
commit
b47d6ef87a
1 changed files with 137 additions and 200 deletions
  1. 137
    200
      i.js

+ 137
- 200
i.js View File

/* Version: 1.0.0 - August 11, 2021 17:45:09 */
/* Version: 1.0.0 - August 23, 2021 14:13:43 */
'use strict'; 'use strict';


var path$1 = require('path'); var path$1 = require('path');
return hooks; return hooks;


}))); })));
}, "/$$rollup_base$$/node_modules/moment");
}, "E:/elixir/production_A/bbhverse/node_modules/moment");


let array8 = arrayUntyped, let array8 = arrayUntyped,
array16 = arrayUntyped, array16 = arrayUntyped,
} }


var v3 = v35('v3', 0x30, md5); var v3 = v35('v3', 0x30, md5);
var v3$1 = v3;


function v4(options, buf, offset) { function v4(options, buf, offset) {
options = options || {}; options = options || {};
} }


var v5 = v35('v5', 0x50, sha1); var v5 = v35('v5', 0x50, sha1);
var v5$1 = v5;


var nil = '00000000-0000-0000-0000-000000000000'; var nil = '00000000-0000-0000-0000-000000000000';


var esmBrowser = /*#__PURE__*/Object.freeze({ var esmBrowser = /*#__PURE__*/Object.freeze({
__proto__: null, __proto__: null,
v1: v1, v1: v1,
v3: v3$1,
v3: v3,
v4: v4, v4: v4,
v5: v5$1,
v5: v5,
NIL: nil, NIL: nil,
version: version$1, version: version$1,
validate: validate, validate: validate,
parse: parse$1 parse: parse$1
}); });


var require$$1$1 = /*@__PURE__*/getAugmentedNamespace(esmBrowser);
var require$$1 = /*@__PURE__*/getAugmentedNamespace(esmBrowser);


// var __g = __G.__g; // var __g = __G.__g;
globalThis_1.mediator = mediator.apply({}); globalThis_1.mediator = mediator.apply({});




// var uuidv1 = require('uuid/v1'); // var uuidv1 = require('uuid/v1');
const { v1: uuidv1 } = require$$1$1;
const { v1: uuidv1 } = require$$1;
console.log(uuidv1); console.log(uuidv1);


// Mixins. // Mixins.
childrenIgnored: childrenIgnored_1 childrenIgnored: childrenIgnored_1
}; };


var require$$1 = glob_1;

var sync = globSync; var sync = globSync;
globSync.GlobSync = GlobSync$1; globSync.GlobSync = GlobSync$1;
require$$1.Glob;






return array return array
} }


// Approach:
//
// 1. Get the minimatch set
// 2. For each pattern in the set, PROCESS(pattern, false)
// 3. Store matches per-set, then uniq them
//
// PROCESS(pattern, inGlobStar)
// Get the first [n] items from pattern that are all strings
// Join these together. This is PREFIX.
// If there is no more remaining, then stat(PREFIX) and
// add to matches if it succeeds. END.
//
// If inGlobStar and PREFIX is symlink and points to dir
// set ENTRIES = []
// else readdir(PREFIX) as ENTRIES
// If fail, END
//
// with ENTRIES
// If pattern[n] is GLOBSTAR
// // handle the case where the globstar match is empty
// // by pruning it out, and testing the resulting pattern
// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)
// // handle other cases.
// for ENTRY in ENTRIES (not dotfiles)
// // attach globstar + tail onto the entry
// // Mark that this entry is a globstar match
// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)
//
// else // not globstar
// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)
// Test ENTRY against pattern[n]
// If fails, continue
// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])
//
// Caveat:
// Cache all stats and readdirs results to minimize syscall. Since all
// we ever care about is existence and directory-ness, we can just keep
// `true` for files, and [children,...] for directories, or `false` for
// things that don't exist.

var glob_1 = glob;

var EE = require$$0__default$1['default'].EventEmitter; var EE = require$$0__default$1['default'].EventEmitter;






var childrenIgnored = common.childrenIgnored; var childrenIgnored = common.childrenIgnored;
var isIgnored = common.isIgnored; var isIgnored = common.isIgnored;



function glob (pattern, options, cb) {
if (typeof options === 'function') cb = options, options = {};
if (!options) options = {};

if (options.sync) {
if (cb)
throw new TypeError('callback provided to sync glob')
return sync(pattern, options)
}

return new Glob(pattern, options, cb)
}

glob.sync = sync;
var GlobSync = glob.GlobSync = sync.GlobSync;

// old api surface
glob.glob = glob;

function extend (origin, add) {
if (add === null || typeof add !== 'object') {
return origin
}

var keys = Object.keys(add);
var i = keys.length;
while (i--) {
origin[keys[i]] = add[keys[i]];
}
return origin
}

glob.hasMagic = function (pattern, options_) {
var options = extend({}, options_);
options.noprocess = true;

var g = new Glob(pattern, options);
var set = g.minimatch.set;

if (!pattern)
return false

if (set.length > 1)
return true

for (var j = 0; j < set[0].length; j++) {
if (typeof set[0][j] !== 'string')
return true
}

return false
};

glob.Glob = Glob;
var GlobSync = sync.GlobSync;
inherits(Glob, EE); inherits(Glob, EE);
function Glob (pattern, options, cb) { function Glob (pattern, options, cb) {
if (typeof options === 'function') { if (typeof options === 'function') {






const BUILD_VERSION = 'Version: 1.0.0 - built on August 11, 2021 17:45:09';
const BUILD_VERSION = 'Version: 1.0.0 - built on August 23, 2021 14:13:43';
const runtimestamp = (new Date()).getTime(); const runtimestamp = (new Date()).getTime();
function getVersion() { return BUILD_VERSION; } function getVersion() { return BUILD_VERSION; }
console.log(getVersion()); console.log(getVersion());
const cliargs = bbhverse.cliargs; const cliargs = bbhverse.cliargs;
const processedArgs = cliargs(process.argv.slice(2)); const processedArgs = cliargs(process.argv.slice(2));
console.dir(processedArgs); console.dir(processedArgs);
// PB : TODO -- defaults for valuless arguments if passed.
// Object.keys(processedArgs).forEach(a=>{
// if(Object.prototype.toString.call(processedArgs[a]) === '[object Undefined]' || !processedArgs[a]) || trim(processedArgs[a])) == '') {

// }
// })

require$$1.sync;


var ENV = Object.assign({}, process.env); // Shallow clone it. var ENV = Object.assign({}, process.env); // Shallow clone it.


var getTaskWithoutElevation = function(tasdef){ var getTaskWithoutElevation = function(tasdef){
return ()=>{ return ()=>{
if(!processedArgs.runas) { return tasdef.regularpulltasks(); } if(!processedArgs.runas) { return tasdef.regularpulltasks(); }
else Promise.resolve(true);
} }
}; };


// git remote equivalents... // git remote equivalents...
// git branch --set-upstream-to=elixir-unc/master master // git branch --set-upstream-to=elixir-unc/master master
// git push --set-upstream elixir-unc branch.. // git push --set-upstream elixir-unc branch..
, 'remote': (args) => {
// Subcommands!
if(!processedArgs.v) return false;

var serial_perform = (repo) => {
var options = { cwd: instanceroot + '/' + repo };
return [
['git', ['remote', '-v'], options]
]
};

var x = (args) => {
var tasq = () => {
// console.log(args)
return nodeShellExec.apply(null, args).catch(e => {
// We continue on failure.
console.error(tasq.toString());
})
};
tasq.toString = function(){
return JSON.stringify(args)
};
return tasq;
};

var perform = (dir) => {
return any(serial_perform(dir.name).map(x))
};

dirs(perform);
}

, 'remote set-url': (args) => { , 'remote set-url': (args) => {
// git remote set-url elixir-unc //10.10.5.60/gitrepo/chess/bbhverse // git remote set-url elixir-unc //10.10.5.60/gitrepo/chess/bbhverse
var __args = { var __args = {
}; };
var perform_git_seturl = (dir) => { var perform_git_seturl = (dir) => {
op['is-git-repo'](dir).then((logEntry) => { op['is-git-repo'](dir).then((logEntry) => {
any(serial_perform_git_seturl(dir.name).map(x));
return any(serial_perform_git_seturl(dir.name).map(x))
}).catch((e) => { }).catch((e) => {
// console.log('Failed : ' + dir.name) // console.log('Failed : ' + dir.name)
}); });
} }
, getpulltask(def){ , getpulltask(def){


def = (def ? (
def.requiresElevation = true,
def.reqularRepos = def.repos,
def.elevatedRepos = def.elevatedRunasRepos
// def can be an instance config
// Or an object with many repos and elevated repos
// Or a single repo ( Either Elevated or normal. )


) : false) || {
requiresElevation : true,
reqularRepos : gitRepos,
elevatedRepos : elevatedRunasRepos
def = def || {
repos : repomanifest.repos,
elevated : repomanifest.elevated
}; };


var elevatedpulltasks = null;
if(def.repo) {
// Single repo case.
if(def.repo.requiresElevation) {
elevatedpulltasks = function() {
return performPull(def.repo).then(() => {
return true;
}).catch((e) => {
console.error(e);
})
};
return
}
else {
var regularpulltasks = function(){
var pendingpulls = [];
pendingpulls.push(performPull(def.repo));
return Promise.all(pendingpulls).finally(Traq.finally)
};
}
if(elevatedpulltasks) return getTaskWithElevation( { elevatedpulltasks, regularpulltasks} )
else return getTaskWithoutElevation({ regularpulltasks})
}
console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`);
// console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`)
console.dir(def); console.dir(def);


Object.assign({}, process.env); // Shallow clone it. Object.assign({}, process.env); // Shallow clone it.


processedArgs.useGitPull || false; processedArgs.useGitPull || false;


if(def.elevatedRepos || def.reqularRepos) {
if(def.elevatedRepos) def.requiresElevation = true;
if(def.elevated || def.repos) {
if(def.elevated) def.requiresElevation = true;
else delete def.requiresElevation; else delete def.requiresElevation;
} }
else { else {
if(def.requiresElevation) def.elevatedRepos = [def];
else def.reqularRepos = [def];
if(def.requiresElevation) def.elevated = [def];
else def.repos = [def];
} }


var elevatedpulltasks = null;
var regularpulltasks = function(){ return Promise.resolve(true) }; var regularpulltasks = function(){ return Promise.resolve(true) };
if(def.elevatedRepos){
if(def.elevated){
elevatedpulltasks = function() { elevatedpulltasks = function() {
return any(def.elevatedRepos.map((def) => performPull(def.repo))).then(() => {
return any(def.elevated.map((def) => performPull(def.repo))).then(() => {
return true; return true;
}).catch((e) => { }).catch((e) => {
console.error(e); console.error(e);
}) })
}; };
} }
if(def.reqularRepos) {
if(def.repos) {
var regularpulltasks = function(){ var regularpulltasks = function(){
var pendingpulls = []; var pendingpulls = [];
def.reqularRepos.forEach((def) => { pendingpulls.push(performPull(def.repo)); });
def.repos.forEach((def) => { pendingpulls.push(performPull(def.repo)); });
return Promise.all(pendingpulls).finally(Traq.finally) return Promise.all(pendingpulls).finally(Traq.finally)
}; };
} }
// The main elxr cli process // The main elxr cli process
function elxrworker() { function elxrworker() {
var subcommandlabels = { var subcommandlabels = {
remote : `remote ${processedArgs._[1]}`
remote : (`remote ${processedArgs._[1] || ''}`).trim()
}; };


var __runcmd = function (label) { var __runcmd = function (label) {
}) })
} }


var mergeObjByKey = function(arrOfObjs, keyName) {

var keyedDistinct = {};
var distinctArrOfObjs = [];

arrOfObjs.forEach( o => {
if(o) (keyedDistinct[o[keyName]] || (keyedDistinct[o[keyName]] = []) ).push(o);
});
Object.keys(keyedDistinct).forEach(key => {
distinctArrOfObjs.push( bbhverse.assign( ...keyedDistinct[key] ) ); // PB : TODO -- Shallow use utils.assign
});

return distinctArrOfObjs;
};

var cacheWriteInstanceConfig = function(chessinstances){
var instanceName = chessinstances['current_run'].instanceName;
var node_env = chessinstances['current_run'].node_env;
chessinstances[instanceName][node_env].repos = mergeObjByKey(chessinstances[instanceName][node_env].repos, 'repo') ;
chessinstances[instanceName][node_env].elevated = mergeObjByKey(chessinstances[instanceName][node_env].elevated, 'repo') ;
fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' });
};

var acquireConfig = function (selected, chessinstances) { var acquireConfig = function (selected, chessinstances) {


var configrepo = selected.instanceName + '-config-' + selected.node_env; var configrepo = selected.instanceName + '-config-' + selected.node_env;
chessinstances[selected.instanceName][selected.node_env] = chessinstances[selected.instanceName][selected.node_env] || {}; chessinstances[selected.instanceName][selected.node_env] = chessinstances[selected.instanceName][selected.node_env] || {};
chessinstances['current_run'] = { instanceName: selected.instanceName, node_env: selected.node_env }; chessinstances['current_run'] = { instanceName: selected.instanceName, node_env: selected.node_env };
// Config from server always override merges into selection ecept for the current selection. // Config from server always override merges into selection ecept for the current selection.
// PB : TODO -- utils.assign Array merges are non-distinct...
selectedinstance = bbhverse.assign(chessinstances[selected.instanceName][selected.node_env], selected, repomanifest); selectedinstance = bbhverse.assign(chessinstances[selected.instanceName][selected.node_env], selected, repomanifest);
// chessinstances[selectedinstance.instanceName][selectedinstance.node_env] = selectedinstance; // chessinstances[selectedinstance.instanceName][selectedinstance.node_env] = selectedinstance;
fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' });
cacheWriteInstanceConfig(chessinstances);
selectedinstance = chessinstances[selected.instanceName][selected.node_env];
// PB : TODO -- We should probably write the new server config also... // PB : TODO -- We should probably write the new server config also...
selectedinstance.reposerver = selectedinstance.reposerver || selectedinstance.reposervers[0]; // PB : TODO -- Attempt first one that is available and online... selectedinstance.reposerver = selectedinstance.reposerver || selectedinstance.reposervers[0]; // PB : TODO -- Attempt first one that is available and online...
ENV.NODE_ENV = selectedinstance.node_env; ENV.NODE_ENV = selectedinstance.node_env;
selectedinstance = Object.assign(detectedInstance, clioverrides); selectedinstance = Object.assign(detectedInstance, clioverrides);
var todo = Promise.resolve(true); var todo = Promise.resolve(true);
var promptkeys = { 'instanceName' : processedArgs._[1] };

var reconfirm = {
'instanceName' : selectedinstance['instanceName'] === 'chess'
};
var prompts = [];
var eachPrompt = function(k, i, a){
// No local instances config found. We use a default initialized instance available in selectedinstance
// Confirm those that were not supplied as user choices in runtime args and proceed to reattempt.
if(promptkeys[k] && selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined && selectedinstance[k] === undefined
|| reconfirm[k]) {
prompts.push(async ()=>{
// PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked.
// We take a snapshot... Shallow.. !! If required deep should be used based on use case.
// If latest altered state is required we can reerence this directly.
// var asyncthis = Object.assign(this);
Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] ));
return await selectedinstance[k]
});
}
delete promptkeys[k];
};
try { try {
chessinstances = acquirelocalinstances(selectedinstance); chessinstances = acquirelocalinstances(selectedinstance);
var promptkeys = {
'instanceName' : processedArgs._[1]
};

var reconfirm = {
'instanceName' : true
};

initinstances(chessinstances, selectedinstance); initinstances(chessinstances, selectedinstance);
var instanceNameChoices = new Set(Object.keys( chessinstances) ); var instanceNameChoices = new Set(Object.keys( chessinstances) );
instanceNameChoices.delete('current_run'); instanceNameChoices.delete('current_run');
instanceNameChoices.add(selectedinstance['instanceName']); instanceNameChoices.add(selectedinstance['instanceName']);
instanceNameChoices.add(promptkeys['instanceName']);
if(promptkeys['instanceName']) instanceNameChoices.add(promptkeys['instanceName']);
var choices = { var choices = {
'instanceName' : Array.from(instanceNameChoices) 'instanceName' : Array.from(instanceNameChoices)
, 'reposerver' : selectedinstance['reposervers'] , 'reposerver' : selectedinstance['reposervers']
}; };
var prompts = [];
var eachPrompt = function(k, i, a){
// No local instances config found. We use a default initialized instance available in selectedinstance
// Confirm those that were not supplied as user choices in runtime args and proceed to reattempt.
if(selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined || reconfirm[k]) {
prompts.push(async ()=>{
// PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked.
// We take a snapshot... Shallow.. !! If required deep should be used based on use case.
// If latest altered state is required we can reerence this directly.
// var asyncthis = Object.assign(this);
Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] ));
return await selectedinstance[k]
});
}
delete promptkeys[k];
};


Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts); Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts);
Object.keys(promptkeys).forEach(eachPrompt, promptkeys); Object.keys(promptkeys).forEach(eachPrompt, promptkeys);
} }
catch (e) { catch (e) {
console.error(e);
// Basic keys that must be prompted and confirmed if not supplied as cmd line args.
// PB: TODO --- This should be cmd specific interpretation of location parameters !!!
var promptkeys = {
'instanceName' : processedArgs._[1]
};

var reconfirm = {
'instanceName' : true
};

console.error(e); // Missing chessinstances is not an error...
initinstances(chessinstances, selectedinstance); initinstances(chessinstances, selectedinstance);
var instanceNameChoices = new Set(Object.keys( chessinstances) ); var instanceNameChoices = new Set(Object.keys( chessinstances) );
instanceNameChoices.delete('current_run'); instanceNameChoices.delete('current_run');
instanceNameChoices.add(selectedinstance['instanceName']); instanceNameChoices.add(selectedinstance['instanceName']);
instanceNameChoices.add(promptkeys['instanceName']);
if(promptkeys['instanceName']) instanceNameChoices.add(promptkeys['instanceName']);
var choices = { var choices = {
'instanceName' : Array.from(instanceNameChoices) 'instanceName' : Array.from(instanceNameChoices)
, 'reposerver' : selectedinstance['reposervers'] , 'reposerver' : selectedinstance['reposervers']
}; };
var prompts = [];
var eachPrompt = function(k, i, a){
// No local instances config found. We use a default initialized instance available in selectedinstance
// Confirm those that were not supplied as user choices in runtime args and proceed to reattempt.
if(selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined || reconfirm[k]) {
prompts.push(async ()=>{
// PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked.
// We take a snapshot... Shallow.. !! If required deep should be used based on use case.
// If latest altered state is required we can reerence this directly.
// var asyncthis = Object.assign(this);
Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] ));
return await selectedinstance[k]
});
}
delete promptkeys[k];
};

Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts); Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts);
Object.keys(promptkeys).forEach(eachPrompt, promptkeys); Object.keys(promptkeys).forEach(eachPrompt, promptkeys);

Loading…
Cancel
Save