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.
exceptions
An array of globs. The rule will be omitted from any file that matches a glob
in the options array. For example, the following setting will omit the rule
in the some-file.js
file.
"import/no-import-module-exports": ["error", {
"exceptions": ["**/*/some-file.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)
Given the following package.json:
{
"main": "lib/index.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;