Skip to content

Fixing --preserve-symlinks. Enhancing node to exploit. #496

Description

To all package managers, npm, yarn, ied, pnpm

Are Symlinks The Problem?

One day long ago, a version of node was released that purported to support symlinking of module directories. Its implementation was flawed. It offered no way to turn the "support" off. And thus the ecosystem proclaimed symlinks to be "a very bad thing", best avoided in practice, choosing to believe they could never possibly work well with, let alone actually improve node.

This simple issue at nodejs/node challenges that by:

  • Fixing three critical problems with --preserve-symlinks:
    • Memory Bloat
    • Add-on Crashing
    • And "The Fundamental Flaw": That it always converts "main.js" to its real path
  • Backward compatibly enhancing node so modules can be stored separately from the directory structures that dictate their dependency version resolutions, while keeping those version-specifying structures coupled to a given top-level '/node_modules' root. This seamlessly enables:
    • Machine level stores
    • Simplified single-machine, concurrent development of dependent modules
    • 50x reduction in install times (after initial install)
    • A way out of symlink directory cycles

To access a fork/branch with fixes, and to learn a little more about why and how, please visit the issue at nodejs/node. If you see the value, please offer your resolute support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions