conda-forge / conda-forge/conda-forge.github.io

JavaScript Packing Issues and Best Practices

Open
#597 12 comments 0 reactions 0 assignees View on GitHub
Discussion
Dominant language
JavaScript
Stars
170
Forks
320
Avg merge
2d 10h
Merged PRs (30d)
5

Description

Hello all, I currently see a few issues surrounding the creation and maintainence of JavaScript packages:

1. The current way of building JS packages (`npm install -g .`) no longer works with conda build v3.
* For example, https://github.com/conda-forge/jstz-feedstock/pull/1 produces the following: `Error: lib/node_modules/jstz is a symlink to a path that may not exist after the build is completed (../../../work/jstz-2.0.0)`
* This is apparently because of changes to npm (CC @isuruf @minrk)
* The fix is `npm pack; npm install -g pkg-version.tgz`
2. Because of (1), all PRs the bot is making against JS packages are broken.
3. The maintainers of most JS packages (@sannykr @cshaley) haven't been responsive to the bots PRs or gitter (but it hasn't been that long on gitter).
4. `npm` seems to install a copy of all dependencies for each package that is installed. Is there any way around this so that we can have real dependency chains on the graph in conda?
5. Related to (4), do we need to use `npm` to install JS packages at all? If all `npm install` is doing is shoving some files into a known directory and adding some symlinks, it seems like we could do that with conda-build as well. It is not as though there would be any penalty or collision with npm either, since npm would copy the package again anyway.

Anyway, some feedback, guidance, and discussion would be most welcome! CC @conda-forge/core

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.