Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
Node.js 8 is EOL since the end of 2019. Node.js is only used by our development tooling.
Proposed resolution
Drop support for Node.js 8. Require 10.18.0 instead which is the oldest supported version.
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
Node.js is a development dependency for Drupal core. In Drupal 9, Drupal core's Node.js requirement has been updated from 8.11.0 to 12.0.0. (Information on changes in Node.js 12.) An updated version of Node.js can be installed directly or with nvm. This only affects sites that have installed Drupal core's JavaScript development dependencies with npm or yarn.
Comment | File | Size | Author |
---|---|---|---|
#14 | 3107918-14.patch | 348 bytes | lauriii |
#2 | 3107918-2.patch | 351 bytes | lauriii |
Comments
Comment #2
lauriiiComment #3
lauriiiWe need resolve #3107927: Update Node.js to a more recent version on DrupalCI before we can move forward with this.
Comment #4
xjmComment #5
lauriiiAny thoughts on requiring Node.js 12 on Drupal 9? According to https://nodejs.org/en/about/releases/, Node.js 10 will be EOL in May 2021. Requiring Node.js 12 would give us an additional year since it will be EOL in May 2022.
Depending on the release schedule of Drupal 9, we might want to consider requiring Node.js 14 which will have its initial release in April. This would give us support until May 2023.
Comment #6
Gábor HojtsyComment #7
xjmComment #8
andypostComment #9
lauriiiComment #10
lauriii@catch mentioned on Slack that we can change our Node.js dependency in a minor release since it's only a development dependency. This removes some urgency around dropping support for Node.js 10. Based on that, we could move forward with #2.
Comment #11
effulgentsia CreditAttribution: effulgentsia at Acquia commentedPer #3107927-16: Update Node.js to a more recent version on DrupalCI, DrupalCI is now using Node12. Is there a compelling reason to still support Node10? If there is, then ok, but if not, then I think we should set the minimum to match what DrupalCI tests.
Comment #12
lauriiiWe probably don't have a strong reason to keep support for Node.js 10. There are some changes in the platform requirements of Node.js 12 which are described here: https://medium.com/@nodejs/introducing-node-js-12-76c41a1b3f3f. However, the changes don't seem severe, especially given that Node.js is just a development dependency.
On the other hand, I don't think it would be that much extra effort from us to keep supporting Node.js 10 for another year. It seems like all of our dependencies have kept support for Node.js 10. I also haven't seen any Node.js version specific bug reports since we introduced a development dependency on Node.js. Probably the biggest cost associated to supporting Node.js 10 would be having to drop support for Node.js 10 next spring once it's EOL.
Comment #13
xjmWe discussed this today in the committer meeting and agreed to require Node.js 12, ideally before RC. NW to update the patch for 12 instead of 10.
Comment #14
lauriiiHere's a new patch which sets Node.js 12.0 as the minimum requirement.
Comment #15
xjmDo we not need to rebuild the lock file for this?
Comment #16
lauriiiWe don't have to update the lock file because we are not changing any dependencies as part of this issue
Comment #17
longwaveWorks for me. If I try to install with the version of node that ships in the Ubuntu 18.04 base repos I get an error:
If I try with a newer version:
Comment #18
xjmReviewing now.
Comment #19
xjmOopsie, we need a release note.
Comment #20
lauriiiAdded release note
Comment #21
xjmMaking the release note a bit more direct/clearer.
Comment #22
xjmDoesn't need to be NR since it's just a release note wording tweak (though I did ask @lauriii to double-check my update to the release note).
Comment #23
xjmSaving issue credit.
Comment #26
xjmCommitted to 9.1.x and 9.0.x. Thanks!
Comment #27
xjmAlso adding the reference on Node 12 changes.
Comment #28
xjmComment #29
xjmComment #30
xjmComment #32
Wim LeersFYI: next update: #3261734: Require Node.js 16.