diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/module/input.js b/packages/babel-parser/test/expressions/experimental/top-level-await/module/input.js new file mode 100644 index 000000000000..3bd188069035 --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/module/input.js @@ -0,0 +1,2 @@ +// prettier-ignore +await +42 diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/module/options.json b/packages/babel-parser/test/expressions/experimental/top-level-await/module/options.json new file mode 100644 index 000000000000..2104ca43283f --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/module/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/module/output.json b/packages/babel-parser/test/expressions/experimental/top-level-await/module/output.json new file mode 100644 index 000000000000..f961d5d8b833 --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/module/output.json @@ -0,0 +1,33 @@ +{ + "type": "AwaitExpression", + "start":19,"end":28,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}}, + "argument": { + "type": "UnaryExpression", + "start":25,"end":28,"loc":{"start":{"line":2,"column":6},"end":{"line":2,"column":9}}, + "operator": "+", + "prefix": true, + "argument": { + "type": "NumericLiteral", + "start":26,"end":28,"loc":{"start":{"line":2,"column":7},"end":{"line":2,"column":9}}, + "extra": { + "rawValue": 42, + "raw": "42" + }, + "value": 42 + } + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " prettier-ignore", + "start":0,"end":18,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":18}} + } + ], + "comments": [ + { + "type": "CommentLine", + "value": " prettier-ignore", + "start":0,"end":18,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":18}} + } + ] +} \ No newline at end of file diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/options.json b/packages/babel-parser/test/expressions/experimental/top-level-await/options.json new file mode 100644 index 000000000000..016d522a6107 --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["topLevelAwait"] +} diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/script/input.js b/packages/babel-parser/test/expressions/experimental/top-level-await/script/input.js new file mode 100644 index 000000000000..3bd188069035 --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/script/input.js @@ -0,0 +1,2 @@ +// prettier-ignore +await +42 diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/script/options.json b/packages/babel-parser/test/expressions/experimental/top-level-await/script/options.json new file mode 100644 index 000000000000..b412ffe6712f --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/script/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "script" +} diff --git a/packages/babel-parser/test/expressions/experimental/top-level-await/script/output.json b/packages/babel-parser/test/expressions/experimental/top-level-await/script/output.json new file mode 100644 index 000000000000..13c84b8a7809 --- /dev/null +++ b/packages/babel-parser/test/expressions/experimental/top-level-await/script/output.json @@ -0,0 +1,59 @@ +{ + "type": "BinaryExpression", + "start": 19, + "end": 28, + "loc": { + "start": { "line": 2, "column": 0 }, + "end": { "line": 2, "column": 9 } + }, + "left": { + "type": "Identifier", + "start": 19, + "end": 24, + "loc": { + "start": { "line": 2, "column": 0 }, + "end": { "line": 2, "column": 5 }, + "identifierName": "await" + }, + "name": "await" + }, + "operator": "+", + "right": { + "type": "NumericLiteral", + "start": 26, + "end": 28, + "loc": { + "start": { "line": 2, "column": 7 }, + "end": { "line": 2, "column": 9 } + }, + "extra": { + "rawValue": 42, + "raw": "42" + }, + "value": 42 + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " prettier-ignore", + "start": 0, + "end": 18, + "loc": { + "start": { "line": 1, "column": 0 }, + "end": { "line": 1, "column": 18 } + } + } + ], + "comments": [ + { + "type": "CommentLine", + "value": " prettier-ignore", + "start": 0, + "end": 18, + "loc": { + "start": { "line": 1, "column": 0 }, + "end": { "line": 1, "column": 18 } + } + } + ] +} diff --git a/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/input.js b/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/input.js new file mode 100644 index 000000000000..6264a77434ec --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/input.js @@ -0,0 +1 @@ +const { foo() {} } = foo(); diff --git a/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/options.json b/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/options.json new file mode 100644 index 000000000000..3e33f7730f4b --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2015/destructuring/invalid-object-method/options.json @@ -0,0 +1,3 @@ +{ + "throws": "Unexpected token (1:11)" +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/input.js b/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/input.js new file mode 100644 index 000000000000..be1347b46cf0 --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/input.js @@ -0,0 +1 @@ +export * as foo, diff --git a/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/options.json b/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/options.json new file mode 100644 index 000000000000..5fc553645691 --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/export-ns-from/ns-dangling-comma/options.json @@ -0,0 +1,3 @@ +{ + "throws": "Unexpected token, expected \"{\" (1:16)" +} diff --git a/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/input.js b/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/input.js new file mode 100644 index 000000000000..7b1f4ab04b11 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/input.js @@ -0,0 +1 @@ +::a?.b; diff --git a/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/options.json b/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/options.json new file mode 100644 index 000000000000..e76281a4daaf --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/bind-operator/invalid-non-member-expression/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "functionBind" + ], + "throws": "Binding should be performed on object property. (1:2)" +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/experimental/bind-operator/options.json b/packages/babel-parser/test/fixtures/experimental/bind-operator/options.json new file mode 100644 index 000000000000..739c07598958 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/bind-operator/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["functionBind"] +} diff --git a/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/input.js b/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/input.js new file mode 100644 index 000000000000..5b97a2b6510f --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/input.js @@ -0,0 +1 @@ +({ @foo ...foo }); diff --git a/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/options.json b/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/options.json new file mode 100644 index 000000000000..e2bd94fc3116 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/decorators/invalid-decorator-spread-element/options.json @@ -0,0 +1,4 @@ +{ + "plugins": ["decorators-legacy"], + "throws": "Unexpected token (1:8)" +} diff --git a/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/input.js b/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/input.js new file mode 100644 index 000000000000..2eac343a3507 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/input.js @@ -0,0 +1 @@ +export default, diff --git a/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/options.json b/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/options.json new file mode 100644 index 000000000000..78ef8d224620 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/export-extensions/default-dangling-comma/options.json @@ -0,0 +1,3 @@ +{ + "throws": "Unexpected token, expected \"{\" (1:15)" +} diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/input.js b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/input.js new file mode 100644 index 000000000000..7b96ee2275f0 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/input.js @@ -0,0 +1 @@ +x |> # + 1 diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/options.json new file mode 100644 index 000000000000..f95ecc7d6c23 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["pipelineOperator", { "proposal": "fsharp" }]] +} diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/output.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/output.json new file mode 100644 index 000000000000..6c724302e0b3 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-fsharp-invalid-primary-topic/output.json @@ -0,0 +1,49 @@ +{ + "type": "File", + "start":0,"end":10,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":10}}, + "errors": [ + "SyntaxError: Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option. (1:5)", + "SyntaxError: Topic reference was used in a lexical context without topic binding (1:5)" + ], + "program": { + "type": "Program", + "start":0,"end":10,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":10}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":10,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":10}}, + "expression": { + "type": "BinaryExpression", + "start":0,"end":10,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":10}}, + "left": { + "type": "Identifier", + "start":0,"end":1,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":1},"identifierName":"x"}, + "name": "x" + }, + "operator": "|>", + "right": { + "type": "BinaryExpression", + "start":5,"end":10,"loc":{"start":{"line":1,"column":5},"end":{"line":1,"column":10}}, + "left": { + "type": "PipelinePrimaryTopicReference", + "start":5,"end":6,"loc":{"start":{"line":1,"column":5},"end":{"line":1,"column":6}} + }, + "operator": "+", + "right": { + "type": "NumericLiteral", + "start":9,"end":10,"loc":{"start":{"line":1,"column":9},"end":{"line":1,"column":10}}, + "extra": { + "rawValue": 1, + "raw": "1" + }, + "value": 1 + } + } + } + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/input.js b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/input.js new file mode 100644 index 000000000000..68e990891a87 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/input.js @@ -0,0 +1 @@ +#{ __proto__: null } diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/options.json b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/options.json new file mode 100644 index 000000000000..703c537be360 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["recordAndTuple", { "syntaxType": "hash" }]] +} diff --git a/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/output.json b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/output.json new file mode 100644 index 000000000000..4f409dffa250 --- /dev/null +++ b/packages/babel-parser/test/fixtures/experimental/record-and-tuple/invalid-record-proto/output.json @@ -0,0 +1,42 @@ +{ + "type": "File", + "start":0,"end":20,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}}, + "errors": [ + "SyntaxError: '__proto__' is not allowed in Record expressions (1:3)" + ], + "program": { + "type": "Program", + "start":0,"end":20,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "ExpressionStatement", + "start":0,"end":20,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}}, + "expression": { + "type": "RecordExpression", + "start":0,"end":20,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}}, + "properties": [ + { + "type": "ObjectProperty", + "start":3,"end":18,"loc":{"start":{"line":1,"column":3},"end":{"line":1,"column":18}}, + "method": false, + "key": { + "type": "Identifier", + "start":3,"end":12,"loc":{"start":{"line":1,"column":3},"end":{"line":1,"column":12},"identifierName":"__proto__"}, + "name": "__proto__" + }, + "computed": false, + "shorthand": false, + "value": { + "type": "NullLiteral", + "start":14,"end":18,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":18}} + } + } + ] + } + } + ], + "directives": [] + } +} \ No newline at end of file