Closed coreyfarrell closed 4 years ago
Ugh! The npm ecosystem makes me really frustrated. I agree with your assessment and will need to update the .boilerplate
. I probably won't make the engine bump on my lead
project which was the first project I updated to these patterns.
The specific reason projects require node.js 10.12.0+ is usually recursive fs.mkdir
, nobody switched to fs.mkdir(dirname, {mode: mode}, callback)
. From this the requirement ripples out.
This is a follow-up to https://github.com/gulpjs/fs-mkdirp-stream/pull/6#discussion_r422636985 where I pointed out use of a 10.12.0 form of options argument to fs.mkdir. I'm thinking we might want to specify engines.node
>=10.12.0
or>=10.13.0
on everything anyways. It is very common in the ecosystem for packages that support node.js 10+ to either require recursivefs.mkdir
(10.12.0) or to not support minor releases before LTS (10.13.0).Supporting 10.0.0 brings little value and will setup a long term conflict with both production and development dependencies. For example eslint 7.0.0 (just released) declares support for node.js
^10.12.0 || >=12.0.0
. babel 8 and nyc 16 also will not support node.js10.0.0 - 10.11.x
. These are examples of packages which will explicitly declare non-support for older point releases of 10.x. Many packages will simply declare support for>=10
but only work on>=10.12.0
.