node/test/fixtures/resolve-paths/default/verify-paths.js
cjihrig 8578e81b2b
module: replace default paths in require.resolve()
Prior to this commit, the default search paths would be included
in the require.resolve() process, even if user specified paths
were provided. This commit causes the default paths to be
omitted by using a fake parent module.

Refs: https://github.com/nodejs/node/issues/5963
PR-URL: https://github.com/nodejs/node/pull/17113
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-11-21 11:38:12 -05:00

21 lines
618 B
JavaScript

'use strict';
require('../../../common');
const assert = require('assert');
const path = require('path');
// By default, resolving 'dep' should return
// fixturesDir/resolve-paths/default/node_modules/dep/index.js. By setting
// the path to fixturesDir/resolve-paths/default, the 'default' directory
// structure should be ignored.
assert.strictEqual(
require.resolve('dep'),
path.join(__dirname, 'node_modules', 'dep', 'index.js')
);
const paths = [path.resolve(__dirname, '..', 'defined')];
assert.strictEqual(
require.resolve('dep', { paths }),
path.join(paths[0], 'node_modules', 'dep', 'index.js')
);