linkedin / parseq

Asynchronous Java made easier
Apache License 2.0
1.17k stars 266 forks source link

Rearrange JS dependencies so we can build parseq-tracevis with Python 3+ #337

Closed zackthehuman closed 1 year ago

zackthehuman commented 1 year ago

Summary

Pinning Python to 2.7 is not working anymore since GitHub dropped support for Python 2.7. We originally pinned it to avoid an issue where node-gyp fails when combined with Python 3.x during npm install. The reasons for this failure are:

A proper path forward would be to update and modernize the entire JavaScript stack used in parseq-tracevis -- which is a non-trivial amount of work.

As a workaround, we can use a pre-built version of d3. A local copy of d3 v3.x has been added to the local repository, and the dependency on d3 has been removed from package.json. Doing this avoids the need for building native code, and thus the need for node-gyp. This allows us to build using Python 3.x because now there is no conflict.

Testing Done