My two cents on this, from the point of view of a daily Emscripten user on various projects :

If this change does not impact end-users of Emscripten, that just want to do C++ development targeting WebAssembly, then this is perfectly fine.   This change would just be an EMSDK "implementation detail", and I agree that from this point of view, removing the Java dependency is interesting.

However, if the users are expected to use Node/npm at some point, then please, please, don't do this :) Not everyone is willing to / can use the Node/npm ecosystem on the projects they are working on.


An alternative suggestion: instead of having to rely on 3rd party distribution system, why not "precompile/bundle" closure (as well as minify-html, or any other 3rd party dep), and use a more classic CDN-approach to deliver these big files.   This would remove the need for a package management system (npm, or even PIP if you have the same idea for Python tools) running on users machine... and potentially breaking for various reasons (network failures, misconfiguration of PATH, weird interaction with system-wide installation of Node/npm, etc..)


Cheers,

Gabriel

Le 17/12/2019 à 19:33, Alon Zakai a écrit :

Some possible concerns are:

Is npm supported everywhere that the emsdk currently is? I assume it's supported in even more, but it would be good to check.

How hard will supporting npm issues be for the devs here? That is, people will file issues on emscripten/emsdk that are due to npm not being set up right on their machine, or using the wrong version, or it fails due to some npm-specific issue, etc.. For myself personally, I don't use npm daily, so I am not already super-familiar with it, and those error messages and workarounds may not be obvious. Do other people that can respond to github issues have experience with npm?

- Alon


On Sun, Dec 15, 2019 at 6:31 AM Jukka Jylänki <[email protected] <mailto:[email protected]>> wrote:

    Hello all,

    the PRs

    https://github.com/emscripten-core/emsdk/pull/404,
    https://github.com/emscripten-core/emscripten/pull/9989, and
    https://github.com/emscripten-core/emscripten/pull/9990

    propose migrating Closure compiler and html-minifier to reside outside
    the Emscripten tree, and be installed via npm.

    The benefits of this change are:
     1. Future updates to closure and html-minifier will not bloat up the
    size of the Emscripten git repository (each update would increase the
    size of the git repository by ~+10% otherwise)
     2. Emscripten developers do not need to maintain a CDN and code for
    distributing closure/html-minifier, easing CDN and testing burden from
    emsdk,
     3. Tracking which version of closure and html-minifier we are on
    becomes explicit and idiomatic to people familiar with npm community
    (can be found in package.json) rather than having to look up git logs,
     4. Updating versions become easier, as migrating to a new versions
    can be changed into the file package.json

    The drawbacks of this change are:
     5. developers who follow the "I git cloned all repositories myself"
    approach and do not use emsdk need to run "npm install" once in the
    Emscripten root directory if they want to use closure or
    html-minifier,
     6. If npm goes down, it will disrupt emsdk installation

    Can people think of other benefits/drawbacks that should influence
    this design change?

    Cheers,
    Jukka

-- You received this message because you are subscribed to the Google
    Groups "emscripten-discuss" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:emscripten-discuss%[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/emscripten-discuss/CA%2B6sJ-2YQX9ku%3DPrwhDP0pnNoRZGjF8WtEnRPPMp0jFXJ-6Fsw%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQOBVM6EHiVZwrwGmD_Qub-koAFey%3DLLq_uHXi12E4-RQ%40mail.gmail.com <https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQOBVM6EHiVZwrwGmD_Qub-koAFey%3DLLq_uHXi12E4-RQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/549820ac-3512-3b28-4dca-ec47892848ef%40gmail.com.

Reply via email to