New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parse import-assertions #12139
Parse import-assertions #12139
Conversation
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 39838f0:
|
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/29942/ |
@@ -180,11 +180,15 @@ export function ImportDeclaration(node: Object) { | |||
|
|||
this.print(node.source, node); | |||
|
|||
if (node.attributes?.length) { | |||
if (node.assertions?.length) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: It seems that import foo from "foo.json" assert {}
are now generated as import foo from "foo.json"
. Although it is semantically equivalent. I slightly prefer to reserve asserts {}
if node.assertions
is not nullish.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realized that current AST design does not differentiate between import foo from "foo.json" assert {}
and import foo from "foo.json"
. Both of them have assertions
set to []
.
packages/babel-generator/test/fixtures/types/ImportAssertion/options.json
Outdated
Show resolved
Hide resolved
f998d24
to
ed15a13
Compare
3cec529
to
343a6be
Compare
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
d6dae66
to
39838f0
Compare
The failing test is also failing in |
Fixes #1, Fixes #2