Skip to content

Commit 726dda5

Browse files
golopotljharb
authored andcommittedSep 4, 2019
[fix] default: make error message less confusing
Fixes import-js#751, fixes import-js#786
1 parent 7ffbf03 commit 726dda5

File tree

3 files changed

+18
-16
lines changed

3 files changed

+18
-16
lines changed
 

‎CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel
88
### Added
99
- support `parseForESLint` from custom parser ([#1435], thanks [@JounQin])
1010

11+
### Fixed
12+
- `default`: make error message less confusing ([#1470], thanks [@golopot])
13+
1114
## [2.18.2] - 2019-07-19
1215
- Skip warning on type interfaces ([#1425], thanks [@lencioni])
1316

@@ -601,6 +604,7 @@ for info on changes for earlier releases.
601604

602605
[`memo-parser`]: ./memo-parser/README.md
603606

607+
[#1470]: https://github.com/benmosher/eslint-plugin-import/pull/1470
604608
[#1435]: https://github.com/benmosher/eslint-plugin-import/pull/1435
605609
[#1425]: https://github.com/benmosher/eslint-plugin-import/pull/1425
606610
[#1419]: https://github.com/benmosher/eslint-plugin-import/pull/1419

‎src/rules/default.js

+7-9
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,9 @@ module.exports = {
1313

1414
function checkDefault(specifierType, node) {
1515

16-
// poor man's Array.find
17-
let defaultSpecifier
18-
node.specifiers.some((n) => {
19-
if (n.type === specifierType) {
20-
defaultSpecifier = n
21-
return true
22-
}
23-
})
16+
const defaultSpecifier = node.specifiers.find(
17+
specifier => specifier.type === specifierType
18+
)
2419

2520
if (!defaultSpecifier) return
2621
var imports = Exports.get(node.source.value, context)
@@ -29,7 +24,10 @@ module.exports = {
2924
if (imports.errors.length) {
3025
imports.reportErrors(context, node)
3126
} else if (imports.get('default') === undefined) {
32-
context.report(defaultSpecifier, 'No default export found in module.')
27+
context.report({
28+
node: defaultSpecifier,
29+
message: `No default export found in imported module "${node.source.value}".`,
30+
})
3331
}
3432
}
3533

‎tests/src/rules/default.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ ruleTester.run('default', rule, {
102102

103103
test({
104104
code: 'import baz from "./named-exports";',
105-
errors: [{ message: 'No default export found in module.'
105+
errors: [{ message: 'No default export found in imported module "./named-exports".'
106106
, type: 'ImportDefaultSpecifier'}]}),
107107

108108
test({
@@ -114,29 +114,29 @@ ruleTester.run('default', rule, {
114114
test({
115115
code: 'export baz from "./named-exports"',
116116
parser: require.resolve('babel-eslint'),
117-
errors: ['No default export found in module.'],
117+
errors: ['No default export found in imported module "./named-exports".'],
118118
}),
119119
test({
120120
code: 'export baz, { bar } from "./named-exports"',
121121
parser: require.resolve('babel-eslint'),
122-
errors: ['No default export found in module.'],
122+
errors: ['No default export found in imported module "./named-exports".'],
123123
}),
124124
test({
125125
code: 'export baz, * as names from "./named-exports"',
126126
parser: require.resolve('babel-eslint'),
127-
errors: ['No default export found in module.'],
127+
errors: ['No default export found in imported module "./named-exports".'],
128128
}),
129129
// exports default from a module with no default
130130
test({
131131
code: 'import twofer from "./broken-trampoline"',
132132
parser: require.resolve('babel-eslint'),
133-
errors: ['No default export found in module.'],
133+
errors: ['No default export found in imported module "./broken-trampoline".'],
134134
}),
135135

136136
// #328: * exports do not include default
137137
test({
138138
code: 'import barDefault from "./re-export"',
139-
errors: [`No default export found in module.`],
139+
errors: ['No default export found in imported module "./re-export".'],
140140
}),
141141
],
142142
})
@@ -152,7 +152,7 @@ if (!CASE_SENSITIVE_FS) {
152152
invalid: [
153153
test({
154154
code: 'import bar from "./Named-Exports"',
155-
errors: ['No default export found in module.'],
155+
errors: ['No default export found in imported module "./Named-Exports".'],
156156
}),
157157
],
158158
})

0 commit comments

Comments
 (0)
Please sign in to comment.