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

فاحص حزمة Webpack

يكتشف بيئة تشغيل webpack وخريطة الوحدات وبيانات chunk-push عبر شكل شجرة AST، ويعرض الشيفرة الحقيقية لكل وحدة، ويوضّح بصراحة عندما لا يكون الملف ناتج webpack.

مصدر الحزمةلصق الشيفرةرفع ملف

ادوات مشابهة

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

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

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

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

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

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

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

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

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

فاحص Mach-O

فاحص Mach-O

افحص الملفات الثنائية Mach-O الخاصة بـ macOS وiOS: المعمارية، أوامر التحميل، المقاطع، الأقسام، والمكتبات المرتبطة، مباشرة في متصفحك.

تحويل النص إلى PDF

تحويل النص إلى PDF

حوّل النص العادي إلى مستند PDF مع إمكانية تخصيص الخط والحجم وتخطيط الصفحة.

موسّع حجم اللوحة

موسّع حجم اللوحة

وسّع حجم لوحة الصورة بإضافة حشوة على كل جانب. تعبئة بلون صلب أو شفافة. خاص تماماً.

JSON تتسطح

JSON تتسطح

قم بتسوية كائنات JSON المتداخلة إلى أزواج ذات قيمة أساسية مسطحة باستخدام التدوين النقطي.

apps

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

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

ما الذي تتحقق منه هذه الأداة

لا يزال جزء كبير من الويب يُرسل ناتج webpack، وبنيته تستحق أن تُفهم بحد ذاتها — بمعزل عن الرسم البياني العام للتبعيات المستقل عن أداة التجميع الذي ترسمه أداة تصور تبعيات حزمة JS. تبحث هذه الأداة تحديدًا عن مكونات حزمة webpack:

  • بيئة التشغيل — الدالة بشكل __webpack_require__ التي يحملها كل بناء webpack، تُكتشف عبر الآلية الدقيقة التي تستخدمها لاستدعاء وحدة (modules[moduleId].call(module.exports, module, module.exports, require))، لا بالبحث عن الاسم الحرفي. تنجو هذه الآلية من إعادة تسمية كاملة للمعرّفات، فتظل تطابق بناءً صُغِّرت فيه كل الأسماء.
  • خريطة الوحدات — سواء بالشكل الكلاسيكي ككائن ({0: fn, 1: fn, ...}) أو بشكل مصفوفة ([fn, fn, ...]) الذي تستخدمه إصدارات webpack الأحدث افتراضيًا.
  • بيانات chunk-push — في البناءات المقسّمة، الاستدعاء (self.webpackChunkXxx = self.webpackChunkXxx || []).push([[chunkIds], {modules}, runtime])، مع استخراج اسم الجزء ومعرّفاته.
  • مساعدات بيئة التشغيل — أيٌّ من .m (خريطة الوحدات) و.c (ذاكرة تخزين الوحدات) و.d (تعريف getter) و.o (hasOwnProperty) و.n (getter للتصدير الافتراضي) و.s (معرّف وحدة الدخول) و.p (المسار العام) موجود.

اختر أي وحدة من القائمة لرؤية شيفرتها الحقيقية في لوحة بتمييز صياغي — دون أي تنفيذ، فقط النص الذي لفّه webpack نفسه حول تلك الوحدة.

عندما لا يكون webpack

إن لم يُعثر لا على بيئة التشغيل ولا على خريطة وحدات، تقول الأداة "هذا لا يبدو ناتج webpack" بدل فرض تخمين، وتضيف تلميحًا رخيصًا وصادقًا إن وُجد — تعليق //# sourceMappingURL=، أو كون الملف يُحلَّل كوحدة ES (شائع في نواتج Rollup وesbuild وVite).

قيد معروف

حزمة مرّت عبر webpack ثم عبر تصغير ثانٍ أكثر عدوانية يعيد أيضًا تسمية أسماء خصائص بيئة التشغيل نفسها قد تفلت من فحص شكل .call() وتُبلَّغ كأنها ليست webpack. هذا اختيار متعمّد: سلبية كاذبة نادرة أفضل من اختلاق خريطة وحدات غير موجودة فعليًا.

الخصوصية

كل شيء يعمل في متصفحك عبر محلّل JavaScript حقيقي (acorn). الملف الذي تلصقه أو ترفعه لا يُرسل إلى أي مكان أبدًا.