کوڈ ٹولز
یہ تینوں ٹولز آپ کا سورس پڑھتے ہیں، اسے دوبارہ لکھتے ہیں اور واپس چھاپ دیتے ہیں۔ جو یہ کبھی نہیں کرتے، وہ اسے چلانا ہے۔ یہی فرق یہاں کا پورا حفاظتی اصول ہے، اور یہ کسی جملے کے وعدے کے بجائے کوڈ میں نافذ کیا گیا ہے۔
مقبول ٹولز
آپ کا کوڈ پڑھا جاتا ہے، چلایا کبھی نہیں
چھوٹا کرنے والے کو آپ کا سورس سمجھنا پڑتا ہے، یعنی اسے پڑھ کر نحوی درخت میں ڈھالنا اور پھر وہی درخت واپس چھاپنا۔ اسے کچھ بھی چلا کر دیکھنے کی ضرورت نہیں، اور یہ ٹول ایسا کرتا بھی نہیں: نہ eval ہے، نہ متحرک Function، اور نہ ایسی جھلک جو آپ کا اسکرپٹ چلائے۔
یہ بات SVG کے لیے سب سے اہم ہے۔ SVG ایک قابلِ عمل دستاویز ہے — اس میں اسکرپٹ، ایونٹ ہینڈلر اور javascript: قسم کے روابط ہو سکتے ہیں۔ ان میں سے ہر ایک دو بار ہٹایا جاتا ہے: ایک بار بہتر بنانے والے کے اپنے اصول سے اور ایک بار اُس الگ مرحلے سے جو بعد میں چلتا ہے، کیونکہ ایک ہی فلٹر جس میں ایک ہی خامی ہو، کوئی حفاظتی اصول نہیں۔
چھوٹا کرنے سے دراصل کتنی بچت ہوتی ہے
خالی جگہ ہٹانے اور مقامی ناموں کو مختصر کرنے سے خام سورس عموماً ایک تہائی کم ہو جاتا ہے۔ اس کے بعد کا زیادہ تر فائدہ آپ کے سرور کی کمپریشن سے آتا ہے، چھوٹا کرنے والے سے نہیں، اس لیے حقیقی موازنہ وہ فائل ہے جو چھوٹا کرنے کے بعد gzip بھی ہو چکی ہو — خام بائٹس کی گنتی نہیں۔
امپورٹ کو چھیڑا نہیں جاتا
CSS میں موجود @import یا تو متن کے طور پر برقرار رکھا جاتا ہے یا کہنے پر ہٹا دیا جاتا ہے۔ اس پر عمل کبھی نہیں کیا جاتا: جس چیز کی طرف وہ اشارہ کرتا ہے اسے لانے کا مطلب یہ ہوتا کہ یہ صفحہ آپ کی چسپاں کی ہوئی فائل کے بارے میں آپ کی جانب سے کوئی درخواست بھیجے، اور باقی پوری سائٹ اسی لیے بنائی گئی ہے کہ ایسا نہ ہو۔