diff --git a/.gitignore b/.gitignore index db29113c8..3cd5e9a34 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ npm-debug.log /website/node_modules .DS_Store coverage +.idea diff --git a/src/comments.js b/src/comments.js index 198be95a4..1307bf12d 100644 --- a/src/comments.js +++ b/src/comments.js @@ -30,7 +30,9 @@ function getSortedChildNodes(node, text, resultArray) { node.type !== "Line" && node.type !== "Block" && node.type !== "EmptyStatement" && - node.type !== "TemplateElement") || + node.type !== "TemplateElement" && + node.type !== "Import" && + !(node.callee && node.callee.type === "Import")) || (node.kind && node.kind !== "Comment")) ) { // This reverse insertion sort almost always takes constant diff --git a/tests/comments/__snapshots__/jsfmt.spec.js.snap b/tests/comments/__snapshots__/jsfmt.spec.js.snap index d75145773..a4d703d11 100644 --- a/tests/comments/__snapshots__/jsfmt.spec.js.snap +++ b/tests/comments/__snapshots__/jsfmt.spec.js.snap @@ -208,6 +208,25 @@ for (;;); `; +exports[`dynamic_imports.js 1`] = ` +import(/* Hello */ 'something') + +import('something' /* Hello */) + +import(/* Hello */ 'something' /* Hello */) + +import('something' /* Hello */ + 'else') +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +import(/* Hello */ "something"); + +import("something" /* Hello */); + +import(/* Hello */ "something" /* Hello */); + +import("something" /* Hello */ + "else"); + +`; + exports[`export.js 1`] = ` export //comment {} diff --git a/tests/comments/dynamic_imports.js b/tests/comments/dynamic_imports.js new file mode 100644 index 000000000..499b0f78d --- /dev/null +++ b/tests/comments/dynamic_imports.js @@ -0,0 +1,7 @@ +import(/* Hello */ 'something') + +import('something' /* Hello */) + +import(/* Hello */ 'something' /* Hello */) + +import('something' /* Hello */ + 'else')