Closed
Description
- Version: 9.3.0
- Platform:
Linux 4.9.77 x86_64 GNU/Linux
- Subsystem:
require.resolve
To replicate create a directory with the following files:
test.js
index.js
exists/index.js
both of the index.js
files can contain anything. They only have to exist.
test.js
should contain the following:
'use strict';
let assert = require('assert');
const OPTS = { paths: ['./imaginary', './exists'] };
const FILE = 'index.js';
let bare = require.resolve(FILE, OPTS);
let dot = require.resolve(`./${FILE}`, OPTS);
console.info(`bare: ${bare}`);
console.info(`dot: ${dot}`);
assert.strictEqual(bare, dot);
Execute the test.js
file with node test.js
on v9.3.0
or later.
As you can see from the code in the test, simply adding ./
to the file name to be resolved causes a local matching file to be returned.
Specifically:
- When an earlier path in the paths array doesn't exist
- Even though there is a matching file in a path that does exist later in the paths array.
This bug was introduced in v9.3.0
. v9.2.1
and prior behave correctly.
Metadata
Metadata
Assignees
Labels
No labels