Description
What is the problem this feature will solve?
Currently require
needs to be used in ES modules in order to be able to load native addons:
import { feature } from './native.node';
Previous issue: #40541.
There is some discussion to be had around whether import assertions should be used for the type. Personally I would even prefer if the import assertion wasn't necessarily mandated like we do for Wasm imports.
What is the feature you are proposing to solve the problem?
Transparently add support for import('./native.node')
to work in the Node.js ESM implementation, based on the .node
file extension.
This is one of the few last features that require()
supports but import()
does not, and would help gain full parity between the module systems.
What alternatives have you considered?
The alternative is to rely on process
or have a more ergonomic process.getNativeModule('./mode.node')
, but I think users would prefer the ergonomics of a direct import.
Some thought may need to be put to default
versus named exports support in this interface as well.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Awaiting Triage