Js-beautify: Embelezamento de HTML errado começando com v1.6.5

Criado em 19 jan. 2017  ·  3Comentários  ·  Fonte: beautify-web/js-beautify

Descrição

Até v1.6.4 , inclusive, o embelezamento funcionou bem para meus arquivos HTML. Começando com v1.6.5 (incluindo v.1.6.8 , atualmente o mais recente), todos os arquivos são embelezados incorretamente.

Esta essência mostra as diferenças em um arquivo claramente (o mesmo que abaixo, mas com um diff git).

Posso enviar mais arquivos para análise, se necessário.

Obrigado!

Entrada

O código parecia assim antes do embelezamento:

<section class="miami">
    <div class="miami_content">
        <form novalidate>
            <ul>
                <li class="miami_container">
                    <div class="miami_search_content">
                        <icon class="miami_search_icon"
                            name="magnifier"></icon>
                    </div>
                    <div class="miami_input_content">
                        <input-extended input-type="search"
                            class="miami_input_text"
                            ng-focus="search.showCancel = true"
                            ng-blur="!search.searchText && (search.showCancel = false)"
                            translate="{ 'placeholder': 'directives.search.search' }"
                            ng-model="search.searchText"
                            ng-model-options="{ debounce: 300 }"
                            clear-icon="{ method: search.clearSearch }"
                            assign-controller-to="{ controller: 'ngModel', assignTo: 'search.ngModelController' }"></input-extended>
                    </div>
                    <div class="miami_right_content">
                        <div class="miami_right_content_cancel"
                            ng-show="search.showCancel">
                            <span class="miami_right_content_item"
                                select-fade="search.cancelSearch()"
                                translate="directives.search.cancel"></span>
                        </div>
                        <div class="miami_right_content_icons"
                            ng-show="!search.showCancel"
                            ng-transclude></div>
                    </div>
                </li>
            </ul>
        </form>
    </div>
</section>

Saída Esperada

O mesmo (a entrada já está embelezada).

Saída real

O código realmente ficou assim após o embelezamento:

<section class="miami">
    <div class="miami_content">
        <form novalidate>
            <ul>
                <li class="miami_container">
                    <div class="miami_search_content">
                        <icon class="miami_search_icon"
                            name="magnifier"></icon>
                    </div>
                    <div class="miami_input_content">
                        <input-extended input-type="search"
                            class="miami_input_text"
                            ng-focus="search.showCancel = true"
                            ng-blur="!search.searchText && (search.showCancel = false)"
                            translate="{ 'placeholder': 'directives.search.search' }"
                            ng-model="search.searchText"
                            ng-model-options="{ debounce: 300 }"
                            clear-icon="{ method: search.clearSearch }"
                            assign-controller-to="{ controller: 'ngModel', assignTo: 'search.ngModelController' }"></input-extended>
                    </div>
                    <div class="miami_right_content">
                        <div class="miami_right_content_cancel"
                            ng-show="search.showCancel">
                            <span class="miami_right_content_item"
                                select-fade="search.cancelSearch()"
                                translate="directives.search.cancel"></span>
                    </div>
                    <div class="miami_right_content_icons"
                        ng-show="!search.showCancel"
                        ng-transclude></div>
    </div>
    </li>
    </ul>
    </form>
    </div>
</section>

Passos para reproduzir

Meio Ambiente

SO: macOS Sierra 10.12.2

Definições

Exemplo:

preserve_newlines: true,
max_preserve_newlines: 1,
end_with_newline: true,
wrap_line_length: 0,
wrap_attributes: "force",
eol: "\n"
html bug

Comentários muito úteis

Tem havido um monte de relatórios sobre isso. Obrigado, vou dar uma olhada.

Todos 3 comentários

Tem havido um monte de relatórios sobre isso. Obrigado, vou dar uma olhada.

Está corrigido em # 1131

Funciona perfeitamente na v1.6.9, obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações