mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
chore(ci): ⚡ script releases
This commit is contained in:
1
.eslintignore
Normal file
1
.eslintignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
packages/docs/*
|
||||||
@@ -10,5 +10,9 @@ module.exports = {
|
|||||||
parserOptions: {
|
parserOptions: {
|
||||||
ecmaVersion: 'latest',
|
ecmaVersion: 'latest',
|
||||||
},
|
},
|
||||||
rules: {},
|
rules: {
|
||||||
|
'no-unsafe-negation': 'off',
|
||||||
|
'no-prototype-builtins': 'off',
|
||||||
|
'no-useless-escape': 'off',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/bot",
|
"name": "@bot-whatsapp/bot",
|
||||||
"version": "0.0.1",
|
"version": "0.0.4-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bundle.bot.cjs",
|
"main": "./lib/bundle.bot.cjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class ProviderClass extends EventEmitter {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sendMessage = async (userId, message, sendMessage) => {
|
sendMessage = async (userId, message) => {
|
||||||
if (NODE_ENV !== 'production')
|
if (NODE_ENV !== 'production')
|
||||||
console.log('[sendMessage]', { userId, message })
|
console.log('[sendMessage]', { userId, message })
|
||||||
return message
|
return message
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/cli",
|
"name": "@bot-whatsapp/cli",
|
||||||
"version": "0.0.1",
|
"version": "0.0.2-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "create-bot-whatsapp",
|
"name": "create-bot-whatsapp",
|
||||||
"version": "0.0.1",
|
"version": "0.0.9-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bin/bundle.create.cjs",
|
"main": "./lib/bin/bundle.create.cjs",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/database",
|
"name": "@bot-whatsapp/database",
|
||||||
"version": "0.0.1",
|
"version": "0.0.2-alpha.0",
|
||||||
"description": "Esto es el conector a mysql, pg, mongo",
|
"description": "Esto es el conector a mysql, pg, mongo",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/provider",
|
"name": "@bot-whatsapp/provider",
|
||||||
"version": "0.0.1",
|
"version": "0.0.2-alpha.0",
|
||||||
"description": "Esto es el conector a Twilio, Meta, etc...",
|
"description": "Esto es el conector a Twilio, Meta, etc...",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class TwilioProvider extends ProviderClass {
|
|||||||
* @param {*} buttons []
|
* @param {*} buttons []
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
sendButtons = async (number, message, buttons = []) => {
|
sendButtons = async () => {
|
||||||
console.log(``)
|
console.log(``)
|
||||||
console.log(
|
console.log(
|
||||||
`[NOTA]: Actualmente enviar botons con Twilio esta en desarrollo`
|
`[NOTA]: Actualmente enviar botons con Twilio esta en desarrollo`
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
const {
|
const { Client, LocalAuth, MessageMedia, Buttons } = require('whatsapp-web.js')
|
||||||
Client,
|
|
||||||
LocalAuth,
|
|
||||||
MessageMedia,
|
|
||||||
Buttons,
|
|
||||||
List,
|
|
||||||
} = require('whatsapp-web.js')
|
|
||||||
const { ProviderClass } = require('@bot-whatsapp/bot')
|
const { ProviderClass } = require('@bot-whatsapp/bot')
|
||||||
const { Console } = require('console')
|
const { Console } = require('console')
|
||||||
const { createWriteStream, existsSync } = require('fs')
|
const { createWriteStream } = require('fs')
|
||||||
const {
|
const {
|
||||||
cleanNumber,
|
cleanNumber,
|
||||||
generateImage,
|
generateImage,
|
||||||
@@ -134,19 +128,19 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
* @param {*} buttons []
|
* @param {*} buttons []
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
sendList = async (number, message, listInput = []) => {
|
// sendList = async (number, message, listInput = []) => {
|
||||||
let sections = [
|
// let sections = [
|
||||||
{
|
// {
|
||||||
title: 'sectionTitle',
|
// title: 'sectionTitle',
|
||||||
rows: [
|
// rows: [
|
||||||
{ title: 'ListItem1', description: 'desc' },
|
// { title: 'ListItem1', description: 'desc' },
|
||||||
{ title: 'ListItem2' },
|
// { title: 'ListItem2' },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
]
|
// ]
|
||||||
let list = new List('List body', 'btnText', sections, 'Title', 'footer')
|
// let list = new List('List body', 'btnText', sections, 'Title', 'footer')
|
||||||
return this.vendor.sendMessage(number, list)
|
// return this.vendor.sendMessage(number, list)
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enviar un mensaje solo texto
|
* Enviar un mensaje solo texto
|
||||||
|
|||||||
@@ -1,11 +1,23 @@
|
|||||||
const { writeFile, readFileSync } = require('fs')
|
const { writeFile, readFileSync } = require('fs')
|
||||||
const { join } = require('path')
|
const { join } = require('path')
|
||||||
const { exec, spawn } = require('node:child_process')
|
const { spawn, execFile } = require('node:child_process')
|
||||||
|
const process = require('node:process')
|
||||||
|
const util = require('node:util')
|
||||||
|
|
||||||
|
const OS_ENVIROMENT_WIN = process.platform.includes('win32')
|
||||||
const semver = require('semver')
|
const semver = require('semver')
|
||||||
|
|
||||||
|
const NPM_COMMAND = OS_ENVIROMENT_WIN ? 'npm.cmd' : 'npm'
|
||||||
const [PKG_ARG, PKG_ARG_VERSION] = process.argv.slice(2) || [null]
|
const [PKG_ARG, PKG_ARG_VERSION] = process.argv.slice(2) || [null]
|
||||||
const PATH_PACKAGES = join(__dirname, '..', `packages`)
|
const PATH_PACKAGES = join(__dirname, '..', `packages`)
|
||||||
|
|
||||||
|
const cmd = util.promisify(execFile)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leer package json
|
||||||
|
* @param {*} packageName
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
const readPackage = (packageName = null) => {
|
const readPackage = (packageName = null) => {
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName, 'package.json')
|
const pkgJson = join(PATH_PACKAGES, packageName, 'package.json')
|
||||||
const rawFile = readFileSync(pkgJson, 'utf-8')
|
const rawFile = readFileSync(pkgJson, 'utf-8')
|
||||||
@@ -14,18 +26,27 @@ const readPackage = (packageName = null) => {
|
|||||||
return JSON.parse(rawFile)
|
return JSON.parse(rawFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Actualizar package json
|
||||||
|
* @param {*} packageName
|
||||||
|
* @param {*} newPkgJson
|
||||||
|
*/
|
||||||
const updatePackage = (packageName = null, newPkgJson) => {
|
const updatePackage = (packageName = null, newPkgJson) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName, 'package.json')
|
const pkgJson = join(PATH_PACKAGES, packageName, 'package.json')
|
||||||
|
if (!Object.keys(newPkgJson).length) throw new Error(`ERROR_FILE_READ`)
|
||||||
writeFile(pkgJson, newPkgJson, (err) => {
|
writeFile(pkgJson, newPkgJson, (err) => {
|
||||||
if (err) throw err
|
if (err) reject(err)
|
||||||
|
resolve(true)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Actualizar ramdon version de package
|
* Actualizar version
|
||||||
* @param {*} packageName
|
* @param {*} packageName
|
||||||
*/
|
*/
|
||||||
const updateVersion = (packageName = null, number = null) => {
|
const updateVersion = async (packageName = null, number = null) => {
|
||||||
if (!packageName) throw new Error(`PATH_ERROR_PACKAGE: ${packageName}`)
|
if (!packageName) throw new Error(`PATH_ERROR_PACKAGE: ${packageName}`)
|
||||||
|
|
||||||
const pkgJsonObject = readPackage(packageName)
|
const pkgJsonObject = readPackage(packageName)
|
||||||
@@ -42,20 +63,44 @@ const updateVersion = (packageName = null, number = null) => {
|
|||||||
null,
|
null,
|
||||||
2
|
2
|
||||||
)
|
)
|
||||||
updatePackage(packageName, newPkgJson)
|
await updatePackage(packageName, newPkgJson)
|
||||||
return { version: newVersion }
|
return { version: newVersion }
|
||||||
}
|
}
|
||||||
|
|
||||||
// const publishRelease = async (packageName) => {
|
const packRelease = async (packageName) => {
|
||||||
// const pkgTarName = `builder.io-qwik-${version}.tgz`
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
// await execa('npm', ['pack'], { cwd: distPkgDir })
|
const { stdout } = await cmd(NPM_COMMAND, ['pack'], {
|
||||||
// }
|
stdio: 'inherit',
|
||||||
|
cwd: pkgJson,
|
||||||
|
})
|
||||||
|
return stdout
|
||||||
|
}
|
||||||
|
|
||||||
|
const publishRelease = async (packageName, latest = false) => {
|
||||||
|
const args = !latest ? ['--tag', 'next'] : ['--access', 'public']
|
||||||
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
|
const { stdout } = await cmd(NPM_COMMAND, ['publish'].concat(args), {
|
||||||
|
stdio: 'inherit',
|
||||||
|
cwd: pkgJson,
|
||||||
|
})
|
||||||
|
console.log(stdout)
|
||||||
|
return stdout
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recibe los argumentos entrantes
|
* Recibe los argumentos entrantes
|
||||||
*/
|
*/
|
||||||
if (PKG_ARG) {
|
|
||||||
|
const main = async () => {
|
||||||
|
if (PKG_ARG) {
|
||||||
const pkgName = PKG_ARG ? PKG_ARG.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
|
||||||
updateVersion(pkgName, pkgNumber)
|
? PKG_ARG_VERSION.split('=').at(1)
|
||||||
|
: null
|
||||||
|
await updateVersion(pkgName, pkgNumber)
|
||||||
|
await packRelease(pkgName)
|
||||||
|
await publishRelease(pkgName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user