1 |
On Tue, 20 Mar 2018 14:48:29 -0400 |
2 |
Michael Orlitzky <mjo@g.o> wrote: |
3 |
|
4 |
> There's a real technical problem hidden in there. Since npm |
5 |
> (recursively!) bundles every dependency, nobody worries about |
6 |
> compatibility in their JS packages. You'll quickly find yourself stuck. |
7 |
|
8 |
Honestly, I expected at some point we'd reach for slotting and normalization, |
9 |
and recursive trees of symlinks.... |
10 |
|
11 |
eg: |
12 |
/usr/lib/nodejs/<packagename>/<version>/lib/<dependency-name> -> /usr/lib/nodejs/<packagename>/<version> |
13 |
|
14 |
Or something like that. |
15 |
|
16 |
So you'd wind up with |
17 |
|
18 |
/usr/lib/nodejs/foo/1.0/lib/bar -> /usr/lib/nodejs/bar/1.0 |
19 |
/usr/lib/nodejs/foo/1.0/lib/baz -> /usr/lib/nodejs/baz/2.0 |
20 |
/usr/lib/nodejs/bar/1.0/lib/baz -> /usr/lib/nodejs/baz/1.0 |
21 |
/usr/lib/nodejs/baz/1.0/... |
22 |
/usr/lib/nodejs/baz/2.0/... |
23 |
|
24 |
Or something like that. But I imagine constructing such a thing a |
25 |
rather painful exercise. |