-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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
[discuss] cli,doc: doc deprecate --preserve-symlinks flags #41540
base: main
Are you sure you want to change the base?
Conversation
It's not node core, but it's a data point. |
Why not go further and actually deprecate or even remove them in a semver major? We’re not too far off from v18. (I would suggest doing that in its own PR, so that we can ship the docs deprecation immediately.) |
We're making heavy use of this to be able to use I don't think there's any way around it when using monorepos with the Additionally, the Typescript compiler itself and Angular also have specific flags to preserve symlinks, which work in conjunction with nodejs' built in support for this flag. See: As for datapoints, see: This flag is generally in active use and if NodeJS removed it, it would probably stop working: In my experience, the flag becomes mandatory with certain monorepo setups. |
These flags are horribly unmaintained, and a decidedly few number of places use them (even package managers that use symlinks like pnpm and yarn don't by default and their issue trackers have hints of it being broken to users). The burden of dealing with their edge cases/design concerns isn't being kept up with even with effort to do so and testing of these flags is not existent.
I think we should at least doc deprecate them due to lack of support from the maintenance side of things unless something changes in order to allow maintainers to focus on features that are used/actively maintained when designing features.
I am not proposing we remove them at this time or anytime in the future, but we don't really test that these things work in any reliable way since they tend to break things like CITGM nor do we have real world examples of heavy usage from which to gather CI tests. We equally haven't found some person actively keeping this feature itself maintained outside of efforts to ensure they keep working to the best of our knowledge.
In addition, we likely should audit these to see security concerns and write down if they are affected by various CWE concerns with symlinks.
CC: @nodejs/modules