Merge pull request babel/eslint-plugin-babel#23 from LegNeato/master
Support trailing commas in import and export statements. Fixes babel/eslint-plugin-babel#21
This commit is contained in:
parent
64291d8d52
commit
9d8a2f14dd
@ -173,6 +173,12 @@ module.exports = function(context) {
|
||||
penultimate = context.getLastToken(lastSpecifier),
|
||||
last = context.getTokenAfter(lastSpecifier);
|
||||
|
||||
// support trailing commas
|
||||
if (last.value === ",") {
|
||||
penultimate = last;
|
||||
last = context.getTokenAfter(last);
|
||||
}
|
||||
|
||||
validateBraceSpacing(node, first, second, penultimate, last);
|
||||
}
|
||||
|
||||
@ -195,6 +201,12 @@ module.exports = function(context) {
|
||||
return;
|
||||
}
|
||||
|
||||
// support trailing commas
|
||||
if (last.value === ",") {
|
||||
penultimate = last;
|
||||
last = context.getTokenAfter(last);
|
||||
}
|
||||
|
||||
validateBraceSpacing(node, first, second, penultimate, last);
|
||||
|
||||
},
|
||||
|
||||
@ -37,7 +37,11 @@ ruleTester.run('babel/object-curly-spacing', rule, {
|
||||
{ code: "import {\ndoor } from 'room'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export { door } from 'room'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import { house, mouse } from 'caravan'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {\nhouse,\nmouse\n} from 'caravan'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {\nhouse,\nmouse,\n} from 'caravan'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export { door }", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export {\ndoor,\nhouse\n}", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export {\ndoor,\nhouse,\n}", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import 'room'", options: ["always"], ecmaFeatures: { modules: true } },
|
||||
|
||||
// always - empty object
|
||||
@ -85,7 +89,11 @@ ruleTester.run('babel/object-curly-spacing', rule, {
|
||||
{ code: "export {\ndoor\n} from 'room'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {house,mouse} from 'caravan'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {house, mouse} from 'caravan'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {\nhouse,\nmouse} from 'caravan'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import {\nhouse,\nmouse,\n} from 'caravan'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export {door}", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export {\ndoor,\nmouse\n}", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "export {\ndoor,\nmouse,\n}", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
{ code: "import 'room'", options: ["never"], ecmaFeatures: { modules: true } },
|
||||
|
||||
// never - empty object
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user