mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-20 20:49:15 +00:00
Compare commits
21 Commits
fix/delay-
...
fix/ci-yar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04f99d5ed2 | ||
|
|
cf6188d860 | ||
|
|
294bfbb35f | ||
|
|
230538bcea | ||
|
|
5e7aa72494 | ||
|
|
3159ea5665 | ||
|
|
4b307efe79 | ||
|
|
0105dab2c4 | ||
|
|
6e8e16c9a4 | ||
|
|
8d73c86946 | ||
|
|
a7b19d9bff | ||
|
|
4b7de0f690 | ||
|
|
520145bf7d | ||
|
|
2253d57fed | ||
|
|
0fb93f66a3 | ||
|
|
501887300d | ||
|
|
14b6247106 | ||
|
|
afa6771903 | ||
|
|
88af2469cb | ||
|
|
999d6742b4 | ||
|
|
5e1a373730 |
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -1,10 +1,10 @@
|
||||
name: Test / Coverage
|
||||
name: Bot CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [dev]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
branches: [main, dev]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -20,7 +20,10 @@ jobs:
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: npm install
|
||||
- run: npm run build --if-present
|
||||
- run: npm run test.unit
|
||||
- run: npm run test.coverage
|
||||
- run: corepack enable
|
||||
- name: Install NPM Dependencies
|
||||
run: yarn install --immutable --network-timeout 300000
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn test
|
||||
|
||||
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -4,6 +4,8 @@
|
||||
"contributing",
|
||||
"cli",
|
||||
"bot",
|
||||
"provider"
|
||||
"provider",
|
||||
"adapter",
|
||||
"ci"
|
||||
]
|
||||
}
|
||||
|
||||
11
README.md
11
README.md
@@ -46,14 +46,21 @@ Video como hacer PR: https://youtu.be/Lxt8Acob6aU
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/jzvi12">
|
||||
<img src="https://avatars.githubusercontent.com/u/10729787?v=4" width="50;" alt="jzvi12"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/tonyvazgar">
|
||||
<img src="https://avatars.githubusercontent.com/u/21047090?v=4" width="50;" alt="tonyvazgar"/>
|
||||
<br />
|
||||
<sub><b>Luis Antonio Vázquez García</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/ulisesvina">
|
||||
<img src="https://avatars.githubusercontent.com/u/20508563?v=4" width="50;" alt="ulisesvina"/>
|
||||
|
||||
3
core.class.log
Normal file
3
core.class.log
Normal file
@@ -0,0 +1,3 @@
|
||||
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||
@@ -10,11 +10,13 @@
|
||||
"dependencies": {
|
||||
"dotenv": "^16.0.3",
|
||||
"mongodb": "^4.11.0",
|
||||
"mysql2": "^2.3.3"
|
||||
"mysql2": "^2.3.3",
|
||||
"stormdb": "^0.6.0"
|
||||
},
|
||||
"exports": {
|
||||
"./mock": "./lib/mock/index.cjs",
|
||||
"./mongo": "./lib/mongo/index.cjs",
|
||||
"./json-file": "./lib/json-file/index.cjs",
|
||||
"./mysql": "./lib/mysql/index.cjs"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,4 +30,12 @@ module.exports = [
|
||||
},
|
||||
plugins: [commonjs()],
|
||||
},
|
||||
{
|
||||
input: join(__dirname, 'src', 'json-file', 'index.js'),
|
||||
output: {
|
||||
banner: banner['banner.output'].join(''),
|
||||
file: join(__dirname, 'lib', 'json-file', 'index.cjs'),
|
||||
},
|
||||
plugins: [commonjs()],
|
||||
},
|
||||
]
|
||||
|
||||
48
packages/database/src/json-file/index.js
Normal file
48
packages/database/src/json-file/index.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const path = require('path')
|
||||
const StormDB = require('stormdb')
|
||||
const engine = new StormDB.localFileEngine(
|
||||
path.join(process.cwd(), './db.stormdb')
|
||||
)
|
||||
|
||||
class JsonFileAdapter {
|
||||
db
|
||||
listHistory = []
|
||||
|
||||
constructor() {
|
||||
this.init().then()
|
||||
}
|
||||
|
||||
init() {
|
||||
return new Promise((resolve) => {
|
||||
this.db = new StormDB(engine)
|
||||
this.db.default({ history: [] })
|
||||
resolve(this.db)
|
||||
})
|
||||
}
|
||||
|
||||
getPrevByNumber = async (from) => {
|
||||
const response = await this.db.get('history')
|
||||
const { history } = response.state
|
||||
|
||||
if (!history.length) {
|
||||
return null
|
||||
}
|
||||
|
||||
const result = history.filter((res) => res.from === from).pop()
|
||||
|
||||
return {
|
||||
...result,
|
||||
}
|
||||
}
|
||||
|
||||
save = async (ctx) => {
|
||||
await this.db
|
||||
.get('history')
|
||||
.push({ ...ctx })
|
||||
.save()
|
||||
console.log('Guardado en DB...', ctx)
|
||||
this.listHistory.push(ctx)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = JsonFileAdapter
|
||||
@@ -13,9 +13,10 @@ class MyslAdapter {
|
||||
async init() {
|
||||
this.db = mysql.createConnection(this.credentials)
|
||||
|
||||
await this.db.connect((error) => {
|
||||
await this.db.connect(async (error) => {
|
||||
if (!error) {
|
||||
console.log(`Solicitud de conexión a base de datos exitosa`)
|
||||
await this.checkTableExists()
|
||||
}
|
||||
|
||||
if (error) {
|
||||
@@ -64,6 +65,42 @@ class MyslAdapter {
|
||||
})
|
||||
this.listHistory.push(ctx)
|
||||
}
|
||||
|
||||
createTable = () =>
|
||||
new Promise((resolve) => {
|
||||
const tableName = 'history'
|
||||
|
||||
const sql = `CREATE TABLE ${tableName}
|
||||
(id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
ref varchar(255) NOT NULL,
|
||||
keyword varchar(255) NOT NULL,
|
||||
answer longtext NOT NULL,
|
||||
refSerialize varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
options longtext NOT NULL
|
||||
)`
|
||||
|
||||
this.db.query(sql, (err) => {
|
||||
if (err) throw err
|
||||
console.log(`Tabla ${tableName} creada correctamente `)
|
||||
resolve(true)
|
||||
})
|
||||
})
|
||||
|
||||
checkTableExists = () =>
|
||||
new Promise((resolve) => {
|
||||
const sql = "SHOW TABLES LIKE 'history'"
|
||||
|
||||
this.db.query(sql, (err, rows) => {
|
||||
if (err) throw err
|
||||
|
||||
if (!rows.length) {
|
||||
this.createTable()
|
||||
}
|
||||
|
||||
resolve(!!rows.length)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = MyslAdapter
|
||||
|
||||
@@ -5,6 +5,12 @@ const TwilioWebHookServer = require('./server')
|
||||
const { parseNumber } = require('./utils')
|
||||
|
||||
/**
|
||||
* ⚙️TwilioProvider: Es un provedor que te ofrece enviar
|
||||
* mensaje a Whatsapp via API
|
||||
* info: https://www.twilio.com/es-mx/messaging/whatsapp
|
||||
* video: https://youtu.be/KoOmsHylxUw
|
||||
*
|
||||
* Necesitas las siguientes tokens y valores
|
||||
* { accountSid, authToken, vendorNumber }
|
||||
*/
|
||||
class TwilioProvider extends ProviderClass {
|
||||
@@ -15,7 +21,7 @@ class TwilioProvider extends ProviderClass {
|
||||
super()
|
||||
this.vendor = new twilio(accountSid, authToken)
|
||||
this.twilioHook = new TwilioWebHookServer(_port)
|
||||
this.vendorNumber = vendorNumber
|
||||
this.vendorNumber = parseNumber(vendorNumber)
|
||||
|
||||
this.twilioHook.start()
|
||||
const listEvents = this.busEvents()
|
||||
@@ -25,14 +31,6 @@ class TwilioProvider extends ProviderClass {
|
||||
}
|
||||
}
|
||||
|
||||
sendMessage = async (number, message) => {
|
||||
return this.vendor.messages.create({
|
||||
body: message,
|
||||
from: ['whatsapp:+', parseNumber(this.vendorNumber)].join(''),
|
||||
to: ['whatsapp:+', parseNumber(number)].join(''),
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Mapeamos los eventos nativos de whatsapp-web.js a los que la clase Provider espera
|
||||
* para tener un standar de eventos
|
||||
@@ -54,6 +52,65 @@ class TwilioProvider extends ProviderClass {
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* Enviar un archivo multimedia
|
||||
* https://www.twilio.com/es-mx/docs/whatsapp/tutorial/send-and-receive-media-messages-whatsapp-nodejs
|
||||
* @private
|
||||
* @param {*} number
|
||||
* @param {*} mediaInput
|
||||
* @returns
|
||||
*/
|
||||
sendMedia = async (number, message, mediaInput = null) => {
|
||||
if (!mediaInput) throw new Error(`MEDIA_INPUT_NULL_: ${mediaInput}`)
|
||||
number = parseNumber(number)
|
||||
return this.vendor.messages.create({
|
||||
mediaUrl: [`${mediaInput}`],
|
||||
body: message,
|
||||
from: `whatsapp:+${this.vendorNumber}`,
|
||||
to: `whatsapp:+${number}`,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Enviar botones
|
||||
* https://www.twilio.com/es-mx/docs/whatsapp/buttons
|
||||
* @private
|
||||
* @param {*} number
|
||||
* @param {*} message
|
||||
* @param {*} buttons []
|
||||
* @returns
|
||||
*/
|
||||
sendButtons = async (number, message, buttons = []) => {
|
||||
console.log(``)
|
||||
console.log(
|
||||
`[NOTA]: Actualmente enviar botons con Twilio esta en desarrollo`
|
||||
)
|
||||
console.log(
|
||||
`[NOTA]: https://www.twilio.com/es-mx/docs/whatsapp/buttons`
|
||||
)
|
||||
console.log(``)
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} userId
|
||||
* @param {*} message
|
||||
* @param {*} param2
|
||||
* @returns
|
||||
*/
|
||||
sendMessage = async (number, message, { options }) => {
|
||||
number = parseNumber(number)
|
||||
if (options?.buttons?.length)
|
||||
this.sendButtons(number, message, options.buttons)
|
||||
if (options?.media)
|
||||
return this.sendMedia(number, message, options.media)
|
||||
return this.vendor.messages.create({
|
||||
body: message,
|
||||
from: `whatsapp:+${this.vendorNumber}`,
|
||||
to: `whatsapp:+${number}`,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = TwilioProvider
|
||||
|
||||
@@ -11,6 +11,7 @@ class TwilioWebHookServer extends EventEmitter {
|
||||
twilioServer
|
||||
twilioPort
|
||||
constructor(_twilioPort) {
|
||||
super()
|
||||
this.twilioServer = this.buildHTTPServer()
|
||||
this.twilioPort = _twilioPort
|
||||
}
|
||||
@@ -51,7 +52,7 @@ class TwilioWebHookServer extends EventEmitter {
|
||||
console.log(``)
|
||||
console.log(`[Twilio]: Agregar esta url "WHEN A MESSAGE COMES IN"`)
|
||||
console.log(
|
||||
`[Twilio]: http://localhost:${this.twilioPort}/twilio-hook`
|
||||
`[Twilio]: POST http://localhost:${this.twilioPort}/twilio-hook`
|
||||
)
|
||||
console.log(`[Twilio]: Más información en la documentacion`)
|
||||
console.log(``)
|
||||
|
||||
@@ -8,14 +8,19 @@ const {
|
||||
const { ProviderClass } = require('@bot-whatsapp/bot')
|
||||
const { Console } = require('console')
|
||||
const { createWriteStream, existsSync } = require('fs')
|
||||
const { cleanNumber, generateImage, isValidNumber } = require('./utils')
|
||||
const {
|
||||
cleanNumber,
|
||||
generateImage,
|
||||
isValidNumber,
|
||||
downloadMedia,
|
||||
} = require('./utils')
|
||||
|
||||
const logger = new Console({
|
||||
stdout: createWriteStream('./log'),
|
||||
})
|
||||
|
||||
/**
|
||||
* WebWhatsappProvider: Es una clase tipo adaptor
|
||||
* ⚙️ WebWhatsappProvider: Es una clase tipo adaptor
|
||||
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
|
||||
* https://github.com/pedroslopez/whatsapp-web.js
|
||||
*/
|
||||
@@ -97,9 +102,9 @@ class WebWhatsappProvider extends ProviderClass {
|
||||
* @returns
|
||||
*/
|
||||
sendMedia = async (number, mediaInput = null) => {
|
||||
if (!existsSync(mediaInput))
|
||||
throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`)
|
||||
const media = MessageMedia.fromFilePath(mediaInput)
|
||||
if (!mediaInput) throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`)
|
||||
const fileDownloaded = await downloadMedia(mediaInput)
|
||||
const media = MessageMedia.fromFilePath(fileDownloaded)
|
||||
return this.vendor.sendMessage(number, media, {
|
||||
sendAudioAsVoice: true,
|
||||
})
|
||||
@@ -164,9 +169,9 @@ class WebWhatsappProvider extends ProviderClass {
|
||||
*/
|
||||
sendMessage = async (userId, message, { options }) => {
|
||||
const number = cleanNumber(userId)
|
||||
if (options?.media) return this.sendMedia(number, options.media)
|
||||
if (options?.buttons?.length)
|
||||
return this.sendButtons(number, message, options.buttons)
|
||||
if (options?.media) return this.sendMedia(number, options.media)
|
||||
return this.sendText(number, message)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
const { createWriteStream } = require('fs')
|
||||
const qr = require('qr-image')
|
||||
const { tmpdir } = require('os')
|
||||
const http = require('http')
|
||||
const https = require('https')
|
||||
|
||||
const cleanNumber = (number, full = false) => {
|
||||
number = number.replace('@c.us', '')
|
||||
@@ -18,4 +21,33 @@ const isValidNumber = (rawNumber) => {
|
||||
return !exist
|
||||
}
|
||||
|
||||
module.exports = { cleanNumber, generateImage, isValidNumber }
|
||||
/**
|
||||
* Incompleta
|
||||
* Descargar archivo multimedia para enviar
|
||||
* @param {*} url
|
||||
* @returns
|
||||
*/
|
||||
const downloadMedia = (url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const ext = url.split('.').pop()
|
||||
const checkProtocol = url.includes('https:')
|
||||
const handleHttp = checkProtocol ? https : http
|
||||
const name = `tmp-${Date.now()}.${ext}`
|
||||
const fullPath = `${tmpdir()}/${name}`
|
||||
const file = createWriteStream(fullPath)
|
||||
handleHttp.get(url, function (response) {
|
||||
response.pipe(file)
|
||||
file.on('finish', function () {
|
||||
file.close()
|
||||
resolve(fullPath)
|
||||
})
|
||||
file.on('error', function () {
|
||||
console.log('errro')
|
||||
file.close()
|
||||
reject(null)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = { cleanNumber, generateImage, isValidNumber, downloadMedia }
|
||||
|
||||
134
yarn.lock
134
yarn.lock
@@ -82,15 +82,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/client-cognito-identity@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/client-cognito-identity@npm:3.222.0"
|
||||
"@aws-sdk/client-cognito-identity@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/client-cognito-identity@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-crypto/sha256-browser": 2.0.0
|
||||
"@aws-crypto/sha256-js": 2.0.0
|
||||
"@aws-sdk/client-sts": 3.222.0
|
||||
"@aws-sdk/client-sts": 3.223.0
|
||||
"@aws-sdk/config-resolver": 3.222.0
|
||||
"@aws-sdk/credential-provider-node": 3.222.0
|
||||
"@aws-sdk/credential-provider-node": 3.223.0
|
||||
"@aws-sdk/fetch-http-handler": 3.222.0
|
||||
"@aws-sdk/hash-node": 3.222.0
|
||||
"@aws-sdk/invalid-dependency": 3.222.0
|
||||
@@ -116,19 +116,18 @@ __metadata:
|
||||
"@aws-sdk/util-defaults-mode-browser": 3.222.0
|
||||
"@aws-sdk/util-defaults-mode-node": 3.222.0
|
||||
"@aws-sdk/util-endpoints": 3.222.0
|
||||
"@aws-sdk/util-retry": 3.222.0
|
||||
"@aws-sdk/util-user-agent-browser": 3.222.0
|
||||
"@aws-sdk/util-user-agent-node": 3.222.0
|
||||
"@aws-sdk/util-utf8-browser": 3.188.0
|
||||
"@aws-sdk/util-utf8-node": 3.208.0
|
||||
tslib: ^2.3.1
|
||||
checksum: b733d9bad0232a17967da9b27311cb2adf41acaefc584173e6d74b3b966ed3908b9e9fa65b3a0f3e12709dc305e64b1a5351ea43ac666650a375cb10143368e3
|
||||
checksum: ada894c3fbe943044617d719dc947af51546dbfea72e5b63f23c6230677c39dc0355248ed1ba119a29f2d4b7bc64e28400880b580a263bcd45d05fdf45007ad7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/client-sso-oidc@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/client-sso-oidc@npm:3.222.0"
|
||||
"@aws-sdk/client-sso-oidc@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/client-sso-oidc@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-crypto/sha256-browser": 2.0.0
|
||||
"@aws-crypto/sha256-js": 2.0.0
|
||||
@@ -157,19 +156,18 @@ __metadata:
|
||||
"@aws-sdk/util-defaults-mode-browser": 3.222.0
|
||||
"@aws-sdk/util-defaults-mode-node": 3.222.0
|
||||
"@aws-sdk/util-endpoints": 3.222.0
|
||||
"@aws-sdk/util-retry": 3.222.0
|
||||
"@aws-sdk/util-user-agent-browser": 3.222.0
|
||||
"@aws-sdk/util-user-agent-node": 3.222.0
|
||||
"@aws-sdk/util-utf8-browser": 3.188.0
|
||||
"@aws-sdk/util-utf8-node": 3.208.0
|
||||
tslib: ^2.3.1
|
||||
checksum: 40674d89438b689480bdfa10bfb044d90341d87096ae6b0803e6ecc1695d48b1f7a8c513109e92001c380e2b2f5b18aa3e8af1c8ecd3d2f04f63f160cb039611
|
||||
checksum: ab5b6142d897ec48a3bb246577c23d1b6e26ee228c7ce264f826d10f88caa83e03f0dac9d88e361c70b778ceef45f0ebd9712cd03ca5b60ab240a3d4382ecb7c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/client-sso@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/client-sso@npm:3.222.0"
|
||||
"@aws-sdk/client-sso@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/client-sso@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-crypto/sha256-browser": 2.0.0
|
||||
"@aws-crypto/sha256-js": 2.0.0
|
||||
@@ -198,24 +196,23 @@ __metadata:
|
||||
"@aws-sdk/util-defaults-mode-browser": 3.222.0
|
||||
"@aws-sdk/util-defaults-mode-node": 3.222.0
|
||||
"@aws-sdk/util-endpoints": 3.222.0
|
||||
"@aws-sdk/util-retry": 3.222.0
|
||||
"@aws-sdk/util-user-agent-browser": 3.222.0
|
||||
"@aws-sdk/util-user-agent-node": 3.222.0
|
||||
"@aws-sdk/util-utf8-browser": 3.188.0
|
||||
"@aws-sdk/util-utf8-node": 3.208.0
|
||||
tslib: ^2.3.1
|
||||
checksum: bc0cd1125bc5aa94b3fdec15167ce9539acf4a187da060d51fa8ad7c30d0bf6cfee9e3a0175d65e204aba92efee4087c99d1190e1b43927c01cd7a8b1bbbb93e
|
||||
checksum: 856e3745182906d274dc894baa7d853966b0074f89ea892f29132e1cefdf49f267f1d0fffaa2de3de352d19ff3963d59290602057bd4510731e0156199bed664
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/client-sts@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/client-sts@npm:3.222.0"
|
||||
"@aws-sdk/client-sts@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/client-sts@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-crypto/sha256-browser": 2.0.0
|
||||
"@aws-crypto/sha256-js": 2.0.0
|
||||
"@aws-sdk/config-resolver": 3.222.0
|
||||
"@aws-sdk/credential-provider-node": 3.222.0
|
||||
"@aws-sdk/credential-provider-node": 3.223.0
|
||||
"@aws-sdk/fetch-http-handler": 3.222.0
|
||||
"@aws-sdk/hash-node": 3.222.0
|
||||
"@aws-sdk/invalid-dependency": 3.222.0
|
||||
@@ -242,14 +239,13 @@ __metadata:
|
||||
"@aws-sdk/util-defaults-mode-browser": 3.222.0
|
||||
"@aws-sdk/util-defaults-mode-node": 3.222.0
|
||||
"@aws-sdk/util-endpoints": 3.222.0
|
||||
"@aws-sdk/util-retry": 3.222.0
|
||||
"@aws-sdk/util-user-agent-browser": 3.222.0
|
||||
"@aws-sdk/util-user-agent-node": 3.222.0
|
||||
"@aws-sdk/util-utf8-browser": 3.188.0
|
||||
"@aws-sdk/util-utf8-node": 3.208.0
|
||||
fast-xml-parser: 4.0.11
|
||||
tslib: ^2.3.1
|
||||
checksum: 79f18e5b44541673213715e3465a8b000716c03120ea087e6920abba3542683dbd4b881ecb091ef90df34947eec00c82daf70089ea0e5e92cffbb4e57e2d76d7
|
||||
checksum: 6976345f839b0028a0e83f6d11e3323da68cef103ae5381299c6d75df25a1ef336b83023c79896242fbc4b7d2a27f3deebb1b1922e815e6cc7780f3eee302210
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -266,15 +262,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/credential-provider-cognito-identity@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.222.0"
|
||||
"@aws-sdk/credential-provider-cognito-identity@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/client-cognito-identity": 3.222.0
|
||||
"@aws-sdk/client-cognito-identity": 3.223.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: e6a61cf601825907931ed0cc42050b895b150468feb95c1052e053ce00d33e8d225663ca337da1c5825eee7e24438311ba0d28b2a6021868d3e6796aa81fdeeb
|
||||
checksum: e0f03110b120699ef9c458edd5b1a248f5e3f360931b2e8be7ebb7fc33da51ac1c3fdf96bb05a755a2d303c00c7effee7a582706da2333b4ee43c0040ff551a5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -302,37 +298,37 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/credential-provider-ini@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/credential-provider-ini@npm:3.222.0"
|
||||
"@aws-sdk/credential-provider-ini@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/credential-provider-ini@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/credential-provider-env": 3.222.0
|
||||
"@aws-sdk/credential-provider-imds": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.223.0
|
||||
"@aws-sdk/credential-provider-web-identity": 3.222.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/shared-ini-file-loader": 3.222.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: eac19a9b52066f76cf23bee102369df7d50097dfee3be14b12c2e178c16868acd1a79b13c00d3e3ac40d2fbc14b4e2b06119d0c51c5d875c6be3606c33514d62
|
||||
checksum: f407fe591999f1da1d5580b182af261ceeb4455da9a53d18ae871c9cf244e6e72fa10ef28036419790e2b5787d64c5de5b4daf4c7f69acb866894410baa880d0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/credential-provider-node@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/credential-provider-node@npm:3.222.0"
|
||||
"@aws-sdk/credential-provider-node@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/credential-provider-node@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/credential-provider-env": 3.222.0
|
||||
"@aws-sdk/credential-provider-imds": 3.222.0
|
||||
"@aws-sdk/credential-provider-ini": 3.222.0
|
||||
"@aws-sdk/credential-provider-ini": 3.223.0
|
||||
"@aws-sdk/credential-provider-process": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.223.0
|
||||
"@aws-sdk/credential-provider-web-identity": 3.222.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/shared-ini-file-loader": 3.222.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: f17ce6c9b45d48d9bebd63766b5d85e45f6a1d50b02bea4784d0055269a0f5c05e5ba343c6b138cd29086b94c6bb4511568e9fb59f340f3988526b2d7950cb4c
|
||||
checksum: 6ce5f88f75a6e879344ea76fa2b390c779d74f1b3657fa15367b15797b09d9713ef0d2f14c95421254a6bc0b8bde1acd2634978a6549e02a74c33160ae6130fd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -348,17 +344,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/credential-provider-sso@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/credential-provider-sso@npm:3.222.0"
|
||||
"@aws-sdk/credential-provider-sso@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/credential-provider-sso@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/client-sso": 3.222.0
|
||||
"@aws-sdk/client-sso": 3.223.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/shared-ini-file-loader": 3.222.0
|
||||
"@aws-sdk/token-providers": 3.222.0
|
||||
"@aws-sdk/token-providers": 3.223.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: 8e0a39a722fd6548b9758ab4c711eac9128a64bae1fa9bfce5f0b92c2df34883fdcd544c9a48f501d3a7b695e6d0b51a9b5e1be1b7eac626a1818860cfc86072
|
||||
checksum: 4593a94dc86ef7218517061cf875285c2c6087f1d4a1199442055e6165701f11f9921612a04ab3c1b3f29b3132d46a8ce8cd26070fad132509e20eca1b89f217
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -374,25 +370,25 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/credential-providers@npm:^3.186.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/credential-providers@npm:3.222.0"
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/credential-providers@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/client-cognito-identity": 3.222.0
|
||||
"@aws-sdk/client-sso": 3.222.0
|
||||
"@aws-sdk/client-sts": 3.222.0
|
||||
"@aws-sdk/credential-provider-cognito-identity": 3.222.0
|
||||
"@aws-sdk/client-cognito-identity": 3.223.0
|
||||
"@aws-sdk/client-sso": 3.223.0
|
||||
"@aws-sdk/client-sts": 3.223.0
|
||||
"@aws-sdk/credential-provider-cognito-identity": 3.223.0
|
||||
"@aws-sdk/credential-provider-env": 3.222.0
|
||||
"@aws-sdk/credential-provider-imds": 3.222.0
|
||||
"@aws-sdk/credential-provider-ini": 3.222.0
|
||||
"@aws-sdk/credential-provider-node": 3.222.0
|
||||
"@aws-sdk/credential-provider-ini": 3.223.0
|
||||
"@aws-sdk/credential-provider-node": 3.223.0
|
||||
"@aws-sdk/credential-provider-process": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.222.0
|
||||
"@aws-sdk/credential-provider-sso": 3.223.0
|
||||
"@aws-sdk/credential-provider-web-identity": 3.222.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/shared-ini-file-loader": 3.222.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: a6c159abbc210d62ed7d1153278b423595493583f53ec2a9143b402ee149cc1ae39be41615c76c3b658e1e9f70e89019a594c8e7a6a320cf7ea37443714a79ac
|
||||
checksum: 289d043f41460751e90c3adc323f3a56e517f67c0a7f8889249e0969b3302f19d093eef4a10d3528bdf34f1043f95fa41555ed5c91af4d2ca636cded1775c81c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -678,16 +674,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/token-providers@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/token-providers@npm:3.222.0"
|
||||
"@aws-sdk/token-providers@npm:3.223.0":
|
||||
version: 3.223.0
|
||||
resolution: "@aws-sdk/token-providers@npm:3.223.0"
|
||||
dependencies:
|
||||
"@aws-sdk/client-sso-oidc": 3.222.0
|
||||
"@aws-sdk/client-sso-oidc": 3.223.0
|
||||
"@aws-sdk/property-provider": 3.222.0
|
||||
"@aws-sdk/shared-ini-file-loader": 3.222.0
|
||||
"@aws-sdk/types": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: e0d2d9af50570ca1e9ae4cfe32889a9146a0e49ce3004dfc4d5305ba0f64b7561da95d09ccaf18927638417d3bd1eb9772cb58256aef242beab03a56e4e68883
|
||||
checksum: 08d724bc685b90761159b449413c9dddb581cc61cd982ee9a189e8682d1a703acc70663beec2ae31d1ebf6fe9a86480b63fb65da531e35b2e8772a2c3906969f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -819,16 +815,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/util-retry@npm:3.222.0":
|
||||
version: 3.222.0
|
||||
resolution: "@aws-sdk/util-retry@npm:3.222.0"
|
||||
dependencies:
|
||||
"@aws-sdk/service-error-classification": 3.222.0
|
||||
tslib: ^2.3.1
|
||||
checksum: d4b38a23a310d44d211db2cfb2ae53ef41cf805308d08e56d9ca786fc69fd6b244f331d40ea35023bbc53625c7b2c1f4fab9fabd32d0a10396d4359ac50eff09
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/util-uri-escape@npm:3.201.0":
|
||||
version: 3.201.0
|
||||
resolution: "@aws-sdk/util-uri-escape@npm:3.201.0"
|
||||
@@ -950,6 +936,7 @@ __metadata:
|
||||
dotenv: ^16.0.3
|
||||
mongodb: ^4.11.0
|
||||
mysql2: ^2.3.3
|
||||
stormdb: ^0.6.0
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@@ -7907,6 +7894,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stormdb@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "stormdb@npm:0.6.0"
|
||||
checksum: 5974329c1c5af9f0829a5551bef8476dcf6df921f4b9e135acb96863ed0d20ece9bec32d9fd42b84b5d76de30c7d20d3095d14cc75c8f0777f4799b422bd4053
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"streamsearch@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "streamsearch@npm:1.1.0"
|
||||
|
||||
Reference in New Issue
Block a user