Tiny Online Tools logoTiny Online Toolssearchابحث في الادوات…grid_viewكل الادوات
الرئيسيةchevron_rightأدوات الهندسة العكسيةchevron_rightمحلل الكود الميت في جافاسكريبتمحلل الكود الميت في جافاسكريبت

محلل الكود الميت في جافاسكريبت

الصق حزمة JS واعثر على الدوال في المستوى الأعلى التي لا توجد لها أي إشارة ثابتة في الملف — تحليل تخميني لإمكانية الوصول، وليس يقينًا.

scienceتخمين فقط. الدالة الموسومة بأنها "يُرجَّح أنها غير مستخدمة" قد تُستدعى ديناميكيًا — عبر obj[اسممحسوب]()، أو eval، أو new Function(...)، أو Function.prototype.call/apply على مرجع يُختار وقت التشغيل — بطرق لا يستطيع هذا الفحص الثابت رؤيتها. تحقق يدويًا قبل حذف أي شيء.كود جافاسكريبت المصدري
أسماء دوال مفصولة بفواصل تُعامَل كجذور قابلة للوصول حتى لو لم توجد أي إشارة إليها في بقية الملف.

ادوات مشابهة

محلل الحجم بخريطة المصدر

محلل الحجم بخريطة المصدر

وزّع بايتات الحزمة على ملفات ومجلدات المصدر الأصلية التي أنتجتها، باستخدام ملف .map — واكتشف ما الذي يشغل المساحة فعليًا.

مساعد فك تشويش جافاسكريبت

مساعد فك تشويش جافاسكريبت

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

مُشوِّش JavaScript

مُشوِّش JavaScript

يعيد تسمية المتغيرات المحلية، ويخفي السلاسل النصية، ويسطّح تدفق التحكم في JavaScript، كل ذلك داخل متصفحك دون رفع أي شيء.

أداة تصور تبعيات حزمة JS

أداة تصور تبعيات حزمة JS

اكتشف حدود الوحدات داخل حزمة webpack أو Rollup أو esbuild أو Vite وشاهد أي وحدة تعتمد على أي وحدة، عبر مطابقة حقيقية لشكل شجرة AST، لا تخمين نصي.

مولد UUID بالجملة

مولد UUID بالجملة

أنشئ ما يصل إلى 1000 معرّف UUID v4 دفعة واحدة مع خيارات التنسيق.

تقسيم CSV

تقسيم CSV

قسّم ملف CSV الى اجزاء متعددة حسب عدد الصفوف او الاجزاء المتساوية او قيمة العمود.

Audio Silence Remover

Audio Silence Remover

Automatically remove silent sections from audio files. Adjustable threshold and window size. Outputs WAV. Fully private.

apps

المزيد من الادوات

تصفح مجموعتنا الكاملة من الادوات المجانية عبر الانترنت.

ما الذي تفحصه هذه الأداة فعليًا

تحلل هذه الأداة كود الجافاسكريبت الخاص بك باستخدام acorn وتبني رسمًا بيانيًا للإشارات: كل دالة معلنة في المستوى الأعلى (أو const x = function(){} / const x = () => {} في المستوى الأعلى) تصبح عقدة، وكل مكان يظهر فيه اسمها كمعرِّف يصبح حافة. ثم تحسب أي هذه الدوال يمكن الوصول إليها انطلاقًا من مجموعة من الجذور: كود يعمل بلا شرط عند تحميل الملف — عبارات مباشرة في المستوى الأعلى، جسم دالة مُستدعاة فورًا (IIFE)، أي شيء مسند إلى module.exports / exports.x / window.x / globalThis.x، وأي أسماء نقاط دخول تكتبها أنت بنفسك. كل ما يمكن الوصول إليه من جذر، بشكل متعدٍّ، يُحتفظ به؛ وما يتبقى يُبلَّغ عنه.

اقرأ هذا قبل أن تثق بأي نتيجة

الدالة التي تصفها هذه الأداة بأنها "يُرجَّح أنها غير مستخدمة" قد تكون مستخدمة فعلًا. لا يستطيع التحليل الثابت أن يرى عبر:

  • الاستدعاء الديناميكيobj[اسممحسوب]()، جدول[مفتاح]() — اسم الخاصية معروف فقط وقت التشغيل.
  • eval وnew Function(...) — الكود المبني من نص لا يظهر لفحص شجرة AST.
  • الانعكاس (Reflection)fn.call(...)، fn.apply(...) على مرجع مُختار ديناميكيًا، أو Object.keys(obj).forEach(k => obj[k]()).

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

كيفية الاستخدام

الصق أو حمّل محتوى ملف .js في المحرر. إذا كنت تعرف بالفعل اسم دالة الدخول الحقيقية لحزمتك (تلك التي يستدعيها HTML الخاص بك، أو يستدعيها إطار عمل نيابة عنك)، فاكتبها في حقل نقاط الدخول ليتم تثبيتها كقابلة للوصول حتى لو لم يشر إليها أي شيء في الملف بالاسم.

يعرض الملخص إجمالي دوال المستوى الأعلى، وعدد القابل للوصول منها، وعدد ما لا يملك إشارة ثابتة. كل نتيجة تذكر اسم الدالة ورقم سطرها. قائمة منفصلة قابلة للطي تعرض كامل المجموعة القابلة للوصول مع سبب موجز لكل واحدة — نقطة دخول، تصدير، استدعاء داخل IIFE، أو إشارة عُثر عليها داخل دالة أخرى قابلة للوصول.

لا شيء مما تلصقه يغادر متصفحك.