Read the statement by Michael Teeuw here.
Any plan to replace "request" and "moment"?
-
@bkeyport now, and later, use the new library in your module and add it to your package.json.
then if the system provides it npm install will say ‘done’
and if the system doesn’t, then it will load it for your module… -
@sdetweil Just a question from myself, is there a preference from the platform side on what to use to replace request? I have just updated my module to use node-fetch. Are there preferences from the MMM platform side?
-
-
@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.