diff --git a/lib/help-include-all-sync.js b/lib/help-include-all-sync.js index b6d0f8b..94db534 100644 --- a/lib/help-include-all-sync.js +++ b/lib/help-include-all-sync.js @@ -290,7 +290,9 @@ module.exports = function includeAll(options) { // Require the module. try { - _modules[keyName] = require(filepath); + var _module = require(filepath) + if (_module.default) { _module = _module.default } + _modules[keyName] = _module; } catch (e) { // Skip this module silently if `ignoreRequireFailures` is enabled. if (options.ignoreRequireFailures) { return; } diff --git a/test/esmodules.test.js b/test/esmodules.test.js new file mode 100644 index 0000000..cf71477 --- /dev/null +++ b/test/esmodules.test.js @@ -0,0 +1,32 @@ +/** + * Module dependencies + */ + +var assert = require('assert'); +var path = require('path'); +var loader = require('../'); + + + +describe('es modules, default is a default export', function(){ + + + it('should return the default export as default - lowlevel', function () { + + var modules = loader({ + dirname: path.resolve(__dirname, './fixtures/es-modules'), + filter: /(.+\.js)$/ + }) + + assert.deepEqual(modules, { + 'module-default.js': true, + 'sub-dir': { + 'another-module.js': true + } + }); + + });// + + +});// + diff --git a/test/fixtures/es-modules/module-default.js b/test/fixtures/es-modules/module-default.js new file mode 100644 index 0000000..3a947ad --- /dev/null +++ b/test/fixtures/es-modules/module-default.js @@ -0,0 +1,2 @@ + +exports.default = true diff --git a/test/fixtures/es-modules/sub-dir/another-module.js b/test/fixtures/es-modules/sub-dir/another-module.js new file mode 100644 index 0000000..3a947ad --- /dev/null +++ b/test/fixtures/es-modules/sub-dir/another-module.js @@ -0,0 +1,2 @@ + +exports.default = true