For what it’s worth, this hazard is not unique to Windows. A lot of us
are working on OS X.

This is probably surprising to a lot of folks. OS X by default also
ships with a case-insensitive file system.

$ touch Foo.txt
$ ls foo.txt
foo.txt

It is alas too late to restrict module identifiers to lower-case (per
CommonJS) by throwing exceptions for ids that include upper-case
letters. Consider:

require("../build/Release/context.node");

Safely making module identifiers case-sensitive would amount verifying
that the canonical/realpath of the identifier matches the requested
identifier.

Kris Kowal

Reply via email to