ما الذي تفحصه هذه الأداة فعليًا
تحلل هذه الأداة كود الجافاسكريبت الخاص بك باستخدام 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، أو إشارة عُثر عليها داخل دالة أخرى قابلة للوصول.
لا شيء مما تلصقه يغادر متصفحك.
Tiny Online Tools







