مساعدة في إعداد rubocop و eslint وغيرها في vscode و سطر الأوامر

لقد سئمت من تقديم تعليمات برمجية تفشل في اختبارات التدقيق. في بعض الأحيان، يمكنني نسخ ولصق أوامر rubocop أو yarn eslint (وما إلى ذلك) من github في جهازي الطرفي والحصول على ذلك للعمل، ولكن هذا لا يعمل أيضًا الآن.

أحصل على أخطاء مثل

لا يمكن استنتاج محلل للملف: ...

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

ماذا تريد أن يتم إنجازه؟

أريد إجراء مشاركة شاشة عبر zoom (أو أي شيء آخر) وأن ترشدني خلال الأشياء بحيث

  • يقوم vscode بتشغيل كل ما يجب عليه عند الحفظ وإصلاح التنسيق أو إخباري بأن شيئًا ما معطل.
  • يمكنني تشغيل yarn eslint وأي أشياء أخرى موجودة في اختبارات التدقيق من سطر الأوامر

متى تحتاج إلى إنجازه؟

قبل أن أصاب بالجنون.

ما هي ميزانيتك، بالدولار الأمريكي التي يمكنك تقديمها لهذه المهمة؟

أنا أعمل بنظام Pop!Os، وهو في الأساس Ubuntu.

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

إعجابَين (2)

جاي،
محبط، أليس كذلك؟
ما أفعله لهذا النوع من الأشياء هو:

  • فحص سير عمل CI لمكون إضافي شائع
  • النظر في التكوين المرتبط في جذر المكون الإضافي

يمكنك رؤية ما تفعله اختبارات التدقيق الخاصة بي لـ Chatbot هنا:

أعتقد أنه يمكنك تشغيل eslint و prettier من دليل المكون الإضافي، ولكن يمكن تشغيل rubocop من دليل discourse.

إذا حل هذا مشكلتك، فلا تتردد في تحويل هذا إلى موضوع Dev وأنت مرحب بك :slight_smile:

إعجاب واحد (1)

ما أفعله هو نسخ مسارات العمل بشكل أعمى من GitHub - discourse/discourse-plugin-skeleton: Template for Discourse plugins و GitHub - discourse/discourse-theme-skeleton: Template for Discourse themes. (أحتاج إلى تعديل مسار المكون الإضافي قليلاً لمكون لوحة المعلومات الخاص بي، والذي يعتمد على المكون الإضافي stripe). هذا، أنا على استعداد للاعتقاد، يكفي لإجراء التدقيق.

ما أريده، مع ذلك، هو أن يقوم vscode بإجراء التدقيق قبل أن أقوم بالالتزام. لقد نجح الأمر في الماضي، لكنه توقف وأشعر وكأن شخصًا يعرف عن VScode أنني عرفت عن Emacs قبل 20 عامًا، يمكنه قول أشياء مثل “اضغط على control-p، ثم قم بإجراء الشيء لتثبيت أداة التنسيق، ثم قم بتحرير ملف التكوين بحيث يقوم بالشيء الصحيح” وبعد ذلك يمكنني مرة أخرى، الضغط على control-S والحصول على my handlebars و javascript وأي شيء آخر منسق بشكل جميل، وأيضًا العثور على جميع المتغيرات المزعجة التي عرفتها ولكن لم أستخدمها أبدًا وما إلى ذلك.

الاقتراب أكثر

حسنًا، لقد فعلت هذا:

      npm install --global yarn
      yarn add prettier

والآن لدي discourse-prettier:

#!/usr/bin/env bash
if [ -n "$(find assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
  yarn prettier --write "assets/**/*.{scss,js,es6,hbs}"
fi
if [ -n "$(find admin/assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
  yarn prettier --write "admin/assets/**/*.{scss,js,es6,hbs}"
fi
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
  yarn prettier --write "test/**/*.{js,es6}"
fi

if [ -n "$(find assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
  yarn prettier --list-different "assets/**/*.{scss,js,es6,hbs}"
fi
if [ -n "$(find admin/assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
  yarn prettier --list-different "admin/assets/**/*.{scss,js,es6,hbs}"
fi
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
  yarn prettier --list-different "test/**/*.{js,es6}"
fi

هذا حل جزءًا من مشكلتي، لذا على الأقل يمكنني تشغيل prettier من سطر الأوامر. لكنني ما زلت على استعداد لدفع مقابل المساعدة للحصول على vscode للقيام بالعمل القذر الخاص بي. عند الحفظ، يجب أن يقوم بتشغيل eslint (أو rubop أو أي شيء آخر) وإما إصلاحه أو إخباري أنه لا يستطيع. أنا كبير جدًا في السن لأعتقد أن محرري يجب أن يكتب الكود الخاص بي، ولكن ليس كبيرًا جدًا لأعتقد أنه لا ينبغي عليه تنسيقه.

كان هناك موضوع سابق حيث اقترح شخص ما المكونات الإضافية لـ vscode التي كان يستخدمها، مما ساعدني بعض الشيء، ولكني لا أراها الآن.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.