MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Any plan to replace "request" and "moment"?

    Scheduled Pinned Locked Moved Unsolved Feature Requests
    61 Posts 8 Posters 29.0k Views 8 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 0m4r0 Offline
      0m4r Module Developer @mumblebaj
      last edited by

      @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/

      https://github.com/0m4r

      1 Reply Last reply Reply Quote 0
      • 0m4r0 Offline
        0m4r Module Developer @0m4r
        last edited by

        @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)!

        https://github.com/0m4r

        BKeyportB 1 Reply Last reply Reply Quote 0
        • 0m4r0 Offline
          0m4r Module Developer @karsten13
          last edited by

          @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?)

          https://github.com/0m4r

          karsten13K 1 Reply Last reply Reply Quote 0
          • karsten13K Offline
            karsten13 @0m4r
            last edited by

            @0m4r we had similar discussions already here

            swvalentiS 1 Reply Last reply Reply Quote 0
            • swvalentiS Offline
              swvalenti Project Sponsor @karsten13
              last edited by

              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.

              0m4r0 1 Reply Last reply Reply Quote 0
              • 0m4r0 Offline
                0m4r Module Developer @swvalenti
                last edited by

                @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.

                https://github.com/0m4r

                swvalentiS 1 Reply Last reply Reply Quote 0
                • swvalentiS Offline
                  swvalenti Project Sponsor @0m4r
                  last edited by

                  @0m4r said in Any plan to replace "request" and "moment"?:

                  const request = require(‘request’);

                  thank you for the explanation I understand better now

                  karsten13K 1 Reply Last reply Reply Quote 0
                  • karsten13K Offline
                    karsten13 @swvalenti
                    last edited by

                    @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 install request on their own are not!

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @karsten13
                      last edited by

                      @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…

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      karsten13K 1 Reply Last reply Reply Quote 1
                      • karsten13K Offline
                        karsten13 @sdetweil
                        last edited by

                        @sdetweil doing this in some of my own modules so I’m allowed to say this ;)

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 2 / 7
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy