panva / openid-client

OAuth 2 / OpenID Connect Client API for JavaScript Runtimes
MIT License
1.83k stars 392 forks source link

Weird dependency to request #147

Closed sylvainar closed 5 years ago

sylvainar commented 5 years ago

https://github.com/panva/node-openid-client/blob/master/lib/helpers/http_request.js#L28

Seems that this module needs request, but doesn't mark it as a dependency, leading to this error :

Error: Cannot find module 'request'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Function._load (D:\Profiles\sarnouts\WebstormProjects\backend\.dist\node_modules\@sentry\node\src\integrations\console.ts:37:43)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at requestWrapper (D:\Profiles\sarnouts\WebstormProjects\backend\.dist\node_modules\openid-client\lib\helpers\http_request.js:28:19)
    at Function.useRequest (D:\Profiles\sarnouts\WebstormProjects\backend\.dist\node_modules\openid-client\lib\issuer.js:239:23)
    at Module.useRequest (D:\Profiles\sarnouts\WebstormProjects\backend\src\bootstrap\auth.js:13:8)
    at call (D:\Profiles\sarnouts\WebstormProjects\backend\webpack\bootstrap:19:1)
    at __webpack_require__ (D:\Profiles\sarnouts\WebstormProjects\backend\webpack\bootstrap:83:1)
error Command failed with exit code 1.

Expected behaviour

It should list request as a dependency, or at least a peer-dependency.

Environment:

panva commented 5 years ago

Hi @sylvainar

This is intended, the request library is NOT used by default, instead got is used as much more lightweight library.

You don't need the bundled request integration unless your client is in an environment with HTTP(S) proxies, this is a documented case which mentions you should install request on your own.

See https://github.com/panva/node-openid-client/tree/v2.4.5#proxy-settings