Skip to content

Commit 39b534f

Browse files
committed
Remove conflict due to invalid 'export EXPRESSION'.
1 parent 327b75e commit 39b534f

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

grammar.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,6 @@ module.exports = grammar({
8080
[$.assignment_expression, $.object_assignment_pattern],
8181
[$.labeled_statement, $._property_name],
8282
[$.computed_property_name, $.array],
83-
[$.export_clause, $.object, $.object_pattern],
84-
[$._import_export_specifier, $.object, $.object_pattern],
85-
[$.export_statement, $._property_name],
8683
],
8784

8885
word: $ => $.identifier,
@@ -111,15 +108,20 @@ module.exports = grammar({
111108
seq(
112109
repeat(field('decorator', $.decorator)),
113110
'export',
114-
optional('default'),
115111
choice(
116112
field('declaration', $.declaration),
117113
seq(
118-
field('value', $.expression),
119-
$._semicolon
114+
'default',
115+
choice(
116+
field('declaration', $.declaration),
117+
seq(
118+
field('value', $.expression),
119+
$._semicolon
120+
)
121+
)
120122
)
121123
)
122-
),
124+
)
123125
),
124126

125127
export_clause: $ => seq(

test/corpus/statements.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export let name1, name2, nameN;
6565
export let name1 = value1, name2 = value2, name3, nameN;
6666

6767
export default expression;
68+
export default { field1: 42, field2: [] }
6869
export default function () { }
6970
export default function name1() { }
7071
export { name1 as default };
@@ -100,6 +101,10 @@ export { import1 as name1, import2 as name2, nameN } from 'foo';
100101
(variable_declarator (identifier))))
101102
(export_statement
102103
(identifier))
104+
(export_statement
105+
(object
106+
(pair (property_identifier) (number))
107+
(pair (property_identifier) (array))))
103108
(export_statement
104109
(function (formal_parameters) (statement_block)))
105110
(export_statement

0 commit comments

Comments
 (0)