I did not know that it was that easy to plug in new functionality in the
module loader. With this new information it seems very doable to package an
application with Rollup (and have the benefit of their tree-shaking and
other goodies), and then write a new module loader that can load the few
native add-ons it cannot handle (and a wrapper around the stuff that
Rollup  has generated, that first loads this new module loader).

I will do some experimentation tomorrow and see if I can get it to work for
our project.

fre 21 okt. 2016 kl 20:25 skrev Jeremy Darling <jeremy.darl...@gmail.com>:

> Since you can overload the way that Require works you don't actually need
> a "change" to Node you can just add in your own loader, as an example here
> is a very simple YAML loader:
>
> const fs = require('fs');
> const yaml = require('js-yaml');
>
> require.extensions['.yaml'] =
> require.extensions['.yml'] = (module, filename)=>{
>   const content = fs.readFileSync(filename, 'utf8');
>   module.exports = yaml.load(content);
> };
>
> You could do something similar with whatever and have it basically
> decompress say a Zstandard archive or something.  I only suggest Zstandard
> as I've seen great compression with it against extremely large JSON
> structures, so would probably excel at JS as well.
>
> On Thu, Oct 13, 2016 at 9:12 AM, Jan Flyborg <jan.flyb...@gmail.com>
> wrote:
>
> Hi,
>
> I am wondering if there are any plans to change the module system of
> nodejs to make it able to import modules from a single archive (much like
> Java's jar which actually is a zip in disguise).
>
> We are planning on deploying code on a space constrained device and since
> our node_module folder is very large, we are looking for ways to reduce its
> size. We can of course address this with normal minification, but if a
> jar-like archive format were available that would probably also help us a
> lot.
>
> Any thoughts on this?
>
> Cheers
>     //Jan Flyborg
>
>
>
>
> --
>
> Sent from my mobile device. Please excuse my brevity.
>
> --
>
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nodejs+unsubscr...@googlegroups.com.
> To post to this group, send email to nodejs@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/CACrfS1AcaqsM2EjicTtsJMxC3PG0wxCaE%3DDSvK4JCvCGM%2BrWVA%40mail.gmail.com
> <https://groups.google.com/d/msgid/nodejs/CACrfS1AcaqsM2EjicTtsJMxC3PG0wxCaE%3DDSvK4JCvCGM%2BrWVA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
> --
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nodejs+unsubscr...@googlegroups.com.
> To post to this group, send email to nodejs@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/CAAhs7EgwZEFJZcr7rF%2B0XcS688UAxPpgP-p2goxoYgiSxvEJPA%40mail.gmail.com
> <https://groups.google.com/d/msgid/nodejs/CAAhs7EgwZEFJZcr7rF%2B0XcS688UAxPpgP-p2goxoYgiSxvEJPA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 

Sent from my mobile device. Please excuse my brevity.

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CACrfS1DEUKfxx18%3DXermBTOrPNceb_0kN%2Bo69gYZMxvjPMZ8XQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to