Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
module: 12.x self resolve flag as experimental modules
PR-URL: #31757
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
  • Loading branch information
guybedford authored and MylesBorins committed Feb 13, 2020
commit f0b2d875d96d942d6d22612986dceb225317fede
1 change: 1 addition & 0 deletions lib/internal/modules/cjs/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,7 @@ function resolveBasePath(basePath, exts, isMain, trailingSlash, request) {
}

function trySelf(parentPath, isMain, request) {
if (!experimentalModules) return false;
const { data: pkg, path: basePath } = readPackageScope(parentPath) || {};
if (!pkg || pkg.exports === undefined) return false;
if (typeof pkg.name !== 'string') return false;
Expand Down
16 changes: 16 additions & 0 deletions test/es-module/test-esm-flagged-self.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict';

require('../common');
const assert = require('assert');
const path = require('path');
const { createRequireFromPath } = require('module');

const fixturesRequire =
createRequireFromPath(path.resolve(__dirname, '../fixtures/_'));

try {
fixturesRequire('pkgexports/resolve-self');
assert(false);
} catch (e) {
assert.strictEqual(e.code, 'MODULE_NOT_FOUND');
}