Skip to content
This repository was archived by the owner on Aug 4, 2021. It is now read-only.

Commit b6f6eb5

Browse files
Nick Woodwardlukastaegert
Nick Woodward
authored andcommitted
fix: respect setting the deprecated fields "module", "main", and "jsnext" (#204)
1 parent 2344757 commit b6f6eb5

File tree

3 files changed

+37
-1
lines changed

3 files changed

+37
-1
lines changed

src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function getMainFields (options) {
5151
// eslint-disable-next-line no-console
5252
console.warn(`node-resolve: setting options.${option} is deprecated, please override options.mainFields instead`);
5353
if (options[option] === false) {
54-
mainFields = mainFields.filter(mainField => mainField === field);
54+
mainFields = mainFields.filter(mainField => mainField !== field);
5555
} else if (options[option] === true && mainFields.indexOf(field) === -1) {
5656
mainFields.push(field);
5757
}

test/samples/prefer-main/main.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import entry from 'entries';
2+
3+
export default entry;

test/test.js

+33
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,39 @@ describe( 'rollup-plugin-node-resolve', function () {
547547
});
548548
});
549549

550+
it( 'should support disabling "module" field resolution', function () {
551+
return rollup.rollup({
552+
input: 'samples/prefer-main/main.js',
553+
plugins: [
554+
nodeResolve({ module: false })
555+
]
556+
}).then( executeBundle ).then( module => {
557+
assert.equal( module.exports, 'MAIN-ENTRY' );
558+
});
559+
});
560+
561+
it( 'should support disabling "main" field resolution', function () {
562+
return rollup.rollup({
563+
input: 'samples/prefer-module/main.js',
564+
plugins: [
565+
nodeResolve({ main: false })
566+
]
567+
}).then( executeBundle ).then( module => {
568+
assert.equal( module.exports, 'MODULE-ENTRY' );
569+
});
570+
});
571+
572+
it( 'should support enabling "jsnext" field resolution', function () {
573+
return rollup.rollup({
574+
input: 'samples/prefer-module/main.js',
575+
plugins: [
576+
nodeResolve({ main: false, module: false, jsnext: true })
577+
]
578+
}).then( executeBundle ).then( module => {
579+
assert.equal( module.exports, 'JSNEXT-ENTRY' );
580+
});
581+
});
582+
550583
describe( 'symlinks', () => {
551584
function createMissingDirectories () {
552585
createDirectory( './samples/symlinked/first/node_modules' );

0 commit comments

Comments
 (0)