Skip to content
Permalink
Browse files

module: unflag resolve self

PR-URL: #31002
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
guybedford authored and BridgeAR committed Dec 17, 2019
1 parent 827d3fe commit 72c64605c95e7fc1d4b327b180f14bf70fcbfb24
Showing with 4 additions and 32 deletions.
  1. +1 −10 doc/api/cli.md
  2. +0 −3 doc/node.1
  3. +1 −3 lib/internal/modules/cjs/loader.js
  4. +0 −3 src/module_wrap.cc
  5. +1 −6 src/node_options.cc
  6. +0 −1 src/node_options.h
  7. +1 −6 test/es-module/test-esm-exports.mjs
@@ -178,7 +178,7 @@ added: v8.5.0
-->

Enable latest experimental modules features (currently
`--experimental-conditional-exports` and `--experimental-resolve-self`).
`--experimental-conditional-exports`).

### `--experimental-policy`
<!-- YAML
@@ -201,14 +201,6 @@ added: v11.8.0

Enable experimental diagnostic report feature.

### `--experimental-resolve-self`
<!-- YAML
added: v13.1.0
-->

Enable experimental support for a package using `require` or `import` to load
itself.

### `--experimental-specifier-resolution=mode`
<!-- YAML
added: v13.4.0
@@ -1091,7 +1083,6 @@ Node.js options that are allowed are:
* `--experimental-policy`
* `--experimental-repl-await`
* `--experimental-report`
* `--experimental-resolve-self`
* `--experimental-specifier-resolution`
* `--experimental-vm-modules`
* `--experimental-wasi-unstable-preview1`
@@ -138,9 +138,6 @@ Enable experimental
.Sy diagnostic report
feature.
.
.It Fl -experimental-resolve-self
Enable experimental support for a package to load itself.
.
.It Fl -experimental-vm-modules
Enable experimental ES module support in VM module.
.
@@ -64,7 +64,6 @@ const { getOptionValue } = require('internal/options');
const enableSourceMaps = getOptionValue('--enable-source-maps');
const preserveSymlinks = getOptionValue('--preserve-symlinks');
const preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');
const experimentalSelf = getOptionValue('--experimental-resolve-self');
const experimentalConditionalExports =
getOptionValue('--experimental-conditional-exports');
const manifest = getOptionValue('--experimental-policy') ?
@@ -429,10 +428,9 @@ function resolveBasePath(basePath, exts, isMain, trailingSlash, request) {
}

function trySelf(parentPath, isMain, request) {
if (!experimentalSelf) {
if (!experimentalConditionalExports) {
return false;
}

const { data: pkg, path: basePath } = readPackageScope(parentPath) || {};
if (!pkg || 'exports' in pkg === false) return false;
if (typeof pkg.name !== 'string') return false;
@@ -1153,9 +1153,6 @@ Maybe<URL> ResolveSelf(Environment* env,
const std::string& pkg_name,
const std::string& pkg_subpath,
const URL& base) {
if (!env->options()->experimental_resolve_self) {
return Nothing<URL>();
}
const PackageConfig* pcfg;
if (GetPackageScopeConfig(env, base, base).To(&pcfg) &&
pcfg->exists == Exists::Yes) {
@@ -325,16 +325,11 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() {
&EnvironmentOptions::userland_loader,
kAllowedInEnvironment);
AddAlias("--loader", "--experimental-loader");
AddAlias("--experimental-modules", { "--experimental-conditional-exports",
"--experimental-resolve-self" });
AddAlias("--experimental-modules", { "--experimental-conditional-exports" });
AddOption("--experimental-conditional-exports",
"experimental support for conditional exports targets",
&EnvironmentOptions::experimental_conditional_exports,
kAllowedInEnvironment);
AddOption("--experimental-resolve-self",
"experimental support for require/import of the current package",
&EnvironmentOptions::experimental_resolve_self,
kAllowedInEnvironment);
AddOption("--experimental-wasm-modules",
"experimental ES Module support for webassembly modules",
&EnvironmentOptions::experimental_wasm_modules,
@@ -103,7 +103,6 @@ class EnvironmentOptions : public Options {
bool enable_source_maps = false;
bool experimental_conditional_exports = false;
bool experimental_json_modules = false;
bool experimental_resolve_self = false;
std::string experimental_specifier_resolution;
std::string es_module_specifier_resolution;
bool experimental_wasm_modules = false;
@@ -170,12 +170,7 @@ function assertIncludes(actual, expected) {
'--experimental-conditional-exports',
'/es-modules/conditional-exports.js',
'Conditional exports',
],
[
'--experimental-resolve-self',
'/node_modules/pkgexports/resolve-self.js',
'Package name self resolution',
],
]
].forEach(([flag, file, message]) => {
const child = spawn(process.execPath, [flag, path(file)]);

0 comments on commit 72c6460

Please sign in to comment.
You can’t perform that action at this time.