Js-beautify: Publikasikan v1.8.0

Dibuat pada 22 Agu 2018  ·  31Komentar  ·  Sumber: beautify-web/js-beautify

@garretwilson @amandabot @HookyQR @astronomersiva
@ madman -bob @LoganDark @MacKLess
@Mlocik97-issues @Hirse @jdavisclark

Pada titik ini rilis 1.8.0 mencakup setidaknya 80 bug dan peningkatan yang diperbaiki. Percantik HTML dan CSS/LESS/SCSS keduanya mengalami peningkatan besar-besaran. Bukan berarti kinerja adalah fokus utama dari proyek ini, tetapi khususnya HTML beautifier telah melihat peningkatan kinerja 10x atau lebih.

Saya ingin mengikat siklus RC ini dan menerbitkan 1.8.0 (rilis). 1.8.0-rc12 terbaru ada di http://jsbeautifier.org/ dan npm dan pypi.

Jika Anda dapat mencoba beberapa input yang paling sering Anda gunakan atau memberikan RC ini test drive kewarasan, saya akan sangat berterima kasih.

Saya berencana untuk segera rilis.

task

Komentar yang paling membantu

Oke, sudah sepi di sini. Itu bagus.

Saya tidak akan mengirimkan rilis besar seperti ini pada hari Jumat.

Tapi kecuali sesuatu yang besar masuk, 1.8.0 akan keluar lebih awal pada hari Senin.

Semua 31 komentar

LGTM

Saya sangat bersemangat tentang ini. Saya tidak ingin terburu-buru, tetapi saya telah menonton kandidat rilis dengan antisipasi. Anda tahu bahwa saya ingin sekali agar perbaikan #1033 diterbitkan.

Saya memperbarui atom-beautify ke v0.33.0, dan kemudian saya mencoba mengikuti petunjuk saya sendiri di #1033 untuk menguji perbaikan itu. Menurut catatan saya, saya menyalin seluruh konten js/lib dalam distribusi js-beautify ke ~/.atom/packages/atom-beautify/node_modules/js-beautify/js/lib , menggantikan file atom-beautify di sana.

Tapi sekarang sepertinya tidak ada direktori js/lib lagi, baik di js-beautify-1.8.0-rc12.zip maupun di komit tarik dari master (3374af3). Apakah saya melewatkan beberapa langkah, atau apakah tata letak distribusi telah diubah?

@garretwilson

Ah ya, maaf, file-file tersebut tidak lagi dicek di master.
Mereka tersedia dari cabang gh-pages - dari mana situs web disajikan
di https://github.com/beautify-web/js-beautify/tree/gh-pages/js/lib tetapi membutuhkan banyak langkah untuk mengunduhnya.

Tapi inilah Zip dari direktori lib. Ikuti instruksi yang sama seperti sebelumnya dengan ini.
lib.zip

Saya juga bersemangat untuk memperbaiki elemen inline, tetapi saya juga senang untuk mengatakan bahwa ada dukungan dasar dari tag html opsional. Jadi input ini tetap tidak berubah di terbaru sedangkan sebelumnya akan over-indent:

<ul>
    <li>Item 1
    <li>Item 2
    <li>Item 3
</ul>

Juga, mereka dapat diperoleh dari sini: https://github.com/beautify-web/js-beautify/archive/gh-pages.zip

file tidak diperiksa di master lagi.

Jadi saya tidak jelas bagaimana mereka akan digunakan oleh atom-beautify. Saya bukan ahli tentang cara kerja sistem plugin Atom. Akankah Atom secara otomatis membangun ketergantungan js-beautify dan menghasilkan file-file ini sebagai bagian dari prosedur instalasi plugin Atom? Atau akankah @Glavin001 harus melakukan pekerjaan ekstra sekarang agar js-beautify terintegrasi?

@garretwilson

Dalam rilis final plugin atom akan mendapatkan file dari paket npm: https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.0-rc12.tgz

Tidak ada perubahan untuk penggunaan normal. Kami hanya berhenti memeriksa file yang dibangun di cabang master karena tidak menarik dan menyebabkan kebingungan bagi kontributor yang mencoba mencari tahu file apa yang harus mereka edit.

Untuk ekstensi Brackets saya biasanya mengambil file dari folder itu karena saya tidak memerlukan sisa paket.
Apakah mungkin untuk menambahkannya juga ke rilis di GitHub?

Terima kasih banyak atas upaya Anda yang berkelanjutan pada @bitwiseman ini!

