إلى أين ذهبت كل هذه البايتات؟
حزمة الإنتاج عبارة عن ملف واحد ضخم مُصغَّر. معرفة أن حجمها 340 كيلوبايت لا تخبرك شيئًا عن السبب — وهذا هو السؤال الذي يهم فعلًا عندما تحاول تقليصها. تجيب هذه الأداة عن ذلك مباشرة: حمّل الحزمة وملف .map الخاص بها، وسيُوزَّع كل بايت على وحدة المصدر التي أنتجته.
كيف يعمل التوزيع
تخطيطات source map تقول "العمود المُولَّد 4110 جاء من src/utils/format.js". تمر هذه الأداة على كل تخطيط في الملف، بالترتيب، وتقيس الفجوة حتى التخطيط التالي في نفس السطر المُولَّد — تلك الفجوة هي جزء الكود المُولَّد المنسوب إلى مصدر ذلك التخطيط. هذا هو نفس التقريب على مستوى السطر الذي تستخدمه أداة سطر الأوامر المعروفة source-map-explorer، وهي صريحة في كونها تقريبًا: رمزان متجاوران في نفس السطر المُولَّد بلا أي تخطيط بينهما (مسافة زائدة، حرف أدرجه المُصغِّر) يقعان في فئة غير مُخطَّط الخاصة بهما، بدلًا من نسبهما بصمت إلى مصدر مجاور.
البايتات البنيوية — فواصل الأسطر بين الأسطر المُولَّدة — لها أيضًا فئتها الخاصة، للسبب نفسه: فهي تنتمي إلى بنية الملف، لا إلى أي وحدة بعينها.
فحص التوفيق
كل تشغيل يعرض نتيجة صريحة: تم توزيع X بايت من أصل Y بايت إجمالًا، إلى جانب عدد البايتات غير المُخطَّطة والبنيوية، وما إذا كان الموزَّع + غير المُخطَّط + البنيوي يساوي تمامًا الطول الإجمالي للملف. هذا ليس تفصيلًا تجميليًا — إنه ضمان أن لا بايت ضاع بصمت أو حُسب مرتين، ويمكنك التحقق من ذلك بنفسك بدلًا من الوثوق بكلام الأداة.
حسب الملف أو حسب المجلد
بدِّل بين صف لكل ملف مصدر، أو تجميع حسب المجلد من المستوى الأعلى — يجمع node_modules/lodash كل الملفات التي ساهمت بها مكتبة lodash، فترى "كم تكلّف هذه التبعية فعليًا" دون التمرير أولًا عبر أربعين ملفًا منفردًا. كل شيء مُرتَّب حسب الحجم، من الأكبر إلى الأصغر، ويحافظ تصدير CSV على الأرقام نفسها لمزيد من التحليل.
الخصوصية
يُقرأ الملفان ويُعالجان بالكامل داخل متصفحك. لا يُرفَع شيء.
Tiny Online Tools







