modules: do not share the internal require function with public loaders
This patch removes NativeModule.require
and
NativeModule.requireWithFallbackInDeps
. The public loaders now
have to use a special method
NativeModule.prototype.compileForPublicLoader()
to compile native
modules. In addition this patch moves the decisions of proxifying
exports and throwing unknown builtin errors entirely to public
loaders, and skip those during internal use - therefore loaders.js
,
which is compiled during bootstrap, no longer needs to be aware of
the value of --experimental-modules
.
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
commit message follows commit guidelines