From 769eddc788608e464fb5fc8000a30e5667222f1c Mon Sep 17 00:00:00 2001 From: Erik Simmler Date: Sun, 9 Apr 2017 19:36:18 -0400 Subject: [PATCH] Avoid creating a new line comment when a block comment is preceded by a forward slash (#5562) Fixes #5557 --- packages/babel-generator/src/printer.js | 3 +++ .../comments/slash-before-leading-comment-compact/actual.js | 1 + .../comments/slash-before-leading-comment-compact/expected.js | 1 + .../comments/slash-before-leading-comment-compact/options.json | 3 +++ 4 files changed, 8 insertions(+) create mode 100644 packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/actual.js create mode 100644 packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/expected.js create mode 100644 packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/options.json diff --git a/packages/babel-generator/src/printer.js b/packages/babel-generator/src/printer.js index 1941b94ace..b7b319293c 100644 --- a/packages/babel-generator/src/printer.js +++ b/packages/babel-generator/src/printer.js @@ -557,6 +557,9 @@ export default class Printer { val = val.replace(/\n(?!$)/g, `\n${repeat(" ", indentSize)}`); } + // Avoid creating //* comments + if (this.endsWith("/")) this._space(); + this.withSource("start", comment.loc, () => { this._append(val); }); diff --git a/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/actual.js b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/actual.js new file mode 100644 index 0000000000..38ca6ef4f4 --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/actual.js @@ -0,0 +1 @@ +var foo = 1 / /* leading */ 1; diff --git a/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/expected.js b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/expected.js new file mode 100644 index 0000000000..bc8b496231 --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/expected.js @@ -0,0 +1 @@ +var foo=1/ /* leading */1; diff --git a/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/options.json b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/options.json new file mode 100644 index 0000000000..eb4e948bfa --- /dev/null +++ b/packages/babel-generator/test/fixtures/comments/slash-before-leading-comment-compact/options.json @@ -0,0 +1,3 @@ +{ + "compact": true +}