Skip to content

Commit 15e5c61

Browse files
golopotljharb
authored andcommitted
[New] order: add fixer for destructuring commonjs import
fixes #1337
1 parent 9a0455e commit 15e5c61

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

Diff for: src/rules/order.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ function isPlainRequireModule(node) {
140140
return false
141141
}
142142
const decl = node.declarations[0]
143-
const result = (decl.id != null && decl.id.type === 'Identifier') &&
143+
const result = decl.id &&
144+
(decl.id.type === 'Identifier' || decl.id.type === 'ObjectPattern') &&
144145
decl.init != null &&
145146
decl.init.type === 'CallExpression' &&
146147
decl.init.callee != null &&

Diff for: tests/src/rules/order.js

+15
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,21 @@ ruleTester.run('order', rule, {
518518
message: '`fs` import should occur before import of `async`',
519519
}],
520520
}),
521+
// fix destructured commonjs import
522+
test({
523+
code: `
524+
var {b} = require('async');
525+
var {a} = require('fs');
526+
`,
527+
output: `
528+
var {a} = require('fs');
529+
var {b} = require('async');
530+
`,
531+
errors: [{
532+
ruleId: 'order',
533+
message: '`fs` import should occur before import of `async`',
534+
}],
535+
}),
521536
// fix order of multile import
522537
test({
523538
code: `

0 commit comments

Comments
 (0)