From 80fd76df053087744758c554de7bbf883b2c2313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Sat, 17 Dec 2022 14:47:31 +0100 Subject: [PATCH] Fix semicolon duplicated at the end of file --- changelog_unreleased/less/14007.md | 19 +++++++++++++++++++ src/language-css/printer-postcss.js | 5 ++++- .../less/__snapshots__/jsfmt.spec.js.snap | 18 ++++++++++++++++++ .../issue-11483--never-append-anything.less | 3 +++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 changelog_unreleased/less/14007.md create mode 100644 tests/format/less/less/issue-11483--never-append-anything.less diff --git a/changelog_unreleased/less/14007.md b/changelog_unreleased/less/14007.md new file mode 100644 index 000000000000..eed8b756d1d8 --- /dev/null +++ b/changelog_unreleased/less/14007.md @@ -0,0 +1,19 @@ +#### Fix semicolon duplicated at the end of LESS file (#14007 by @mvorisek) + + +```less +// Input +@variable: { + field: something; +}; + +// Prettier stable +@variable: { + field: something; +}; ; + +// Prettier main +@variable: { + field: something; +}; +``` diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 4ba444c8d77d..eaa5e38ffe4c 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -101,7 +101,10 @@ function genericPrint(path, options, print) { return [node.raw, hardline]; case "css-root": { const nodes = printNodeSequence(path, options, print); - const after = node.raws.after.trim(); + let after = node.raws.after.trim(); + if (after.startsWith(";")) { + after = after.slice(1).trim(); + } return [ nodes, diff --git a/tests/format/less/less/__snapshots__/jsfmt.spec.js.snap b/tests/format/less/less/__snapshots__/jsfmt.spec.js.snap index f52a92aa232d..1541bb0496db 100644 --- a/tests/format/less/less/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/less/less/__snapshots__/jsfmt.spec.js.snap @@ -83,6 +83,24 @@ a: b; ================================================================================ `; +exports[`issue-11483--never-append-anything.less format 1`] = ` +====================================options===================================== +parsers: ["less"] +printWidth: 80 + | printWidth +=====================================input====================================== +@variable: { + field: something; +}; + +=====================================output===================================== +@variable: { + field: something; +}; + +================================================================================ +`; + exports[`less.less format 1`] = ` ====================================options===================================== parsers: ["less"] diff --git a/tests/format/less/less/issue-11483--never-append-anything.less b/tests/format/less/less/issue-11483--never-append-anything.less new file mode 100644 index 000000000000..c0fbaa61478e --- /dev/null +++ b/tests/format/less/less/issue-11483--never-append-anything.less @@ -0,0 +1,3 @@ +@variable: { + field: something; +};