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.