rgcl / webpay-nodejs

[Spanish/Chile] Módulo no oficial para integrar WebPay Plus en Node.js, con soporte para promesas.
GNU Lesser General Public License v3.0
93 stars 32 forks source link

Dependencias antiguas o faltantes #15

Closed ffflabs closed 4 years ago

ffflabs commented 5 years ago

@rgcl dos observaciones:

1. se está llamando la dependencia ejs en

https://github.com/rgcl/webpay-nodejs/blob/dd66abf57426ddc118c3d73830c74957b9f55fd8/lib/WebPayUniqueAndSpecialNonStandardWSSecurityCert.js#L7

Pero ésta no figura en el package.json.

2. Se está usando una versión vieja de node-soap (0.18, la actual es la 0.29). Comprobé que no hay breaking changes.

Lo malo de la 0.18 es que todavía intenta compilar ursa con node-gyp, pero las versiones recientes de OpenSSL son incompatibles con el script que intenta ejecutar, luego salen errores horribles. De todos modos es una dependencia opcional que se quitó en versiones posteriores, pero el error sigue siendo feo.

cristianberroeta commented 5 years ago

Con respecto a la segunda observación de @amenadiel, pude verificar que al ejecutar npm install, hay un error muy extenso, que parte así:

> node-gyp rebuild

  CXX(target) Release/obj.target/ursaNative/src/ursaNative.o
../src/ursaNative.cc:389:13: error: member access into incomplete type 'RSA'
      (aka 'rsa_st')
    obj->rsa->n = BN_bin2bn(data_n, n_length, NULL);
            ^
...
...
...

Y ese error desaparece al cambiar esa dependencia por: "soap": "^0.29.0"

También es cierto lo de la primera observación: ejs no figura en el package.json

ffflabs commented 5 years ago

Claro, lo que pasa es que Ursa intenta usar métodos que en OpenSSL 1.1.0h no se llaman igual. Imagino me consta que en OpenSSL 1.0.1 funcionaba, pero en realidad no se necesita.

rgcl commented 4 years ago

Corregido con la versión 1.4.0. Muchas gracias por la ayuda.