Js-beautify: انشر الإصدار 1.8.0

تم إنشاؤها على ٢٢ أغسطس ٢٠١٨  ·  31تعليقات  ·  مصدر: beautify-web/js-beautify

garretwilsonamandabotHookyQRastronomersiva
@ مجنون-بوب @ swan46LoganDarkMacKLess
@ Mlocik97- قضايا هيرسي jdavisclark

في هذه المرحلة ، يتضمن الإصدار 1.8.0 ما لا يقل عن 80 خطأً ثابتًا وتحسينات. شهد كل من تجميل HTML و CSS / LESS / SCSS تحسينات هائلة. لا يعتبر هذا الأداء هو التركيز الأساسي لهذا المشروع ، ولكن مُجمل HTML على وجه الخصوص شهد تحسنًا في الأداء بمعدل 10 أضعاف أو أكثر.

أرغب في ربط دورة RC هذه ونشر 1.8.0 (الإصدار). الإصدار الأخير 1.8.0-rc12 موجود على http://jsbeautifier.org/ و npm و pypi.

إذا كان بإمكانك تجربة بعض المدخلات التي تستخدمها في معظم الأحيان أو إعطاء RC هذا اختبارًا عقليًا ، فسأكون ممتنًا للغاية.

أخطط للإفراج قريبا.

task

التعليق الأكثر فائدة

حسنًا ، لقد ساد الهدوء هنا. هذا طيب.

لن أقوم بشحن إصدار ضخم مثل هذا يوم الجمعة.

ولكن ما لم يأتي شيء كبير ، سيخرج 1.8.0 في وقت مبكر من يوم الاثنين.

ال 31 كومينتر

LGTM

أنا متحمس جدًا لهذا الأمر. لم أكن أرغب في استعجالتك ، لكني كنت أشاهد المرشحين للإفراج عنهم بترقب. أنت تعلم أنني حريص على نشر الإصلاح للرقم 1033.

لقد قمت بتحديث atom-beautify إلى أحدث إصدار v0.33.0 ، ثم حاولت اتباع إرشاداتي الخاصة على الرقم 1033 لاختبار هذا الإصلاح. وفقًا لملاحظاتي ، قمت بنسخ المحتويات الكاملة لـ js/lib في توزيع js-beautify إلى ~/.atom/packages/atom-beautify/node_modules/js-beautify/js/lib ، لتحل محل ملفات تجميل الذرة هناك.

ولكن الآن لا يبدو أن هناك دليل js/lib بعد الآن ، لا في أحدث js-beautify-1.8.0-rc12.zip ولا في سحب الالتزام من master (3374af3). هل فاتني بعض الخطوات ، أو تم تغيير تخطيط التوزيع؟

تضمين التغريدة

آه نعم ، آسف ، لم يتم التحقق من الملفات الرئيسية بعد الآن.
وهي متوفرة من فرع gh-pages - حيث يتم تقديم الموقع من خلاله
على https://github.com/beautify-web/js-beautify/tree/gh-pages/js/lib ولكنه يتطلب مجموعة من الخطوات لتنزيلها.

ولكن هذا ملف مضغوط من دليل lib. اتبع نفس التعليمات السابقة بهذا.
lib.zip

أنا متحمس جدًا للحصول على إصلاح العنصر المضمن ، ولكن يسعدني أيضًا أن أقول إن هناك دعمًا أساسيًا لعلامات html الاختيارية. لذلك يظل هذا الإدخال دون تغيير في الأحدث بينما كان من قبل يزيد المسافة البادئة:

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

أيضًا ، يمكن الحصول عليها من هنا: https://github.com/beautify-web/js-beautify/archive/gh-pages.zip

لم يتم إيداع الملفات على الماجستير بعد الآن.

لذا فأنا غير واضح إذن كيف سيتم استخدامها بواسطة تجميل الذرة. لست خبيرًا في كيفية عمل نظام Atom الإضافي. هل سيقوم Atom تلقائيًا ببناء تبعية js-beautify وإنشاء هذه الملفات كجزء من إجراء تثبيت المكون الإضافي Atom؟ أو هل سيتعين على @ Glavin001 القيام بعمل إضافي الآن للحصول على دمج js-beautify؟

تضمين التغريدة

في الإصدار الأخير ، سيحصل المكون الإضافي atom على الملفات من حزمة npm: https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.0-rc12.tgz

