Development Artifact Cleanup: ✅ BROTHER_NODE REORGANIZATION: Moved development test node to appropriate location - dev/test-nodes/brother_node/: Moved from root directory for better organization - Contains development configuration, test logs, and test chain data - No impact on production systems - purely development/testing artifact ✅ DEVELOPMENT ARTIFACTS IDENTIFIED: - Chain ID: aitbc-brother-chain (test/development chain) - Ports: 8010 (P2P) and 8011 (RPC) - different from production - Environment: .env file with test configuration - Logs: rpc.log and node.log from development testing session (March 15, 2026) ✅ ROOT DIRECTORY CLEANUP: Removed development clutter from production directory - brother_node/ moved to dev/test-nodes/brother_node/ - Root directory now contains only production-ready components - Development artifacts properly organized in dev/ subdirectory DIRECTORY STRUCTURE IMPROVEMENT: 📁 dev/test-nodes/: Development and testing node configurations 🏗️ Root Directory: Clean production structure with only essential components 🧪 Development Isolation: Test environments separated from production BENEFITS: ✅ Clean Production Directory: No development artifacts in root ✅ Better Organization: Development nodes grouped in dev/ subdirectory ✅ Clear Separation: Production vs development environments clearly distinguished ✅ Maintainability: Easier to identify and manage development components RESULT: Successfully moved brother_node development artifact to dev/test-nodes/ subdirectory, cleaning up the root directory while preserving development testing environment for future use.
39 lines
902 B
JavaScript
Executable File
39 lines
902 B
JavaScript
Executable File
'use strict';
|
|
|
|
module.exports = prompt => {
|
|
prompt.timers = prompt.timers || {};
|
|
|
|
let timers = prompt.options.timers;
|
|
if (!timers) return;
|
|
|
|
for (let key of Object.keys(timers)) {
|
|
let opts = timers[key];
|
|
if (typeof opts === 'number') {
|
|
opts = { interval: opts };
|
|
}
|
|
create(prompt, key, opts);
|
|
}
|
|
};
|
|
|
|
function create(prompt, name, options = {}) {
|
|
let timer = prompt.timers[name] = { name, start: Date.now(), ms: 0, tick: 0 };
|
|
let ms = options.interval || 120;
|
|
timer.frames = options.frames || [];
|
|
timer.loading = true;
|
|
|
|
let interval = setInterval(() => {
|
|
timer.ms = Date.now() - timer.start;
|
|
timer.tick++;
|
|
prompt.render();
|
|
}, ms);
|
|
|
|
timer.stop = () => {
|
|
timer.loading = false;
|
|
clearInterval(interval);
|
|
};
|
|
|
|
Reflect.defineProperty(timer, 'interval', { value: interval });
|
|
prompt.once('close', () => timer.stop());
|
|
return timer.stop;
|
|
}
|