Hacker News new | ask | show | jobs
by yk 35 days ago
Pull left-pad as dependency presumably.
1 comments

Which then, inexplicably, pulls left-justify as a recursive dependency.
The dependency cycle is actually the functional mechanism of the code, because they subvert the dedup mechanism in the package manager using a random generation trick. Each recursive copy of the dependencies takes up a little bit more space, which ultimately gets converted to the spaces inserted into the original datum; the caller is expected to adjust the cache settings to signal the desired amount. That's also why if you're using left-justify to process strings, Yarn is recommended for best compatibility. /joke
This is so beautifully cursed, reusing the module loader state as your local state. We could have the familiar Python syntax of

`from <key> import <value>`

And a custom import hook eating the error. To get value(s) for a given key, naturally we'd scan the module loader cache. Elegant.

So you're saying dependency resolution is Turing complete?