لا يوجد تغيير لأي استخدام عادي. لقد توقفنا فقط عن التحقق من الملفات التي تم إنشاؤها في الفرع الرئيسي لأنها ليست مثيرة للاهتمام وكانت تسبب ارتباكًا للمساهمين الذين يحاولون اكتشاف الملفات التي يجب عليهم تحريرها.

بالنسبة إلى ملحق Brackets ، عادةً ما أحصل على الملفات من هذا المجلد لأنني لست بحاجة إلى بقية الحزمة.
هل من الممكن إضافتها أيضًا إلى الإصدار على GitHub؟

شكرًا جزيلاً لجهودك المستمرة في هذاbitwiseman!

واجهت مشكلة أثناء تجربة 1.8.0-rc12. لقد قدمت قضية لهذا.

astronomersiva - شكرا! يبدو أن MacKLess قد

Hirse - أفضل حقًا عدم إعادة ما هو متاح بالفعل من npm.
لقد أرسلت https://github.com/brackets-beautify/brackets-beautify/pull/266 والتي تتيح لك تحديث الملفات بسهولة من حزمة npm (ولكن لديها أيضًا js-beautify كـ devDependency لذلك لن يتم تثبيتها على أجهزة المستخدم).

لقد نجح فحص صحة عقلاني: تبدو مخرجات جهاز التجميل جيدة ، وما زلت عاقلًا بشكل يمكن تصديقه.
أنا متحمس للغاية بشأن إطلاق سراح هذا ؛ أحسنت لكل المساهمين الذين ساعدوا.

ولكن هذا ملف مضغوط من دليل lib.

لقد اختبرت هذا باستخدام أحدث إصدار من atom-beautify v0.33.0 (وهو قريب من نفس الإصدار الذي استخدمته للتحقق من الرقم 1033) ، وتحطمت:

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>

(حدث هذا في ثلاثة من الملفات الأربعة التي جربتها).

لا تبدو جيدة. من فضلك لا تفرج عن هذا.

amandabot . مبروك عليك. 😄

