-
-
Notifications
You must be signed in to change notification settings - Fork 782
Closed
Copy link
Labels
Description
What problem does this feature solve?
Node recently added support for the following (currently in RC status):
import.meta.dirname(https://nodejs.org/api/esm.html#importmetadirname)import.meta.filename(https://nodejs.org/api/esm.html#importmetafilename)import.meta.resolve(https://nodejs.org/api/esm.html#importmetaresolvespecifier)
As webpack + rspack already handle import.meta.url, I feel like it wouldn't be too much of a stretch to support these?
Currently in rspack:
import.meta.dirnameis replaced by/* unsupported import.meta.dirname */ undefinedimport.meta.filenameis replaced by/* unsupported import.meta.filename */ undefinedimport.meta.resolveis replaced by({}).resolve
I'm not sure how webpack handles this today, but it might be worth aligning with the webpack team regardless? And even if we can't support these (in the short term or long term), should the built no error/warn if these are encountered?
What does the proposed API of configuration look like?
I guess maybe node.__filename and node.__dirname could impact these (see https://rspack.dev/config/node), or new options could be added (either generic node.filename and node.dirname properties that handle both CJS and ESM, or a new node.import property just for ESM)?
Reactions are currently unavailable