Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
ota-meshi committed Nov 22, 2020
1 parent 4d8e1dd commit b1f2c7a
Show file tree
Hide file tree
Showing 2 changed files with 251 additions and 170 deletions.
33 changes: 26 additions & 7 deletions packages/eslint-plugin/src/rules/consistent-type-imports.ts
Expand Up @@ -381,16 +381,31 @@ export default util.createRule<Options, MessageIds>({
// ^^^^ insert
yield fixer.insertTextAfter(importToken, ' type');
} else {
const commaToken = util.nullThrows(
sourceCode.getTokenAfter(defaultSpecifier, util.isCommaToken),
util.NullThrowsReasons.MissingToken(',', defaultSpecifier.type),
);
// import Type , {...} from 'foo'
// ^^^^^ pick
const defaultText = sourceCode.text
.slice(defaultSpecifier.range[0], commaToken.range[0])
.trim();
yield fixer.insertTextBefore(
node,
`import type ${sourceCode.getText(
defaultSpecifier,
)} from ${sourceCode.getText(node.source)};\n`,
`import type ${defaultText} from ${sourceCode.getText(
node.source,
)};\n`,
);
const afterToken = util.nullThrows(
sourceCode.getTokenAfter(commaToken, { includeComments: true }),
util.NullThrowsReasons.MissingToken('any token', node.type),
);
// import Type , {...} from 'foo'
// ^^^^^^ remove
yield fixer.remove(defaultSpecifier);
yield fixer.remove(sourceCode.getTokenAfter(defaultSpecifier)!);
// ^^^^^^^ remove
yield fixer.removeRange([
defaultSpecifier.range[0],
afterToken.range[0],
]);
}
}

Expand Down Expand Up @@ -603,7 +618,11 @@ export default util.createRule<Options, MessageIds>({
),
util.NullThrowsReasons.MissingToken('type', node.type),
);
return fixer.remove(typeToken);
const afterToken = util.nullThrows(
sourceCode.getTokenAfter(typeToken, { includeComments: true }),
util.NullThrowsReasons.MissingToken('any token', node.type),
);
return fixer.removeRange([typeToken.range[0], afterToken.range[0]]);
}
},
});

0 comments on commit b1f2c7a

Please sign in to comment.