Saya mengalami masalah saat mencoba 1.8.0-rc12. Saya telah mengajukan masalah untuk ini.

@astromersiva - Terima kasih! Sepertinya @MacKLess telah mengirimkan PR dengan perbaikan.

@Hirse - Saya lebih suka tidak mengulang apa yang sudah tersedia dari npm.
Saya telah mengirimkan https://github.com/brackets-beautify/brackets-beautify/pull/266 yang memungkinkan Anda dengan mudah memperbarui file dari paket npm (tetapi juga memiliki js-beautify sebagai devDependency sehingga tidak akan diinstal pada mesin pengguna).

Pemeriksaan kewarasan saya lulus: keluaran kecantikan terlihat bagus, dan saya masih waras.
Saya sangat senang karena ini dirilis; baik untuk semua kontributor yang membantu.

Tapi inilah Zip dari direktori lib.

Saya menguji ini dengan atom-beautify v0.33.0 terbaru (yang mendekati versi yang sama yang saya gunakan untuk memverifikasi #1033), dan crash:

ReferenceError: token is not defined
    at Beautifier.beautify (C:\Users\user\.atom\packages\atom-beautify\node_modules\js-beautify\js\lib\beautify-html.js:1530:29)
    at style_html (C:\Users\user\.atom\packages\atom-beautify\node_modules\js-beautify\js\lib\beautify-html.js:1150:21)
    at exports.html_beautify (C:\Users\user\.atom\packages\atom-beautify\node_modules\js-beautify\js\lib\beautify-html.js:2258:16)
    at file:///C:/Users/user/.atom/packages/atom-beautify/src/beautifiers/js-beautify.coffee:48:20
    at Promise._execute (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\debuggability.js:303:9)
    at Promise._resolveFromExecutor (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\promise.js:483:18)
    at new Promise (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\promise.js:79:10)
    at JSBeautify.module.exports.JSBeautify.beautify (file:///C:/Users/user/.atom/packages/atom-beautify/src/beautifiers/js-beautify.coffee:32:12)
    at file:///C:/Users/user/.atom/packages/atom-beautify/src/beautifiers/index.coffee:361:28
    at tryCatcher (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\promise.js:512:31)
    at Promise._settlePromise (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise._settlePromiseCtx (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\promise.js:606:10)
    at Async._drainQueue (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\async.js:138:12)
    at Async._drainQueues (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\async.js:143:10)
    at Async.drainQueues (C:\Users\user\.atom\packages\atom-beautify\node_modules\bluebird\js\release\async.js:17:14)
    at <anonymous>

(Ini terjadi pada tiga dari empat file yang saya coba.)

Tidak terlihat bagus. Tolong jangan lepaskan ini.

@amandabot Selamat termasuk Anda. 😄

@garretwilson
Tidak masalah, terima kasih sudah mencoba. Akan ada rc13 besok (lihat #1496 dan PR perbaikan #1499).

Akan ada rc13 besok (lihat #1496 dan PR perbaikan #1499).

PR #1499 benar-benar membuat saya khawatir karena melirik komentar. Saya sangat berharap solusinya adalah tidak mengubah konten dengan mengubah ruang non-breaking ke ruang normal. Tolong jangan merusak konten. Bungkus pada spasi putih normal, dan biarkan yang lainnya apa adanya.

@garretwilson
rc13 dirilis.
Unduh https://github.com/beautify-web/js-beautify/archive/gh-pages.zip lagi untuk mendapatkan file terbaru.
@astromersiva - masalah Anda harus diperbaiki sekarang.

Mengenai rc13, saya punya kabar baik dan kabar buruk. Kabar baik pertama adalah tidak crash lagi. Hore!

Berita bagus lainnya: ingat di #1033 bagaimana saya sangat senang bahwa elemen sebaris akhirnya diformat dengan benar, tetapi saya menyebutkan bahwa <figcaption> di dalam <figure> tidak mendapatkan jeda baris, jika mengikuti elemen sebaris seperti <img/> :

    <figure class="near side"><img src="images/flyway-schema_version-table.png" alt="Flyway schema_version table." /> <figcaption>Flyway schema_version table. (<a href="https://flywaydb.org/getstarted/how"><cite>How Flyway works</cite></a>)</figcaption>
    </figure>

Ini bukan masalah besar dan saya bisa menghadapinya. Tetap saja saya senang untuk mengatakan bahwa ini sekarang diperbaiki di rc13 (dan juga di rc12, ketika tidak macet)!

    <figure class="near side"><img src="images/flyway-schema_version-table.png" alt="Flyway schema_version table." />
        <figcaption>Flyway schema_version table. (<a href="https://flywaydb.org/getstarted/how"><cite>How Flyway works</cite></a>)</figcaption>
    </figure>

Ini juga meningkatkan pemformatan lain di dalam <figure> , seperti </code></pre></figure> memiliki jeda baris sebelum </figure> sekarang seperti seharusnya.

Namun ada masalah. Ada regresi yang cukup besar untuk membuat indentasi daftar bersarang. Algoritme sekarang tampaknya bingung tentang level daftar, dan item daftar dalam daftar bersarang mendapatkan indentasi _mundur_! Saya telah mengajukan masalah #1501.

(Tidak terkait dengan HTML, saya melihat bahwa dalam CSS aturan di dalam blok @media sekarang dipisahkan oleh baris kosong alih-alih dipaksa bersama secara vertikal. Bagus, terima kasih.)

@garretwilson 1.8.0-rc14 diterbitkan - perbaikan #1501.

juga saya senang untuk mengatakan ada dukungan dasar dari tag html opsional.

Saya akan membuat komentar sinis ketika saya pertama kali melihat ini. Saya tidak akan pernah mengerti mengapa orang _ingin_ membuat konten yang tidak terstruktur dengan baik. Apakah sangat sulit untuk menambahkan tag penutup?

Masalahnya adalah ketika Anda memiliki tag penutup opsional yang tiba-tiba membuat konten sangat sulit untuk diuraikan (kecuali jika Anda memiliki pengurai yang dirancang dengan baik dengan ketat mengikuti tata bahasa yang jelas, yang saya tidak yakin menjelaskan kasusnya di sini). Untuk mengatasi ambiguitas, Anda harus "menebak" apa yang dimaksudkan orang tersebut, dan jika sulit menebak apa yang diinginkan orang, bayangkan untuk komputer.

Jadi, jika Anda ingin parser fleksibel untuk menangani penulis yang paling malas dengan konten yang paling tidak terbentuk dengan baik, baiklah. Harap berhati-hati untuk memastikannya tidak merusak konten dari kami yang mencoba yang terbaik untuk membuat konten yang dibuat dengan baik yang sesuai dengan spesifikasi.

Saya harap Anda akan memaafkan pidato kotak sabun kecil itu; ini adalah masalah yang saya lihat di seluruh industri.

Saya akan mencoba menguji perbaikan untuk #1501 hari ini, tetapi sekarang saya lebih khawatir tentang konten di seluruh papan.

(PS Ya, saya tahu bahwa HTML mengizinkan ini, dan ya saya tahu bahwa HTML tidak pernah sesuai dengan XML. Saya hanya mengungkapkan sentimen umum.)

Ketika saya mengajukan perbaikan untuk masalah ini, saya juga mengajukan masalah baru yang berkaitan dengan p
tag secara khusus karena saya tidak ingin merusak konten orang-orang yang,
seperti yang Anda katakan, "berusaha sebaik mungkin untuk membuat konten yang disusun dengan baik yang selaras dengan
spec." Saya tahu bahwa ini memiliki terlalu banyak kemungkinan bug untuk ditangani dalam satu
duduk dan, sejujurnya, tidak merasa sanggup melakukannya. Semoga, perbaikan ini
cukup mudah untuk memberikan fleksibilitas kepada orang-orang yang kurang
ketat dengan tag penutup tanpa merugikan mereka yang.

Pada Kamis, 23 Agustus 2018 pukul 14:14 Garret Wilson [email protected]
menulis:

juga saya senang untuk mengatakan ada dukungan dasar dari tag html opsional.

Saya akan membuat komentar sinis ketika saya pertama kali melihat ini. saya tidak akan pernah
memahami mengapa orang ingin membuat konten yang tidak dibuat dengan baik. Apakah itu
sangat sulit untuk menambahkan tag penutup?

Masalahnya adalah ketika Anda memiliki tag penutup opsional yang tiba-tiba
membuat konten sangat sulit untuk diuraikan (kecuali jika Anda memiliki desain yang bagus
parser dengan ketat mengikuti tata bahasa yang jelas, yang saya tidak yakin jelaskan
kasus di sini). Untuk mengatasi ambiguitas, Anda harus "menebak" apa
orang yang dimaksud, dan jika menebak apa yang orang maksudkan sulit bagi orang,
bayangkan untuk komputer.

Jadi jika Anda ingin parser menjadi fleksibel untuk menangani yang paling malas
penulis dengan konten yang paling tidak baik, baiklah. Harap berhati-hati
untuk memastikan tidak merusak konten kami yang mencoba kami
terbaik untuk membuat konten yang terbentuk dengan baik yang selaras dengan spesifikasi.

Saya harap Anda akan memaafkan pidato kotak sabun kecil itu; itu masalah yang saya lihat
di seluruh industri.

Saya akan mencoba menguji perbaikan untuk #1501
https://github.com/beautify-web/js-beautify/issues/1501 hari ini, tapi sekarang
Saya lebih khawatir tentang konten di seluruh papan.


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/beautify-web/js-beautify/issues/1495#issuecomment-415573260 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/Acnku-jlxTrkFfhywQJ_Vrwt9yjNxjXZks5uTxtHgaJpZM4WHN3o
.

Hei, jika itu berhasil untuk kedua jenis penulis, bagus. Saya baru saja menyinggung tentang hal-hal yang saya pikirkan. 😁

@bitwiseman , apakah ada file Zip yang berguna dari file rc14 untuk atom-beautify?

Saya khawatir saya tidak akan mencapai ini hari ini. Saya dibanjiri pekerjaan dan saya harus istirahat beberapa menit.

Tetapi memikirkan lebih lanjut tentang ini, saya masih sedikit khawatir tentang fitur baru ini untuk menangani elemen yang tidak tertutup. Apakah banyak kasus pengujian mendalam ditambahkan ke kode untuk memastikan kode berfungsi dengan benar di kasus sudut, dan tidak merusak konten yang ada? Saya sedikit khawatir bahwa bug seperti ini akan muncul pada kandidat rilis ke-14. Jika kekhawatiran saya tidak perlu dan ada banyak tes unit, dll., maka maafkan saya membawanya. Saya belum melihat kode itu; kalian akan memiliki pegangan yang lebih baik tentang seberapa aman dan teruji itu.

Saya pergi ke depan dan meluangkan waktu untuk menguji ini malam ini.

rc14 ini masih menampilkan bug dalam daftar definisi bersarang de-indentasi <dl> / <dt> / <dd> . Saya sudah mengajukan tiket #1507.

Ketika begitu banyak bug dalam basis kode muncul pada kandidat rilis ke-14, terlihat bahwa kode tersebut belum siap untuk diproduksi.

Saya akan meminta Anda menghapus kode baru ini dan memberikan pengujian unit yang memadai sebelum dimasukkan ke dalam aliran rilis. Saya harap Anda menghasilkan kandidat rilis tanpa kode itu, dan lanjutkan dan rilis 1.8.0 tanpa kode itu juga.

Saya benar-benar telah menunggu bertahun-tahun untuk memperbaiki #1033, dan setelah menyumbangkan saran dan uang, saya sangat senang melihat bahwa itu ditangani. Saya berharap Anda baru saja merilis versi yang menyertakan perbaikan itu, tetapi sekarang sepertinya semuanya berlarut-larut, menunggu v1.8.0, dan bahkan menambahkan hal-hal baru. Tidak bisakah kita mendapatkan perbaikan untuk #1033 ke alam liar?

Masalahnya sekarang adalah untuk kembali ke perbaikan #1033, saya harus kembali ke cabang tempat #1033 diperbaiki dan menyalin file dari sana supaya saya bisa melakukan pekerjaan sehari-hari saya. kerja.

Mohon maaf atas segala keluhannya. Anda tidak tahu bagaimana saya menggigit lidah saya sejak # 1033 diperbaiki agar tidak mengganggu Anda dengan "Apakah sudah dirilis? Apakah sudah dirilis?" pertanyaan setiap hari.

Oke, aku cukup lelah. Saya akan memeriksa status ini besok. Selamat malam.

Seperti yang saya catat di #1507, ternyata saya lelah dan membuka ritsleting r13 saat menguji alih-alih r14, sehingga daftar definisi bersarang yang tidak diindentasi tidak muncul di r14. Kesalahanku. Saya seharusnya menunggu sampai besok untuk menguji ini seperti yang saya maksudkan semula. Tapi aku sangat ingin itu dirilis!

Bagaimanapun, kekhawatiran saya secara keseluruhan tetap ada, tetapi seperti yang saya sebutkan, kalian tahu lebih baik daripada saya betapa solidnya kode baru itu.

@garretwilson
Ini terjadi dengan rilis perangkat lunak apa pun, Anda baru saja melihat dan menjadi bagian dari proses dalam kasus ini. 😄

Saya mengerti bagaimana perasaan Anda tetapi hanya ada dua bug yang ditambahkan sejak saya membuka masalah ini. Salah satunya berada di area rumit penanganan unicode dan spasi, dan yang lainnya pada fitur baru tag penutup opsional. Keduanya mudah dipahami dan diperbaiki. Masalahnya spesifik, tidak sistemik.

Kami hampir sampai. Hanya satu atau dua hari lagi menggedor rc14 dan itu akan keluar dari pintu.

Oke, sudah sepi di sini. Itu bagus.

Saya tidak akan mengirimkan rilis besar seperti ini pada hari Jumat.

Tapi kecuali sesuatu yang besar masuk, 1.8.0 akan keluar lebih awal pada hari Senin.

Kerja bagus!

Baru saja dilaporkan: #1514 dan https://github.com/beautify-web/js-beautify/issues/781#issuecomment -416342735

Terima kasih!

@gabrielmaldi Dan Anda tidak bisa memberi tahu saya tentang rilis #1514 _before_? 😄
Dirilis 1.8.1.

Apakah ada Zip yang bisa saya dapatkan dari file 1.8.1? Saya menunggu @Glavin001 untuk mengintegrasikan ini ke dalam atom-beautify, jadi saya harus terus memperbarui file instalasi saya secara manual. Terima kasih.

Saya menunggu @Glavin001 untuk mengintegrasikan ini ke dalam atom-beautify, jadi saya harus terus memperbarui file instalasi saya secara manual.

@garretwilson : Rentang versi Atom-Beautify untuk js-beautify adalah ^1.7.5 : https://github.com/Glavin001/atom-beautify/blob/master/package.json#L194

Karena rilis baru adalah 1.8.1 Anda cukup menghapus dan menginstal ulang Atom-Beautify untuk memicu pembaruan dependensi ini, seperti js-beautify . Lihat https://semver.npmjs.com/ untuk pencocokan semver:

image

Bahkan jika hal di atas tidak memungkinkan, saya tidak melihat Permintaan Tarik terbuka untuk memperbarui ketergantungan js-beautify menjadi 1.8.1 : https://github.com/Glavin001/atom-beautify/pulls

Saya tidak secara aktif mengawasi perubahan pada js-beautify atau ketergantungan lainnya. Prioritas saya saat ini adalah masa depan Atom-Beautify, yaitu https://unibeautify.com/ . Jika ada pembaruan yang ingin Anda lihat di Atom-Beautify, saya sarankan Anda mengirimkan Permintaan Tarik dan menyebutkan @szeck87 dan saya ( @szeck87 jauh lebih terlibat dengan Atom-Beautify akhir-akhir ini, karena saya telah memprioritaskan Unibeautify) ke membuatnya ditinjau dan digabungkan. Terima kasih.

@Glavin001 ,

Rentang versi Atom-Beautify untuk js-beautify adalah ^1.7.5: … Karena rilis baru adalah 1.8.1 Anda cukup menghapus dan menginstal ulang Atom-Beautify untuk memicu pembaruan dependensi ini, seperti js-beautify.

Oh itu bagus! Besar.

Tetapi masalahnya adalah atom-beautify adalah hard-coding _duplicate_ default (yang telah saya peringatkan di masa lalu), dan karena perbaikan untuk js-beautify #1033 memerlukan perubahan nilai default unformatted , atom -beautify harus mengubah default juga.

Saya meminta ini di https://github.com/Glavin001/atom-beautify/issues/2210 . (Jika Anda hanya akan _menghapus_ pengaturan default yang berlebihan, mendelegasikan ke pengaturan default js-beautify, kami tidak harus terus melakukan ini setiap kali js-beautify mengubah nilai defaultnya; itu akan menjadi preferensi saya.)

Saya berkomentar di https://github.com/Glavin001/atom-beautify/issues/2210#issuecomment -417824930 . Silakan lanjutkan diskusi terkait Atom-Beautify di sana. Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

keeganstreet picture keeganstreet  ·  6Komentar

Hirse picture Hirse  ·  3Komentar

gabrielmaldi picture gabrielmaldi  ·  3Komentar

iofjuupasli picture iofjuupasli  ·  4Komentar

retan picture retan  ·  3Komentar