ModuleSpecifier: include ".js" or not?

Wes Garland wes at
Tue Apr 14 15:27:27 UTC 2015

Some food for thought from a non-standard use-case.

In GPSEE, we can require("module") - but we support both modules written in
JavaScript, and modules written in C (technically, any compiled binary with
the correct C API), or both. We dlload("") (if present), then
interpret "module.js" (if present) as part of the module loading procedure.

So, from my POV, loading a module from script with the extension .js is not
ideal.  If you are going to assign meaning to the extension, you must think
about what it means.  In our case, it indicates the file type to load, and
the implementation of the library is not relevant to the library user -
only the API matters.  And if you are only ever going to allow one
extension type, then there is no point to typing .js on the end of every
module name.

In my opinion, the ModuleSpecifier should be fed the module name, and is it
up to the loader to munge the filename (eg by adding .js) as it sees fit.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list