import/no-import-module-exports

🔧 This rule is automatically fixable by the --fix CLI option.

Reports the use of import declarations with CommonJS exports in any module except for the main module.

If you have multiple entry points or are using js:next this rule includes an exceptions option which you can use to exclude those files from the rule.

Options

exceptions

json "import/no-import-module-exports": ["error", { "exceptions": ["**/*/some-file.js"] }]

Rule Details

Fail

```js import { stuff } from 'starwars' module.exports = thing

import * as allThings from 'starwars' exports.bar = thing

import thing from 'other-thing' exports.foo = bar

import thing from 'starwars' const baz = module.exports = thing console.log(baz) ```

Pass

Given the following package.json:

json { "main": "lib/index.js", }

```js import thing from 'other-thing' export default thing

const thing = require('thing') module.exports = thing

const thing = require('thing') exports.foo = bar

import thing from 'otherthing' console.log(thing.module.exports)

// in lib/index.js import foo from 'path'; module.exports = foo;

// in some-file.js // eslint import/no-import-module-exports: ["error", {"exceptions": ["*//some-file.js"]}] import foo from 'path'; module.exports = foo; ```

Further Reading