This commit is contained in:
Leifer Mendez
2022-11-08 21:41:16 +01:00
parent 2114800b84
commit 576092fc96
26 changed files with 408 additions and 801 deletions

View File

@@ -1,30 +1,30 @@
'use strict';
'use strict'
var require$$0$3 = require('prompts');
var require$$0 = require('kleur');
var require$$0$1 = require('fs');
var require$$1$1 = require('path');
var require$$1 = require('cross-spawn');
var require$$2 = require('detect-package-manager');
var require$$0$2 = require('rimraf');
var require$$0$3 = require('prompts')
var require$$0 = require('kleur')
var require$$0$1 = require('fs')
var require$$1$1 = require('path')
var require$$1 = require('cross-spawn')
var require$$2 = require('detect-package-manager')
var require$$0$2 = require('rimraf')
const { red: red$2 } = require$$0;
const spawn = require$$1;
const { detect } = require$$2;
const { red: red$2 } = require$$0
const spawn = require$$1
const { detect } = require$$2
const PKG_OPTION = {
npm: 'install',
yarn: 'add',
pnpm: 'add',
};
}
const getPkgManage = async () => {
const pkg = await detect();
const pkg = await detect()
return pkg
};
}
const installDeps$1 = (pkgManager, packageList) => {
const errorMessage = `Ocurrio un error instalando ${packageList}`;
let childProcess = [];
const errorMessage = `Ocurrio un error instalando ${packageList}`
let childProcess = []
const installSingle = (pkgInstall) => () => {
new Promise((resolve) => {
@@ -35,112 +35,112 @@ const installDeps$1 = (pkgManager, packageList) => {
{
stdio: 'inherit',
}
);
)
childProcess.on('error', (e) => {
console.error(e);
console.error(red$2(errorMessage));
resolve();
});
console.error(e)
console.error(red$2(errorMessage))
resolve()
})
childProcess.on('close', (code) => {
if (code === 0) {
resolve();
resolve()
} else {
console.error(code);
console.error(red$2(errorMessage));
console.error(code)
console.error(red$2(errorMessage))
}
});
})
resolve();
resolve()
} catch (e) {
console.error(e);
console.error(red$2(errorMessage));
console.error(e)
console.error(red$2(errorMessage))
}
});
};
})
}
if (typeof packageList === 'string') {
childProcess.push(installSingle(packageList));
childProcess.push(installSingle(packageList))
} else {
for (const pkg of packageList) {
childProcess.push(installSingle(pkg));
childProcess.push(installSingle(pkg))
}
}
const runInstall = () => {
return Promise.all(childProcess.map((i) => i()))
};
}
return { runInstall }
};
}
var tool = { getPkgManage, installDeps: installDeps$1 };
var tool = { getPkgManage, installDeps: installDeps$1 }
const { readFileSync, existsSync } = require$$0$1;
const { join: join$2 } = require$$1$1;
const { installDeps } = tool;
const { readFileSync, existsSync } = require$$0$1
const { join: join$2 } = require$$1$1
const { installDeps } = tool
const PATHS_DIR = [
join$2(__dirname, 'pkg-to-update.json'),
join$2(__dirname, '..', 'pkg-to-update.json'),
];
]
const PKG_TO_UPDATE = () => {
const PATH_INDEX = PATHS_DIR.findIndex((a) => existsSync(a));
const data = readFileSync(PATHS_DIR[PATH_INDEX], 'utf-8');
const dataParse = JSON.parse(data);
const pkg = Object.keys(dataParse).map((n) => `${n}@${dataParse[n]}`);
const PATH_INDEX = PATHS_DIR.findIndex((a) => existsSync(a))
const data = readFileSync(PATHS_DIR[PATH_INDEX], 'utf-8')
const dataParse = JSON.parse(data)
const pkg = Object.keys(dataParse).map((n) => `${n}@${dataParse[n]}`)
return pkg
};
}
const installAll$1 = async () => {
// const pkg = await getPkgManage()
installDeps('npm', PKG_TO_UPDATE()).runInstall();
};
installDeps('npm', PKG_TO_UPDATE()).runInstall()
}
var install = { installAll: installAll$1 };
var install = { installAll: installAll$1 }
const rimraf = require$$0$2;
const { yellow: yellow$2 } = require$$0;
const { join: join$1 } = require$$1$1;
const rimraf = require$$0$2
const { yellow: yellow$2 } = require$$0
const { join: join$1 } = require$$1$1
const PATH_WW = [
join$1(process.cwd(), '.wwebjs_auth'),
join$1(process.cwd(), 'session.json'),
];
]
const cleanSession$1 = () => {
const queue = [];
const queue = []
for (const PATH of PATH_WW) {
console.log(yellow$2(`😬 Eliminando: ${PATH}`));
queue.push(rimraf(PATH, () => Promise.resolve()));
console.log(yellow$2(`😬 Eliminando: ${PATH}`))
queue.push(rimraf(PATH, () => Promise.resolve()))
}
return Promise.all(queue)
};
}
var clean = { cleanSession: cleanSession$1 };
var clean = { cleanSession: cleanSession$1 }
const { red: red$1, yellow: yellow$1, green, bgCyan } = require$$0;
const { red: red$1, yellow: yellow$1, green, bgCyan } = require$$0
const checkNodeVersion$1 = () => {
console.log(bgCyan('🚀 Revisando tu Node.js'));
const version = process.version;
const majorVersion = parseInt(version.replace('v', '').split('.').shift());
console.log(bgCyan('🚀 Revisando tu Node.js'))
const version = process.version
const majorVersion = parseInt(version.replace('v', '').split('.').shift())
if (majorVersion < 16) {
console.error(
red$1(
`🔴 Se require Node.js 16 o superior. Actualmente esta ejecutando Node.js ${version}`
)
);
process.exit(1);
)
process.exit(1)
}
console.log(green(`Node.js combatible ${version}`));
console.log(``);
};
console.log(green(`Node.js combatible ${version}`))
console.log(``)
}
const checkOs$1 = () => {
console.log(bgCyan('🙂 Revisando tu Sistema Operativo'));
const os = process.platform;
console.log(bgCyan('🙂 Revisando tu Sistema Operativo'))
const os = process.platform
if (!os.includes('win32')) {
const messages = [
`El sistema operativo actual (${os}) posiblemente requiera`,
@@ -149,18 +149,18 @@ const checkOs$1 = () => {
`Recuerda pasar por el WIKI`,
`🔗 https://github.com/leifermendez/bot-whatsapp/wiki/Instalaci%C3%B3n`,
``,
];
]
console.log(yellow$1(messages.join(' \n')));
console.log(yellow$1(messages.join(' \n')))
}
console.log(``);
};
console.log(``)
}
var check = { checkNodeVersion: checkNodeVersion$1, checkOs: checkOs$1 };
var check = { checkNodeVersion: checkNodeVersion$1, checkOs: checkOs$1 }
const { writeFile } = require$$0$1.promises;
const { join } = require$$1$1;
const { writeFile } = require$$0$1.promises
const { join } = require$$1$1
/**
* JSON_TEMPLATE = {[key:string]{...pros}}
@@ -179,9 +179,9 @@ const JSON_TEMPLATE = {
io: {
vendor: '',
},
};
}
const PATH_CONFIG = join(process.cwd(), 'config.json');
const PATH_CONFIG = join(process.cwd(), 'config.json')
const jsonConfig$1 = () => {
return writeFile(
@@ -189,16 +189,16 @@ const jsonConfig$1 = () => {
JSON.stringify(JSON_TEMPLATE, null, 2),
'utf-8'
)
};
}
var configuration = { jsonConfig: jsonConfig$1 };
var configuration = { jsonConfig: jsonConfig$1 }
const prompts = require$$0$3;
const { yellow, red } = require$$0;
const { installAll } = install;
const { cleanSession } = clean;
const { checkNodeVersion, checkOs } = check;
const { jsonConfig } = configuration;
const prompts = require$$0$3
const { yellow, red } = require$$0
const { installAll } = install
const { cleanSession } = clean
const { checkNodeVersion, checkOs } = check
const { jsonConfig } = configuration
const startInteractive$1 = async () => {
const questions = [
@@ -239,49 +239,49 @@ const startInteractive$1 = async () => {
hint: 'Espacio para selecionar',
instructions: '↑/↓',
},
];
]
console.clear();
checkNodeVersion();
checkOs();
console.clear()
checkNodeVersion()
checkOs()
const onCancel = () => {
console.log('Proceso cancelado!');
console.log('Proceso cancelado!')
return true
};
const response = await prompts(questions, { onCancel });
}
const response = await prompts(questions, { onCancel })
const {
dependencies = '',
cleanTmp = '',
providerDb = [],
providerWs = [],
} = response;
} = response
/**
* Question #1
* @returns
*/
const installOrUdpateDep = async () => {
const answer = dependencies.toLowerCase() || 'n';
const answer = dependencies.toLowerCase() || 'n'
if (answer.includes('n')) return true
if (answer.includes('y')) {
await installAll();
await installAll()
return true
}
};
}
/**
* Question #2
* @returns
*/
const cleanAllSession = async () => {
const answer = cleanTmp.toLowerCase() || 'n';
const answer = cleanTmp.toLowerCase() || 'n'
if (answer.includes('n')) return true
if (answer.includes('y')) {
await cleanSession();
await cleanSession()
return true
}
};
}
const vendorProvider = async () => {
if (!providerWs.length) {
@@ -289,40 +289,40 @@ const startInteractive$1 = async () => {
red(
`Debes de seleccionar una WS Provider. Tecla [Space] para seleccionar`
)
);
process.exit(1);
)
process.exit(1)
}
console.log(yellow(`'Deberia crer una carpeta en root/provider'`));
console.log(yellow(`'Deberia crer una carpeta en root/provider'`))
return true
};
}
const dbProvider = async () => {
const answer = providerDb;
const answer = providerDb
if (!providerDb.length) {
console.log(
red(
`Debes de seleccionar una DB Provider. Tecla [Space] para seleccionar`
)
);
process.exit(1);
)
process.exit(1)
}
if (answer === 'json') {
console.log('Deberia crer una carpeta en root/data');
console.log('Deberia crer una carpeta en root/data')
return 1
}
};
}
await installOrUdpateDep();
await cleanAllSession();
await vendorProvider();
await dbProvider();
await jsonConfig();
};
await installOrUdpateDep()
await cleanAllSession()
await vendorProvider()
await dbProvider()
await jsonConfig()
}
var interactive = { startInteractive: startInteractive$1 };
var interactive = { startInteractive: startInteractive$1 }
const { startInteractive } = interactive;
if (process.env.NODE_ENV === 'dev') startInteractive();
var cli = { startInteractive };
const { startInteractive } = interactive
if (process.env.NODE_ENV === 'dev') startInteractive()
var cli = { startInteractive }
module.exports = cli;
module.exports = cli

View File

@@ -4,15 +4,6 @@
"description": "",
"main": "index.js",
"private": true,
"scripts": {
"cli:dev": "cross-env NODE_ENV=dev node ./index.js",
"cli:rollup": "rollup index.js --config ./rollup-cli.config.js",
"format:check": "prettier --check .",
"format:write": "prettier --write .",
"lint:check": "eslint .",
"lint:fix": "eslint --fix .",
"build:cli": "npm run format:write && npm run lint:fix && npm run cli:rollup"
},
"keywords": [],
"author": "",
"license": "ISC"

View File

@@ -3,7 +3,7 @@ const commonjs = require('@rollup/plugin-commonjs')
module.exports = {
input: 'index.js',
output: {
file: 'lib/cli/bundle.cjs',
file: 'lib/cli/bundle.cli.cjs',
format: 'cjs',
},
plugins: [commonjs()],