Check for duplicate named exports in exported rest elements/properties (#164)
This commit is contained in:
parent
2697bfd820
commit
7dd45f7465
@ -947,6 +947,8 @@ pp.checkDeclaration = function(node) {
|
||||
}
|
||||
} else if (node.type === "ObjectProperty") {
|
||||
this.checkDeclaration(node.value);
|
||||
} else if (node.type === "RestElement" || node.type === "RestProperty") {
|
||||
this.checkDeclaration(node.argument);
|
||||
} else if (node.type === "Identifier") {
|
||||
this.checkDuplicateExports(node, node.name);
|
||||
}
|
||||
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring16/actual.js
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring16/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export const foo = 1;
|
||||
export const [bar, ...foo] = baz;
|
||||
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring16/options.json
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring16/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:22)"
|
||||
}
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring17/actual.js
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring17/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export const [foo, ...bar] = baz;
|
||||
export const bar = 1;
|
||||
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring17/options.json
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring17/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "`bar` has already been exported. Exported identifiers must be unique. (2:13)"
|
||||
}
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring18/actual.js
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring18/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export const foo = 1;
|
||||
export const [bar, [baz, ...foo]] = qux;
|
||||
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring18/options.json
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring18/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:28)"
|
||||
}
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring19/actual.js
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring19/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export const foo = 1;
|
||||
export const { bar: [baz, ...foo] } = qux;
|
||||
|
||||
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring19/options.json
vendored
Normal file
3
test/fixtures/es2015/modules/duplicate-named-export-destructuring19/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:29)"
|
||||
}
|
||||
2
test/fixtures/experimental/object-rest-spread/11/actual.js
vendored
Normal file
2
test/fixtures/experimental/object-rest-spread/11/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const foo = 1;
|
||||
export const { bar, ...foo } = baz;
|
||||
5
test/fixtures/experimental/object-rest-spread/11/options.json
vendored
Normal file
5
test/fixtures/experimental/object-rest-spread/11/options.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:23)"
|
||||
}
|
||||
|
||||
2
test/fixtures/experimental/object-rest-spread/12/actual.js
vendored
Normal file
2
test/fixtures/experimental/object-rest-spread/12/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const { foo, ...bar } = baz;
|
||||
export const bar = 1;
|
||||
5
test/fixtures/experimental/object-rest-spread/12/options.json
vendored
Normal file
5
test/fixtures/experimental/object-rest-spread/12/options.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"throws": "`bar` has already been exported. Exported identifiers must be unique. (2:13)"
|
||||
}
|
||||
|
||||
2
test/fixtures/experimental/object-rest-spread/13/actual.js
vendored
Normal file
2
test/fixtures/experimental/object-rest-spread/13/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const foo = 1;
|
||||
export const { bar: { baz, ...foo } } = qux;
|
||||
5
test/fixtures/experimental/object-rest-spread/13/options.json
vendored
Normal file
5
test/fixtures/experimental/object-rest-spread/13/options.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:30)"
|
||||
}
|
||||
|
||||
2
test/fixtures/experimental/object-rest-spread/14/actual.js
vendored
Normal file
2
test/fixtures/experimental/object-rest-spread/14/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const foo = 1;
|
||||
export const [bar, { baz, ...foo }] = qux;
|
||||
5
test/fixtures/experimental/object-rest-spread/14/options.json
vendored
Normal file
5
test/fixtures/experimental/object-rest-spread/14/options.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:29)"
|
||||
}
|
||||
|
||||
2
test/fixtures/experimental/object-rest-spread/15/actual.js
vendored
Normal file
2
test/fixtures/experimental/object-rest-spread/15/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const foo = 1;
|
||||
export const [bar, [{ baz, ...foo }]] = qux;
|
||||
5
test/fixtures/experimental/object-rest-spread/15/options.json
vendored
Normal file
5
test/fixtures/experimental/object-rest-spread/15/options.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:30)"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user