mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
feat(provider): 🚀 feat Instance provider
This commit is contained in:
@@ -18,13 +18,9 @@ const [PKG_NAME, PKG_STABLE] = process.argv.slice(2) || [null, null]
|
||||
* @param {*} pkgName
|
||||
*/
|
||||
const checkPkg = async (pkgName = '') => {
|
||||
const { stdout } = await cmd(
|
||||
NPM_COMMAND,
|
||||
['show', `${pkgName}`, 'version'],
|
||||
{
|
||||
stdio: 'inherit',
|
||||
}
|
||||
)
|
||||
const { stdout } = await cmd(NPM_COMMAND, ['show', `${pkgName}`, 'version'], {
|
||||
stdio: 'inherit',
|
||||
})
|
||||
|
||||
return stdout.trim().replace('\n', '')
|
||||
}
|
||||
@@ -36,12 +32,7 @@ const checkPkg = async (pkgName = '') => {
|
||||
const checkPkgStable = async (pkgName = '', version = '') => {
|
||||
const { stdout } = await cmd(
|
||||
NPM_COMMAND,
|
||||
[
|
||||
'show',
|
||||
`${pkgName}@${version.split('.').shift()}.*`,
|
||||
'version',
|
||||
'--json',
|
||||
],
|
||||
['show', `${pkgName}@${version.split('.').shift()}.*`, 'version', '--json'],
|
||||
{
|
||||
stdio: 'inherit',
|
||||
}
|
||||
@@ -65,17 +56,14 @@ const checkPkgStable = async (pkgName = '', version = '') => {
|
||||
* @returns
|
||||
*/
|
||||
const checkEveryProvider = async (provider = '', stable = true) => {
|
||||
const pkgDependencies = readFileSync(
|
||||
join(PATH_PACKAGES, 'provider', 'src', provider, 'package.json')
|
||||
)
|
||||
const pkgDependencies = readFileSync(join(PATH_PACKAGES, 'provider', 'src', provider, 'package.json'))
|
||||
try {
|
||||
const { dependencies } = JSON.parse(pkgDependencies)
|
||||
const devParse = Object.entries(dependencies)
|
||||
const newDevParse = {}
|
||||
for (const [pkgName, pkgVersion] of devParse) {
|
||||
if (!stable) newDevParse[pkgName] = await checkPkg(pkgName)
|
||||
if (stable)
|
||||
newDevParse[pkgName] = await checkPkgStable(pkgName, pkgVersion)
|
||||
if (stable) newDevParse[pkgName] = await checkPkgStable(pkgName, pkgVersion)
|
||||
|
||||
console.log(newDevParse)
|
||||
}
|
||||
@@ -93,25 +81,12 @@ const checkEveryProvider = async (provider = '', stable = true) => {
|
||||
* @returns
|
||||
*/
|
||||
const updateDependencies = async (provider = '', list = {}) => {
|
||||
const pathProvider = join(
|
||||
PATH_PACKAGES,
|
||||
'provider',
|
||||
'src',
|
||||
provider,
|
||||
'package.json'
|
||||
)
|
||||
const pathProvider = join(PATH_PACKAGES, 'provider', 'src', provider, 'package.json')
|
||||
|
||||
try {
|
||||
const pkgDependencies = readFileSync(pathProvider)
|
||||
const { dependencies } = JSON.parse(pkgDependencies)
|
||||
writeFileSync(
|
||||
pathProvider,
|
||||
JSON.stringify(
|
||||
{ dependencies: { ...dependencies, ...list } },
|
||||
null,
|
||||
2
|
||||
)
|
||||
)
|
||||
writeFileSync(pathProvider, JSON.stringify({ dependencies: { ...dependencies, ...list } }, null, 2))
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
return {}
|
||||
@@ -125,15 +100,11 @@ const updateDependencies = async (provider = '', list = {}) => {
|
||||
*/
|
||||
const updateStarters = async (provider = '', updateDev = {}) => {
|
||||
provider = provider === 'web-whatsapp' ? 'wweb' : provider
|
||||
const allStarters = readdirSync(PATH_STARTERS).filter((n) =>
|
||||
n.includes(provider)
|
||||
)
|
||||
const allStarters = readdirSync(PATH_STARTERS).filter((n) => n.includes(provider))
|
||||
|
||||
try {
|
||||
for (const base of allStarters) {
|
||||
const pkgDependenciesBase = readFileSync(
|
||||
join(PATH_STARTERS, base, 'package.json')
|
||||
)
|
||||
const pkgDependenciesBase = readFileSync(join(PATH_STARTERS, base, 'package.json'))
|
||||
const pkgBase = JSON.parse(pkgDependenciesBase)
|
||||
writeFileSync(
|
||||
join(PATH_STARTERS, base, 'package.json'),
|
||||
@@ -157,10 +128,7 @@ const main = async () => {
|
||||
if (PKG_NAME) {
|
||||
const providerName = PKG_NAME ? PKG_NAME.split('=').at(1) : null
|
||||
const providerStable = PKG_STABLE ? PKG_STABLE.split('=').at(1) : null
|
||||
const list = await checkEveryProvider(
|
||||
providerName,
|
||||
providerStable === 'true'
|
||||
)
|
||||
const list = await checkEveryProvider(providerName, providerStable === 'true')
|
||||
await updateDependencies(providerName, list)
|
||||
await updateStarters(providerName, list)
|
||||
}
|
||||
|
||||
@@ -39,8 +39,7 @@ const main = async () => {
|
||||
const githubToken = GITHUB_TOKEN ? GITHUB_TOKEN.split('=').at(1) : null
|
||||
const pkgNumber = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
||||
|
||||
if (pkgNumber)
|
||||
await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken)
|
||||
if (pkgNumber) await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,14 +10,7 @@ const copyLibPkg = async (pkgName, to) => {
|
||||
await fs.copy(FROM, TO)
|
||||
}
|
||||
|
||||
const listLib = [
|
||||
'create-bot-whatsapp',
|
||||
'bot',
|
||||
'database',
|
||||
'provider',
|
||||
'contexts',
|
||||
'portal',
|
||||
]
|
||||
const listLib = ['create-bot-whatsapp', 'bot', 'database', 'provider', 'contexts', 'portal']
|
||||
|
||||
const main = async () => {
|
||||
for (const iterator of listLib) {
|
||||
|
||||
@@ -18,14 +18,10 @@ const cmd = util.promisify(execFile)
|
||||
*/
|
||||
const npmToken = (token = null) =>
|
||||
new Promise((resolve, reject) => {
|
||||
writeFile(
|
||||
`${process.cwd()}/.npmrc`,
|
||||
`//registry.npmjs.org/:_authToken=${token}`,
|
||||
(error) => {
|
||||
if (error) reject(error)
|
||||
resolve()
|
||||
}
|
||||
)
|
||||
writeFile(`${process.cwd()}/.npmrc`, `//registry.npmjs.org/:_authToken=${token}`, (error) => {
|
||||
if (error) reject(error)
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
|
||||
/**
|
||||
@@ -66,18 +62,11 @@ const updateVersion = async (packageName = null, number = null) => {
|
||||
|
||||
const pkgJsonObject = readPackage(packageName)
|
||||
const { version } = pkgJsonObject
|
||||
const newVersion = !number
|
||||
? semver.inc(version, 'prepatch', 'alpha')
|
||||
: `${number}`
|
||||
const newVersion = !number ? semver.inc(version, 'prepatch', 'alpha') : `${number}`
|
||||
|
||||
if (!semver.valid(newVersion))
|
||||
throw new Error(`VERSION_ERROR: ${newVersion}`)
|
||||
if (!semver.valid(newVersion)) throw new Error(`VERSION_ERROR: ${newVersion}`)
|
||||
|
||||
const newPkgJson = JSON.stringify(
|
||||
{ ...pkgJsonObject, version: newVersion },
|
||||
null,
|
||||
2
|
||||
)
|
||||
const newPkgJson = JSON.stringify({ ...pkgJsonObject, version: newVersion }, null, 2)
|
||||
await updatePackage(packageName, newPkgJson)
|
||||
return { version: newVersion }
|
||||
}
|
||||
@@ -92,14 +81,10 @@ const checkExistVersion = async (packageName = null, version = null) => {
|
||||
try {
|
||||
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||
const pkgJsonObject = readPackage(packageName)
|
||||
const { stdout } = await cmd(
|
||||
NPM_COMMAND,
|
||||
['view', `${pkgJsonObject.name}@${version}`],
|
||||
{
|
||||
stdio: 'inherit',
|
||||
cwd: pkgJson,
|
||||
}
|
||||
)
|
||||
const { stdout } = await cmd(NPM_COMMAND, ['view', `${pkgJsonObject.name}@${version}`], {
|
||||
stdio: 'inherit',
|
||||
cwd: pkgJson,
|
||||
})
|
||||
return true
|
||||
} catch (e) {
|
||||
return false
|
||||
@@ -149,9 +134,7 @@ const main = async () => {
|
||||
let EXIST_VERSION = true
|
||||
const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null
|
||||
const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
||||
const pkgNumber = PKG_ARG_VERSION
|
||||
? PKG_ARG_VERSION.split('=').at(1)
|
||||
: null
|
||||
const pkgNumber = PKG_ARG_VERSION ? PKG_ARG_VERSION.split('=').at(1) : null
|
||||
if (tokenNpm) await npmToken(tokenNpm)
|
||||
|
||||
while (EXIST_VERSION) {
|
||||
|
||||
Reference in New Issue
Block a user