You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If no installed version (whether system (#31) or Nodelix) is available -> install the latest version satisfying the range.
If Nodelix is used by multiple libraries a project depends on, maximizing the supported Node version range from each library will make installation faster and take less disk space.
The text was updated successfully, but these errors were encountered:
sheerlox
changed the title
[Feature] Enable specifying semver ranges for the Node version
[Feature] Enable specifying semver ranges instead of a specific Node version
Jan 17, 2025
Oh, wait ... even better: enable specifying auto as a version, which would determine the most recent Node.js version to install in order be compatible with all packages engine spec 👀
I think this is a good idea because specifying a Node version in our config.exs is duplicating already existing information (library engine compatibility).
This would involve something like:
detecting all packages (and their versions) from package.json files & mix nodelix.npm install calls
fetching their respective package.json files from npm
resolving the optimal Node version/range to use for compatibility.
Resolving to a range would still be preferable for the same reason this issue exists.
Given all of this is a bit operationally intensive, it would probably benefit from being a separate Mix task that updates the Node version/range in the config, and that could be run in CI for dependency update PRs (e.g. Renovate/Dependabot).
If no installed version (whether system (#31) or Nodelix) is available -> install the latest version satisfying the range.
If Nodelix is used by multiple libraries a project depends on, maximizing the supported Node version range from each library will make installation faster and take less disk space.
The text was updated successfully, but these errors were encountered: