Read the statement by Michael Teeuw here.
Any plan to replace "request" and "moment"?
-
@sdetweil Thanks Sam. Yeah, I saw there are a few replacements for request. I had a look at axios previously as well.
-
@mumblebaj there are many options. I am planning to replace all with node-fetch (https://github.com/node-fetch/node-fetch), and concerning moment, I think I’d go for date-fns: https://date-fns.org/
-
@sdetweil ah, I had an old version that still included “request”. ID’ migrate my modules over to node-fetch!
About moment, I’d recommend taking a look at date-fns, many are moving over to it to replace moment - even tho the refactoring effort may not be trivial, the advantages seem to be more (including the smaller size of the final bundle)!
-
@karsten13 said in Any plan to replace "request" and "moment"?:
In the current mm release 2.16.0 request is still a dev dependency but it is now totally removed on the develop branch (and so in the next release).
this would be a breaking change for many modules, what’s the plan to communicate it to the module developers (and potentially, to the users?)
-
-
How can I tell if a module will be compatible prior to the fall upgrade of 2.17.0? I don’t want to upgrade and half of my modules break.
-
@swvalenti if your module uses “request” to issue HTTP calls then it is.
so, if you import it in your node_helper.js (or an alike node pice of code).i.e.
const request = require('request');
or
import request from 'request'
on way to preserve it is to add “request” as a dependency to your module, but your end-users will need to install them on their own.
To add it to your module, from its folder you can do:
npm install request
; this will update your package.json file (and package-lock.json) - commit the change to your git repo (this is most likely a breaking change and would require a major version increase - if you version your code!)Once this is done, your existing (and new) end-user will need to update their copy of your module and run
npm install
on their own to download request and enable them to use it. -
@0m4r said in Any plan to replace "request" and "moment"?:
const request = require(‘request’);
thank you for the explanation I understand better now
-
@swvalenti one addition: Only modules are affected which rely on that
request
is intalled in core mm (which is a dirty hack of the module developer), modules which installrequest
on their own are not! -
@karsten13 said in Any plan to replace "request" and "moment"?:
which is a dirty hack of the module developer
no… don’t say it that way…
lack of experience on the part of the developer…
it just worked, so they didn’t know to ask if there was a more correct way…
I had that problem early on in my nodejs development too…