diff --git a/resolvers/node/CHANGELOG.md b/resolvers/node/CHANGELOG.md index f0d2358ba..141884408 100644 --- a/resolvers/node/CHANGELOG.md +++ b/resolvers/node/CHANGELOG.md @@ -4,10 +4,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). This change log adheres to standards from [Keep a CHANGELOG](http://keepachangelog.com). ## Unreleased +### Added +- add `.node` extension ([#1663]) ## v0.3.2 - 2018-01-05 ### Added -- `.mjs` extension detected by default to support `experimental-modules` (#939) +- `.mjs` extension detected by default to support `experimental-modules` ([#939]) ### Deps - update `debug`, `resolve` @@ -42,6 +44,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel [#438]: https://github.com/benmosher/eslint-plugin-import/pull/438 +[#1663]: https://github.com/benmosher/eslint-plugin-import/issues/1663 [#939]: https://github.com/benmosher/eslint-plugin-import/issues/939 [#531]: https://github.com/benmosher/eslint-plugin-import/issues/531 [#437]: https://github.com/benmosher/eslint-plugin-import/issues/437 diff --git a/resolvers/node/index.js b/resolvers/node/index.js index b5a1537bf..bf2aab382 100644 --- a/resolvers/node/index.js +++ b/resolvers/node/index.js @@ -28,7 +28,7 @@ function opts(file, config) { return Object.assign({ // more closely matches Node (#333) // plus 'mjs' for native modules! (#939) - extensions: ['.mjs', '.js', '.json'], + extensions: ['.mjs', '.js', '.json', '.node'], }, config, { diff --git a/resolvers/node/test/dot-node.node b/resolvers/node/test/dot-node.node new file mode 100644 index 000000000..e69de29bb diff --git a/resolvers/node/test/native.node b/resolvers/node/test/native.node new file mode 100644 index 000000000..e69de29bb diff --git a/resolvers/node/test/paths.js b/resolvers/node/test/paths.js index 2b4e7fd60..d50366d13 100644 --- a/resolvers/node/test/paths.js +++ b/resolvers/node/test/paths.js @@ -40,10 +40,21 @@ describe("default options", function () { .equal(path.resolve(__dirname, './native.mjs')) }) + it("finds .node modules, with lowest precedence", function () { + expect(node.resolve('./native.node', './test/file.js')) + .to.have.property('path') + .equal(path.resolve(__dirname, './native.node')) + }) + + it("finds .node modules", function () { + expect(node.resolve('./dot-node', './test/file.js')) + .to.have.property('path') + .equal(path.resolve(__dirname, './dot-node.node')) + }) + it("still finds .js if explicit", function () { expect(node.resolve('./native.js', './test/file.js')) .to.have.property('path') .equal(path.resolve(__dirname, './native.js')) }) - })