Hello nodejs SIG,
A few months ago, nodejs-winston was orphaned due to a (trivial) FTBFS issue. It's a dependency of discord-irc, which I maintain, so I took it over and fixed it.
https://src.fedoraproject.org/rpms/nodejs-winston
However, we ship winston 0.7.3, which is quite old-- it's now so old, in fact, that the latest releases of discord-irc don't work with it. A few weeks ago i decided to see what it would take to update it to winston 3.2.1, the latest release, to fix this.
The answer was... quite a lot. I did this in a copr and wound up needing to package 20 new nodejs packages: https://copr.fedorainfracloud.org/coprs/tc01/nodejs-winston/packages/
Most appeared to be trivial, with two exceptions:
* winston itself wanted a newer version of async than we ship, but I was able to patch it relatively easily to work with async 1.5.1. * diagnostics has support for a couple different adapters, including an "asyncstorage" adapter which ultimately depends on the entire React stack. It doesn't seem like this asyncstorage adapter is strictly necessary for the package to work, so I just removed it / patched it out for now.
According to a repoquery, the only other package in F32 which requires winston is nodejs-prompt. I'm not sure what updating winston will do to prompt; it looks like the latest release of prompt claims to want winston 2.x, which is newer than what we have now but still a bit older than what I packaged in copr. Repoquery on F32 says only "grunt-init" and "muffin" are dependencies of prompt, and these appear to be leaf packages.
Should I go ahead and try to get these packages into Fedora (and then update winston)? If I do, is it alright to then grant rights on them to the nodejs SIG group? I'm a bit reluctant to become the sole maintainer of 20 new nodejs packages... so I wanted to check in on this list before moving ahead and opening 20 package review tickets.
Thanks in advance, Ben Rosser
As much as I'd like 20 new nodejs packages, this seems like a good candidate for bundling. In short, update winston to the latest, and bundle it's dependencies, especially it's build dependencies.
I'm not sure what to do about nodejs-prompt. Except to say that if you hadn't taken over nodejs-winston, it wouldn't be a happy package anyway.
On Fri, Jun 5, 2020 at 8:30 AM Ben Rosser rosser.bjr@gmail.com wrote:
Hello nodejs SIG,
A few months ago, nodejs-winston was orphaned due to a (trivial) FTBFS issue. It's a dependency of discord-irc, which I maintain, so I took it over and fixed it.
https://src.fedoraproject.org/rpms/nodejs-winston
However, we ship winston 0.7.3, which is quite old-- it's now so old, in fact, that the latest releases of discord-irc don't work with it. A few weeks ago i decided to see what it would take to update it to winston 3.2.1, the latest release, to fix this.
The answer was... quite a lot. I did this in a copr and wound up needing to package 20 new nodejs packages: https://copr.fedorainfracloud.org/coprs/tc01/nodejs-winston/packages/
Most appeared to be trivial, with two exceptions:
- winston itself wanted a newer version of async than we ship, but I
was able to patch it relatively easily to work with async 1.5.1.
- diagnostics has support for a couple different adapters, including
an "asyncstorage" adapter which ultimately depends on the entire React stack. It doesn't seem like this asyncstorage adapter is strictly necessary for the package to work, so I just removed it / patched it out for now.
According to a repoquery, the only other package in F32 which requires winston is nodejs-prompt. I'm not sure what updating winston will do to prompt; it looks like the latest release of prompt claims to want winston 2.x, which is newer than what we have now but still a bit older than what I packaged in copr. Repoquery on F32 says only "grunt-init" and "muffin" are dependencies of prompt, and these appear to be leaf packages.
Should I go ahead and try to get these packages into Fedora (and then update winston)? If I do, is it alright to then grant rights on them to the nodejs SIG group? I'm a bit reluctant to become the sole maintainer of 20 new nodejs packages... so I wanted to check in on this list before moving ahead and opening 20 package review tickets.
Thanks in advance, Ben Rosser _______________________________________________ nodejs mailing list -- nodejs@lists.fedoraproject.org To unsubscribe send an email to nodejs-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject.org
On Fri, Jun 5, 2020 at 11:47 AM Troy Dawson tdawson@redhat.com wrote:
As much as I'd like 20 new nodejs packages, this seems like a good candidate for bundling. In short, update winston to the latest, and bundle it's dependencies, especially it's build dependencies.
I'm not sure what to do about nodejs-prompt. Except to say that if you hadn't taken over nodejs-winston, it wouldn't be a happy package anyway.
I guess bundling could work; how easy is this to do? Is there documentation somewhere on the best way to bundle nodejs modules? Do you just make a node_modules directory and copy them over?
I think only a few are just build dependencies-- well, test dependencies. abstract-winston-transport is required for both winston-transport and winston's unit tests, and then std-mocks is also required by winston's unit tests.
Though, the real offender here is not winston but diagnostics, which (in addition to the dependency on the React stack that I patched out!) ended up needing about ~half of the new packages:
nodejs-colorspace nodejs-color nodejs-color-convert nodejs-color-name nodejs-color-string nodejs-color-name (again) nodejs-simple-swizzle nodejs-text-hex nodejs-enabled nodejs-kuler
Also, it looks as though eventemitter3 and objstorage, which I built in copr, are not actually required (they were needed for storage-engine, which is the React piece of diagnostics I ended up up scrapping). So, that's:
* 18 total new node modules. * nodejs-diagnostics and its 9 dependencies listed above are 10 of these. * In addition to diagnostics, 6 new dependencies for winston itself: winston-transport, logform, triple-beam, fast-safe-stringify, fecha, one-time. (several of these are also required by winston). * 2 test dependencies for nodejs-winston and/or nodejs-winston-transport: std-mocks and abstract-winston-transport
Ben Rosser
On Fri, Jun 5, 2020 at 12:29 PM Ben Rosser rosser.bjr@gmail.com wrote:
On Fri, Jun 5, 2020 at 11:47 AM Troy Dawson tdawson@redhat.com wrote:
As much as I'd like 20 new nodejs packages, this seems like a good candidate for bundling. In short, update winston to the latest, and bundle it's dependencies, especially it's build dependencies.
I'm not sure what to do about nodejs-prompt. Except to say that if you hadn't taken over nodejs-winston, it wouldn't be a happy package anyway.
I guess bundling could work; how easy is this to do? Is there documentation somewhere on the best way to bundle nodejs modules? Do you just make a node_modules directory and copy them over?
I think only a few are just build dependencies-- well, test dependencies. abstract-winston-transport is required for both winston-transport and winston's unit tests, and then std-mocks is also required by winston's unit tests.
Though, the real offender here is not winston but diagnostics, which (in addition to the dependency on the React stack that I patched out!) ended up needing about ~half of the new packages:
nodejs-colorspace nodejs-color nodejs-color-convert nodejs-color-name nodejs-color-string nodejs-color-name (again) nodejs-simple-swizzle nodejs-text-hex nodejs-enabled nodejs-kuler
Also, it looks as though eventemitter3 and objstorage, which I built in copr, are not actually required (they were needed for storage-engine, which is the React piece of diagnostics I ended up up scrapping). So, that's:
- 18 total new node modules.
- nodejs-diagnostics and its 9 dependencies listed above are 10 of these.
- In addition to diagnostics, 6 new dependencies for winston itself:
winston-transport, logform, triple-beam, fast-safe-stringify, fecha, one-time. (several of these are also required by winston).
Argh, typo: several of these are also required by winston-transport in addition to winston.
Ben
- 2 test dependencies for nodejs-winston and/or
nodejs-winston-transport: std-mocks and abstract-winston-transport
Ben Rosser
nodejs@lists.fedoraproject.org