-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Description
.eslintrc:
{
"parserOptions": {
"sourceType": "module",
},
"plugins": [
"import"
],
"rules": {
"import/named": 2,
}
}
import/named
seems to be required for this to fail. Without that rule, eslint exits without error (as in the file passes the check)
Let's create a file that requires itself with the following code inside of it:
export { test } from './test.js'
...and name it test.js:
$ eslint --version
v2.3.0
$ echo "export { test } from './test.js';" > test.js
$ eslint test.js
Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
at Array.forEach (native)
at test/node_modules/eslint-plugin-import/lib/core/getExports.js:243:26
at test/node_modules/eslint-plugin-import/lib/core/getExports.js:258:13
at Array.forEach (native)
at Function.parse (test/node_modules/eslint-plugin-import/lib/core/getExports.js:187:16)
at Function._for (test/node_modules/eslint-plugin-import/lib/core/getExports.js:139:29)
at ExportMap.resolveReExport (test/node_modules/eslint-plugin-import/lib/core/getExports.js:74:27)
at test/node_modules/eslint-plugin-import/lib/core/getExports.js:241:41
at test/node_modules/eslint-plugin-import/lib/core/getExports.js:258:13
at Array.forEach (native)
Obviously it's a mistake that the file includes itself, but this plugin should warn, not crash, in that case.
Metadata
Metadata
Assignees
Labels
No labels