Recently, Node.js changed the way node modules are installed to allow for better parallel functionality and easier unbundling of certain parts of Node.js.
Previously, Node.js was using a symlink, %{_libdir}/node_modules, which pointed to a versioned path, e.g., %{_libdir}/node_modules_22.
This has changed to using a global %{_libdir}/node_modules static shared folder for generic modules and %{_libdir}/node_modules_XX for version-specific modules.
This change is better described in the Fedora change proposal wiki: https://fedoraproject.org/wiki/Changes/NodejsNodeModulesPath.
This also needed to be reflected in nodejs-packaging macros, which forces a rebuild of dependent packages.
Need to fix a broken link:
$ ll /usr/bin/bash-language-server
lrwxrwxrwx 1 root root 54 Jan 30 13:15 /usr/bin/bash-language-server -> /usr/lib/node_modules/bash-language-server/bin/main.js
$ ll /usr/lib/node_modules/bash-language-server/bin/main.js
ls: cannot access '/usr/lib/node_modules/bash-language-server/bin/main.js': No such file or directory
As part of https://fedoraproject.org/wiki/Changes/NodejsRepackaging,
the path `/usr/lib/node_modules` has been changed from a directory to a
symlink. This causes a file conflict when trying to install this
package in Fedora 38.
Stop owning that path; it's already owned by Node.js. This is consistent
with other packaged Node.js apps I've manually checked.