-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: bump min Node.js to v14.17; update deps #3611
Conversation
This updates a number of dependencies now that our base Node.js version is v14. There is some subtlety in the 'pino' and 'glob' deps. They both use AbortController (pino via its usage of readable-stream@4) or <AbortSignal>.reason to support aborting async operations. Full support for these were not added until Node.js 14.17 -- yet this APM agent currently supports back to 14.5.0. I feel this is not an issue. In node 14.x `AbortController` et al are only available behind a flag (`node --experimental-abortcontroller`). Node.js v14.17 added `<AbortSignal>.reason`, so the fail case with Pino is a user using (a) a Node.js version in the range [v14.5, v14.17), and (b) with the `--experimental-abortcontroller` flag, and (c) something in the APM agent's code path tries to use `AbortSignal.reason`. When the flag is not used both readable-stream@4 and glob@10 will use a polyfill. We could consider setting min to >14.17, but I don't currently think it is necessary. Closes: #2760
Cannot use pino@8 either because its dep pino@7 is not more than a year old:
This makes me want to consider bumping our min Node.js to v14.17. It would give us pino@8 (and glob@10, FWIW). Node v14.17 was released 11-May-2021, over 2 years ago (https://nodejs.org/download/release/). OTel JS SDK 1.x base version is I feel I'm agonizing over a minor thing. :) |
After some discussion: let's do it. |
…agent (e.g. the warning about a pre-release version of the APM agent)
This bumps the mininum supported Node.js from v14.5 to v14.17; and bumps a number of dependencies. - v14.5 was for AsyncLocalStorage - v14.6 brings a V8 with spport for private methods syntax, FinalizationRegistry (used by pino@8) - v14.8 brings AsyncResource.bind - v14.17 brings AbortController, AbortSignal.reason (used by readable-stream@4, glob@10, etc.) Closes: elastic#2760
This bumps our min Node.js from v14.5 to v14.17; and bumps a number
of dependencies.
Closes: #2760