تضمين التغريدة
لا مشكلة ، شكرا على المحاولة. سيكون هناك rc13 غدًا (انظر # 1496 والإصلاح PR # 1499).

سيكون هناك rc13 غدًا (انظر # 1496 والإصلاح PR # 1499).

PR # 1499 جعلني أشعر بالقلق حقًا من إلقاء نظرة خاطفة على التعليقات. آمل بصدق ألا يكون الحل البديل هو تغيير المحتوى عن طريق تغيير مساحة غير منقسمة إلى مساحة عادية. من فضلك لا تفسد المحتوى. لفه على مساحة بيضاء متكسرة عادية ، واترك كل شيء كما هو.

تضمين التغريدة
تم تحرير rc13.
قم بتنزيل https://github.com/beautify-web/js-beautify/archive/gh-pages.zip مرة أخرى للحصول على أحدث الملفات.
astronomersiva - يجب إصلاح مشكلتك الآن.

بخصوص rc13 ، لدي أخبار جيدة وأخبار سيئة. الخبر السار الأول هو أنه لم يعد يتعطل بعد الآن. الصيحة!

المزيد من الأخبار السارة: تذكر في # 1033 كيف شعرت بسعادة غامرة لأن العناصر المضمنة تم تنسيقها أخيرًا بشكل صحيح ، لكنني ذكرت أن <figcaption> داخل <figure> لم يكن يحصل على فاصل سطر ، إذا اتبعت عنصر مضمن مثل <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>

لم تكن هذه مشكلة كبيرة ويمكنني التعايش معها. ما زلت سعيدًا أن أقول إن هذا تم إصلاحه الآن في rc13 (وفي rc12 أيضًا ، عندما لم يتعطل)!

    <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>

كما أنه يحسن التنسيقات الأخرى داخل <figure> ، مثل </code></pre></figure> وجود فاصل سطر قبل </figure> الآن كما ينبغي.

ومع ذلك، هناك مشكلة. هناك انحدار كبير جدًا في وضع مسافة بادئة للقوائم المتداخلة. يبدو أن الخوارزمية الآن مرتبكة بشأن مستويات القائمة ، ويتم وضع مسافة بادئة لعناصر القائمة في القوائم المتداخلة _backwards_! لقد قدمت المشكلة رقم 1501.

(لا علاقة له بـ HTML ، أرى أنه في CSS ، أصبحت القواعد داخل كتلة @media منفصلة الآن بأسطر فارغة بدلاً من أن يتم إجبارها معًا رأسياً. رائع ، شكرًا.)

نشرgarretwilson 1.8.0-rc14 - الإصلاحات رقم 1501.

كما يسعدني أن أقول إن هناك دعمًا أساسيًا لعلامات html الاختيارية.

كنت سأدلي بتعليق دنيء عندما رأيت هذا لأول مرة. لن أفهم أبدًا سبب رغبة الأشخاص في إنشاء محتوى غير جيد التنسيق. هل من الصعب حقًا إضافة علامة نهاية؟

تكمن المشكلة في أنه عندما يكون لديك علامات نهاية اختيارية ، فإنها تجعل المحتوى صعبًا حقًا فجأة (إلا إذا كان لديك محلل مصمم جيدًا يتبع قواعد نحوية واضحة ، وأنا لست متأكدًا من وصف الحالة هنا). لحل الغموض ، عليك أن "تخمن" ما قصده الشخص ، وإذا كان تخمين ما يقصده الناس صعبًا على الناس ، تخيله لأجهزة الكمبيوتر.

لذا ، إذا كنت تريد أن يكون المحلل اللغوي مرنًا للتعامل مع أكثر المؤلفين كسولًا مع المحتوى الأكثر تباينًا ، فلا بأس. يرجى توخي الحذر الشديد للتأكد من أنه لا يكسر محتوى أولئك منا الذين يبذلون قصارى جهدنا لإنشاء محتوى جيد التنسيق يتوافق مع المواصفات.

آمل أن تغفر خطاب صندوق الصابون الصغير ؛ إنها مشكلة أراها في جميع أنحاء الصناعة.

سأحاول اختبار الإصلاح لـ # 1501 اليوم ، لكنني الآن أشعر بالقلق أكثر بشأن المحتوى في جميع المجالات.

(ملاحظة: نعم ، أعلم أن HTML يسمح بذلك ، ونعم أعلم أن HTML لم يكن متوافقًا مع XML مطلقًا. أنا فقط أعبر عن شعور عام.)

عندما قدمت إصلاحًا لهذه المشكلة ، قمت أيضًا بتقديم مشكلة جديدة تتعلق بـ p
العلامات على وجه التحديد لأنني لم أرغب في كسر محتوى الأشخاص الذين ،
كما تقول ، "نبذل قصارى جهدنا لإنشاء محتوى جيد التنسيق يتوافق معه
spec. "كنت أعلم أن هذا يحتوي على الكثير من الأخطاء المحتملة التي لا يمكن معالجتها في جهاز واحد
جالسًا ، وبصراحة ، لم يكن مستعدًا لذلك. نأمل أن يكون هذا الإصلاح
واضحة بما يكفي لتوفير المرونة للأشخاص الأقل
صارم مع علامات الإغلاق دون الإضرار بمن هم.

يوم الخميس 23 أغسطس 2018 الساعة 2:14 مساءً غاريت ويلسون [email protected]
كتب:

كما يسعدني أن أقول إن هناك دعمًا أساسيًا لعلامات html الاختيارية.

كنت سأدلي بتعليق دنيء عندما رأيت هذا لأول مرة. لن أفعل أبدا
فهم سبب رغبة الأشخاص في إنشاء محتوى غير منسق جيدًا. فعلا
حقا من الصعب جدا إضافة علامة نهاية؟

المشكلة هي أنه عندما يكون لديك علامات نهاية اختيارية هي أنها فجأة
يجعل المحتوى صعبًا حقًا في التحليل (إلا إذا كان لديك تنسيق
محلل صارم يتبع قواعد نحوية واضحة ، لست متأكدًا من وصفها
القضية هنا). لحل الغموض ، عليك أن "تخمن" ما
الشخص المقصود ، وإذا كان تخمين ما يقصده الناس صعبًا على الناس ،
تخيل لأجهزة الكمبيوتر.

لذلك إذا كنت تريد أن يكون المحلل اللغوي مرنًا للتعامل مع أكثر البرامج كسولًا
المؤلفين الذين لديهم محتوى غير جيد التكوين ، جيد. من فضلك كن حذرا جدا
للتأكد من أنه لا يكسر محتوى أولئك الذين يحاولون منا
الأفضل لإنشاء محتوى جيد التنسيق يتوافق مع المواصفات.

آمل أن تغفر خطاب صندوق الصابون الصغير ؛ إنها مشكلة أراها
عبر الصناعة.

سأحاول اختبار الإصلاح لـ # 1501
https://github.com/beautify-web/js-beautify/issues/1501 اليوم ، لكن الآن
أنا قلق أكثر بشأن المحتوى في جميع المجالات.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/beautify-web/js-beautify/issues/1495#issuecomment-415573260 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/Acnku-jlxTrkFfhywQJ_Vrwt9yjNxjXZks5uTxtHgaJpZM4WHN3o
.

مرحبًا ، إذا كان يعمل لكلا النوعين من المؤلفين ، فهذا رائع. لقد انطلقت للتو في تماس حول الأشياء التي أفكر فيها. 😁

bitwiseman ، هل يوجد ملف مضغوط في متناول اليد لملفات rc14 لتجميل الذرة؟

garretwilson قم بتنزيل https://github.com/beautify-web/js-beautify/archive/gh-pages.zip مرة أخرى.

أخشى أنني لن أصل إلى هذا اليوم. أنا غارق في العمل ولا بد لي من أخذ قسط من الراحة لبضع دقائق.

لكن بالتفكير أكثر في هذا الأمر ، ما زلت قلقة قليلاً بشأن هذه الميزة الجديدة للتعامل مع العناصر غير المغلقة. هل تمت إضافة الكثير من حالات الاختبار المتعمق إلى الشفرة للتأكد من أنها تعمل بشكل صحيح في حالات الركن ، ولا تضر بالمحتوى الحالي؟ يقلقني قليلاً أن مثل هذه الأخطاء ستظهر في الإصدار الرابع عشر من المرشحين. إذا كان قلقي لا داعي له وهناك الكثير من اختبارات الوحدة ، وما إلى ذلك ، فاعذرني عن طرحها. لم أنظر إلى هذا الرمز ؛ يا رفاق سيكون لديك تعامل أفضل مع مدى أمانها واختبارها.

تقدمت وأخذت الوقت الكافي لاختبار هذا الليلة.

لا يزال rc14 يعرض أخطاءً في قوائم التعريف المتداخلة غير المحددة المسافة البادئة <dl> / <dt> / <dd> . لقد قدمت التذكرة رقم 1507.

عندما يظهر الكثير من الأخطاء في قاعدة الشفرة في الإصدار الرابع عشر المرشّح ، فمن الواضح أن الكود غير جاهز للإنتاج.

أود أن أطلب منك إزالة هذا الرمز الجديد وتقديم اختبارات وحدة كافية قبل إدخاله في تدفق الإصدار. آمل أن تقوم بإصدار مرشح بدون هذا الرمز ، والمضي قدمًا وإصدار 1.8.0 بدونه أيضًا.

لقد كنت بالفعل أنتظر سنوات حتى يتم إصلاح الرقم 1033 ، وبعد المساهمة بالمال والمشورة ، شعرت بسعادة غامرة لرؤية أنه تم معالجته. كنت آمل أن تقوم للتو بإصدار نسخة تضمنت هذا الإصلاح ، ولكن يبدو الآن أن كل شيء يسير ، في انتظار الإصدار 1.8.0 ، وحتى إضافة أشياء جديدة. ألا يمكننا الحصول على الإصلاح رقم 1033 في البرية؟

تكمن المشكلة الآن في أنه للعودة إلى الإصلاح رقم 1033 ، سأضطر إلى العودة إلى الفرع الذي تم إصلاح رقم 1033 عليه ونسخ الملفات من هناك فقط حتى أتمكن من القيام بأعمالي اليومية الشغل.

آسف لجميع الشكاوى. أنت لا تعرف كيف كنت أعض لساني منذ أن تم إصلاح # 1033 لمنع إزعاجك بـ "هل تم إصداره بعد؟ هل تم إصداره بعد؟" أسئلة كل يوم.

حسنًا ، أنا متعب جدًا. سأتحقق من حالة هذا غدًا. مساء الخير.

كما أشرت في # 1507 ، اتضح أنني كنت متعبًا وغير مضغوط عند اختبار r13 بدلاً من r14 ، لذلك لا تظهر قوائم التعريفات المتداخلة غير المحددة في r14. غلطتي. كان يجب أن أنتظر حتى الغد لاختبار هذا كما كنت أنوي في الأصل. لكنني حريصة جدًا على إطلاق سراحه!

على أي حال ، تظل مخاوفي العامة قائمة ، ولكن كما ذكرت ، فإنكم تعلمون أكثر مني مدى قوة الكود الجديد.

تضمين التغريدة
يحدث هذا مع أي إصدار من البرامج ، فأنت فقط سترى وتكون جزءًا من العملية في هذه الحالة. 😄

أفهم ما تشعر به ولكن لم تتم إضافة سوى خطأين فقط منذ أن فتحت هذه المشكلة. كان أحدهما في المنطقة الصعبة من معالجة unicode والمسافات البيضاء ، والآخر كان في الميزة الجديدة لعلامات الإغلاق الاختيارية. كان كلاهما سهل الفهم والإصلاح. المشاكل محددة وليست نظامية.

نحن على وشك الانتهاء. مجرد يوم أو يومين من الضرب على rc14 وسيكون بالخارج.

حسنًا ، لقد ساد الهدوء هنا. هذا طيب.

لن أقوم بشحن إصدار ضخم مثل هذا يوم الجمعة.

ولكن ما لم يأتي شيء كبير ، سيخرج 1.8.0 في وقت مبكر من يوم الاثنين.

عمل عظيم!

تم الإبلاغ للتو: # 1514 و https://github.com/beautify-web/js-beautify/issues/781#issuecomment -416342735

شكرا!

gabrielmaldi وأنت لا تستطيع أن تخبرني عن # 1514 _before_ Release؟ 😄
تم الإصدار 1.8.1.

هل يوجد ملف Zip يمكنني الحصول عليه من ملفات 1.8.1؟ أنا في انتظار @ Glavin001 لدمج هذا في atom-beautify ، لذلك يجب أن أستمر في تحديث ملفات التثبيت يدويًا. شكرا.

أنا في انتظار @ Glavin001 لدمج هذا في atom-beautify ، لذلك يجب أن أستمر في تحديث ملفات التثبيت يدويًا.

garretwilson : نطاق إصدار Atom-Beautify مقابل js-beautify هو ^1.7.5 : https://github.com/Glavin001/atom-beautify/blob/master/package.json#L194

نظرًا لأن الإصدار الجديد هو 1.8.1 ، يمكنك ببساطة إلغاء تثبيت Atom-Beautify وإعادة تثبيته لبدء تحديث هذه التبعيات ، مثل js-beautify . راجع https://semver.npmjs.com/ لمعرفة مطابقة semver:

image

حتى لو لم يكن ما سبق ممكنًا ، لا أرى طلب سحب مفتوحًا لتحديث تبعية js-beautify إلى 1.8.1 : https://github.com/Glavin001/atom-beautify/pulls

أنا لا أراقب بنشاط التغييرات في js-beautify أو أي تبعية أخرى. أولويتي الحالية هي مستقبل Atom-Beautify ، وهو https://unibeautify.com/ . إذا كان هناك تحديث تريد رؤيته في Atom-Beautify ، فإنني أوصيك بإرسال طلب سحب وذكر كلاً من @ szeck87 أكثر

@ Glavin001 ،

نطاق إصدار Atom-Beautify لـ js-beautify هو ^ 1.7.5:… بما أن الإصدار الجديد هو 1.8.1 ، يمكنك ببساطة إلغاء تثبيت Atom-Beautify وإعادة تثبيته لبدء تحديث هذه التبعيات ، مثل js-beautify.

اوه هذا لطيف! رائعة.

لكن المشكلة تكمن في أن تجميل الذرة عبارة عن إعدادات افتراضية للترميز الثابت _duplicate_ (والتي حذرت منها في الماضي) ، ولأن إصلاح js-beautify # 1033 يتطلب تغيير القيمة الافتراضية unformatted ، atom -الجمال سوف تضطر إلى تغيير الإعدادات الافتراضية أيضًا.

لقد طلبت هذا في https://github.com/Glavin001/atom-beautify/issues/2210 . (إذا كنت تريد ببساطة _ إزالة_ الإعدادات الافتراضية الزائدة عن الحاجة ، والتفويض إلى الإعدادات الافتراضية لـ js-beautify ، فلن نضطر إلى الاستمرار في القيام بذلك في كل مرة يقوم فيها js-beautify بتعديل قيمه الافتراضية ؛ سيكون هذا هو المفضل لدي.)

لقد علقت على https://github.com/Glavin001/atom-beautify/issues/2210#issuecomment -417824930. الرجاء متابعة مناقشة Atom-Beautify ذات الصلة هناك. شكرا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات