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 @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
              • S Offline
                sdetweil @karsten13
                last edited by

                @karsten13 doing it ON PURPOSE is a hack!!

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @sdetweil @sdetweil I am not convinced about both of your points of view. I mean technically yes.

                  But… looking into the modules themselves, they are solely made to work with the MagicMirror code base (99% of the cases)
                  What is the point to bloat the size of the installation with the same node module installed over and over again? when on, “global” can be used and relied upon? (well, yeah, I agree, “this situation” is one reason for it!). But why trade-off convenience over complexity?

                  I see it as a part of the Magic Mirror ecosystem, provide some common “code” to be used by everyone to both ease the development and the set-up of it.

                  As mentioned in the other thread, old legacy modules will probably stop working - forking them or re-doing them will fix them. This not only pushes forward the advancement of the whole MagicMirror tech stack, but it may strengthen the community and really push it to hold together and upgrade, modernize the code of the modules.

                  bottom line, nobody says it is going to be easy, but it is a big opportunity.

                  https://github.com/0m4r

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

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

                    What is the point to bloat the size of the installation with the same node module installed over and over again

                    it is NOT installed over and over

                    npm install start with the module folder and says

                    is it here?   
                       no   
                         look in the parent folders, 1 by 1, looking for a node_modules folder
                           is it there?
                              yes, stop
                       yes, 
                         stop. 
                    

                    so it will only be installed once…

                    in the near term with all the old modules ‘assuming’ is was installed,
                    it’ll have to be installed in the MM/node_modules (but only once)

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil yeah, I guess, I was not clear enough. And I think we are saying the same thing.

                      Installing “request” in the MM root folder solves the problem, and this is how I do run my magic mirror from the development branch at this very moment.

                      What I mean is that if the module is removed from the “MM/node_modules” folder (the last “parent” level for all modules), every single module will most likely need to install it on its own node_modules folder. This is where I meant it may blow up the size of the MM installation (modules included!)

                      I hope this clarifies my prev post :)

                      https://github.com/0m4r

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

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

                        What I mean is that if the module is removed from the “MM/node_modules” folder (the last “parent” level for all modules), every single module will most likely need to install it on its own node_modules folder. This is where I meant it may blow up the size of the MM installation (modules included!)

                        yeh, you have NO idea how big other stuff is already…

                        but, this is the design… there is virtual memory, and paging and … to offset these

                        now, remember, we are NOT making an installable bundle from all this, just a runtime layout

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        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