<div dir="ltr"><div>While reading Dominic Denicola's spec for dynamic import() at <a href="https://github.com/tc39/proposal-dynamic-import">https://github.com/tc39/proposal-dynamic-import</a>, I read his rational for not having import be a regular function, but rather a "syntactic form". The idea is that import() needs to be "in the scope" of the current module, as it needs to resolve the module path it is given relative to the current module's.</div><div>Thinking about it some more, I thought it would be a pity for import to be so "special", and asked myself whether there will be more features that will need to be "module-aware" like import().</div><div><br></div><div>And there are! (I think...) - __filename and __dirname in NodeJS are exactly such features. Actually, anything passed to the function wrapping each NodeJS module is such a feature, but going over them, only __filename and __dirname are not immediately related to the module mechanism.</div><div><br></div><div>So my question is this (and it is specifically addressed to the NodeJS implementors in the group): in NodeJS's implementation of ES6 modules, how will __dirname and __filename be implemented? Will there still be a function wrapper like in the current module implementation? Or will __dirname and __filename be a "syntactic form" like import()? Or something else?</div><div><br></div><div>Thanks,</div><div>Gil Tayar</div></div>