
Tekunda Team

Tekunda Team

باختصار: Salesforce Code Analyzer v5 يحل محل إضافة sfdx-scanner.
ثبّته بـsf plugins install code-analyzer، واستبدل
sf scanner run بـsf code-analyzer run، واستبدل خياري
--engine و--category القديمين بخيار واحد هو
--rule-selector. وينتقل الـGraph Engine تحت الأمر نفسه، وينتقل ضبط
المحركات من خيارات سطر الأوامر إلى ملف code-analyzer.yml.
إن كانت الـCI لديك ما زالت تنادي sf scanner run، فهذه الهجرة تُجدول قبل
تقديمك التالي إلى AppExchange، لا بعده. بقية مراجعة الأمان لا تتغير، لذا يقتصر هذا
الدليل على تبديل الأداة. ولمعرفة ما يرفضه المراجعون فعلًا وبأي ترتيب تصلحه، انظر
Salesforce Security Review Checklist: What to Fix, In Order.
المهمة نفسها، والباب جديد. Code Analyzer v5 إضافة لـsf توحّد محركات
التحليل الساكن خلف أمر واحد وصيغة نتائج واحدة، بدل خيارات كل محرك على حدة في الإصدار
الرابع. ثلاثة فروق تهم عند الهجرة:
sf code-analyzer run يغطي المحركات
التي كانت موزّعة بين sf scanner run وsf scanner run dfa،
فلم يعد الـGraph Engine استدعاءً منفصلًا بخياراته الخاصة.
--rule-selector، بدل الجمع بين
--engine و--category.
code-analyzer.yml ترفعه بجوار
الكود الذي يحكمه.
ثبّت الإضافة ثم شغّلها على مساحة عملك:
sf plugins install code-analyzer sf code-analyzer run --workspace . --view detail
ولّد إعدادًا مبدئيًا مرة واحدة وارفعه، كي يحلل كل مطوّر وكل مهمة CI بالقواعد نفسها:
sf code-analyzer config --output-file code-analyzer.yml
ولا تثق بمحدِّد قبل أن تسرد ما ينتج عنه. هذه أسرع طريقة لالتقاط هجرة ضيّقت تغطيتك بصمت:
sf code-analyzer rules --rule-selector Security
راجع تعريفات خط الأنابيب وسكربتاتك المحلية في مرور واحد:
sf scanner run --target force-app يصبح
sf code-analyzer run --workspace force-app.
--engine pmd --category Security يصبح
--rule-selector pmd:Security، أو
--rule-selector Security فقط إذا أردت ذلك الوسم عبر كل المحركات.
sf scanner run dfa يصبح محدِّدًا على الـGraph Engine داخل التشغيل
العادي، بدل أمر فرعي مستقل.
--format مع --outfile يصبحان --output-file،
وامتداد الملف هو ما يحدد الصيغة. استخدم --output-file results.sarif إذا
كنت ترفع النتائج إلى واجهة فحص الكود لدى مزوّدك.
code-analyzer.yml. انقلها بدل
إعادة بنائها كخيارات.
ولا تنقل قائمة الاستثناءات يدويًا باسم القاعدة. معرّفات القواعد انتقلت مع المحركات،
فأعد اشتقاق استثناءاتك من قائمة sf code-analyzer rules جديدة، واحذف ما لم
يعد له مقابل.
عبر --severity-threshold. يخرج الأمر بقيمة غير صفرية حين يجد مخالفة عند
المستوى الذي تمرره أو فوقه، وهذا ما يحوّل الفحص من تقرير إلى بوابة:
sf code-analyzer run --workspace . \ --rule-selector Security \ --severity-threshold 3 \ --output-file results.sarif
اضبط العتبة عند حال قاعدة الكود اليوم، لا عند ما تتمناه، ثم شدّها بعد تصفية المتراكم. البوابة التي تُفشل كل pull request من اليوم الأول تُعطَّل خلال أسبوع، والبوابة المعطّلة لا تلتقط شيئًا.
يغطي Code Analyzer الكود داخل الحزمة. أما بقية أدلة التقديم فلا يمسّها تبديل الإصدار:
تهاجر خط أنابيب لم تبنِه أنت، وتحت ضغط موعد نهائي؟ Tekunda تبني وتحزّم منتجات AppExchange بصفتها Salesforce PDO، بما في ذلك مراجعة الأمان.
هل ما زال sfdx-scanner مدعومًا؟
عامله كجيل سابق. Code Analyzer v5 هو الخلف، وفيه تهبط القواعد الجديدة وتحديثات المحركات، فخط الأنابيب الباقي على الإضافة القديمة يتخلّف في التغطية بصمت.
هل تتغير نتائجي بعد الهجرة؟
توقّع ذلك. المحدِّدات تنتج مجموعة قواعد مختلفة عن تركيبتك القديمة من المحرك والفئة، ودرجات الخطورة موحّدة عبر المحركات. شغّل الإصدارين مرة واحدة جنبًا إلى جنب، وقارن النتائج قبل حذف المهمة القديمة.
أين أضع إعدادات المحركات الآن؟
في code-analyzer.yml المرفوع إلى الريبو. ولّد ملفًا مبدئيًا بـsf code-analyzer config
وعدّل انطلاقًا منه بدل كتابته من الصفر.
هل أستطيع تشغيله دون Salesforce CLI كاملة؟
إنه إضافة لـsf، فالـCLI شرط مسبق. ثبّت الـCLI والإضافة داخل صورة البناء
بدل كل تشغيل، وإلا التهم التثبيت زمن المهمة.