First the actual issue of this bug may be solved because we have found 
a technical solution by cheating a little bit on dependencies:
https://lists.alioth.debian.org/pipermail/pkg-javascript-devel/2017-December/022806.html
https://anonscm.debian.org/cgit/pkg-javascript/node-babel-preset-env.git/tree/debian/patches/00-babelrc.patch

Second ATM in debian node-babel-preset-env is separate from node-babel,
but upstream moved it back into the main babel repo:
https://github.com/babel/babel-preset-env/
"Now that babel-preset-env has stabilized, it has been moved into the main Babel
mono-repo."
So in the near future node-babel-preset-env may well be one of the binaries
generated from node-babel source. And when that happens, babel will depend on
itself because:
https://github.com/babel/babel/blob/master/package.json#L15

Third considering the ephemeral nature of the boundaries between one package and
another, I propose that we consider circular references in general, be them 
within
a package or across packages.

Fourth to Don, many thanks for trying to find a clean technical solution, but 
that
won't work in this case because the babel makefile bootstrap target does:

yarn
./node_modules/.bin/lerna bootstrap
make build
cd packages/babel-runtime; node scripts/build-dist.js

and yarn and lerna are both WIP:
- yarn: https://bugs.debian.org/843021
- lerna: https://bugs.debian.org/849258

and both depend on babel:
https://wiki.debian.org/Javascript/Nodejs/Tasks/yarn
https://wiki.debian.org/Javascript/Nodejs/Tasks/lerna

so it's still a circular reference !

Now back to the issue, while it is certainly possible to bootstrap gcc,
babel, rollup or any self-compiling compiler, how much skills and time it
requires to achieve it once AND to keep it working when upstream moves on
varies a lot.

The bootstrap process of gcc for example is stable and supported by
upstream. Once you have that, there is still a lot of work to set it up in
debian, but if it works it is likely to keep working in the future.
With certain javascript packages on the other hand, given that upstream is
not in the business of systems programming and does not care about a clean,
"orthodox" bootstrap, it can be harder to get once and even harder to keep
working when upstream changes tooling, language versions ...

The javascript team has very limited resources when confronted with the
enthusiasms of upstream. The whole point of making debian or derivatives
usable by javascript folk is the hope that with more debian users among them
some may volunteer and channel some of their enthusiasm in integrating
javascript tools and products within debian !

In conclusion I think it would be nice to be able to close this bug keeping
in mind that we need to be a bit flexible with all this node-* stuff !

-- 
Pkg-javascript-devel mailing list
Pkg-javascript-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-javascript-devel

Reply via email to