prettier / plugin-pug

Prettier Pug Plugin
https://prettier.github.io/plugin-pug
MIT License
197 stars 44 forks source link

Bug: Prettier errorneously removes semicolon in-between expressions #431

Open lephuongbg opened 1 year ago

lephuongbg commented 1 year ago

Info

Tool Version
Plugin v2.4.1
Prettier v2.8.3
Framework vue
Node v16
OS linux

Prettier config

{
    "printWidth": 120,
    "endOfLine": "lf",
    "tabWidth": 4,
    "singleQuote": true,
    "semi": false,
    "trailingComma": "all",
    "arrowParens": "avoid",
    "bracketSpacing": false,
    "vueIndentScriptAndStyle": true,
    "proseWrap": "never",
    "pugAttributeSeparator": "as-needed",
    "bracketSameLine": true,
    "pugSortAttributesBeginning": [
        "^(is|v-is)$",
        "^v-for$",
        "^(v-if|v-else-if|v-else|v-show|v-cloak)$",
        "^(v-once|v-pre)$",
        "^id$",
        "^ref$", "^key$", "^(v-slot|slot)$",
        "^v-model$",
        "^v-.+$"
    ],
    "pugSortAttributesEnd": [
        "^@.+$",
        "^v-on$",
        "^v-text$",
        "^v-html$"
    ],
    "pugSortAttributes": "asc"
}

Input

<template lang="pug">
input#dropzone.image-input(
        @drop.stop.prevent='onDrop($event.dataTransfer.files); dragging = false')
</template>

Output or Error

image

Expected Output

Should be unchanged

Additional Context

Shinigami92 commented 1 year ago

Could you first try out pugSemi: true? Maybe this is already sufficient enough

lephuongbg commented 1 year ago

My workaround is to stay on v2.3 for now, which still works.

lephuongbg commented 1 year ago

On 2.4.1, I tried setting {"pugSemi": true} but met this error:

[error] Error: Invalid --pug-semi value. Expected null, false, "" or "true", but received true.

I then tried changing it to {"pugSemi":"true"} but then met other error:

[PugPrinter]: Error: Invalid semi value. Expected true or false, but received "true".
Shinigami92 commented 1 year ago

Ah yeah, this is a known issue https://github.com/prettier/prettier/issues/9204

dragon-fish commented 1 year ago

I met the same issue

P.S.

"@prettier/plugin-pug": "^2.4.1"
"prettier": "^2.8.3"
dragon-fish commented 1 year ago

FYI. Downgrade prettier to 2.7.1 can fix the issue for me temporarily.

lephuongbg commented 1 year ago

@Shinigami92 Do we have any path forward for resolving this yet?

Shinigami92 commented 1 year ago

@Shinigami92 Do we have any path forward for resolving this yet?

Please ask this in the related prettier issue