جب آپ npm کمانڈز چلاتے ہیں تو کیا ہوتا ہے؟
آپ ایک npm کمانڈ پر Enter دباتے ہیں اور انتظار کرتے ہیں۔ اچانک، آپ کا پروجیکٹ کام کرنے لگتا ہے۔ یہ کسی جادو جیسا محسوس ہوتا ہے۔
یہ جادو نہیں ہے۔ یہ نیٹ ورک ریکویسٹس (network requests)، کوڈ پارسنگ (code parsing) اور فائل آپٹیمائزیشن (file optimizations) کا ایک سلسلہ ہے۔
اندھا دھند کمانڈز چلانا بند کریں۔ ان 6 بنیادی کمانڈز کے پیچھے کام کرنے والے انجن کو سمجھیں۔
npm install یہ کمانڈ آپ کی
package.jsonفائل کو پڑھتی ہے۔ یہ آپ کی dependencies تلاش کرنے کے لیے کلاؤڈ رجسٹری (cloud registry) سے رابطہ کرتی ہے۔ • یہnode_modulesفولڈر میں پیکجز ڈاؤن لوڈ کرتی ہے۔ • یہ ورژن کے تصادم (version conflicts) کو حل کرتی ہے۔ • یہ درست ورژن ریکارڈ کرنے کے لیے ایکpackage-lock.jsonفائل بناتی ہے۔npm run format:check یہ تصدیق کا ایک مرحلہ ہے۔ یہ آپ کی فائلوں کو اسکین کرنے کے لیے Prettier جیسے ٹولز کا استعمال کرتا ہے۔ • یہ آپ کے کوڈ کا ایک ورچوئل لے آؤٹ (virtual layout) تیار کرتا ہے۔ • یہ آپ کے کوڈ کا آپ کے اسٹائل رولز (style rules) کے ساتھ موازنہ کرتا ہے۔ • یہ آپ کی فائلوں میں تبدیلی کیے بغیر غلطیوں کی نشاندہی کرتا ہے۔
npm run format یہ کمانڈ چیک کے دوران پائے گئے مسائل کو ٹھیک کرتی ہے۔ • یہ آپ کے پروجیکٹ پر Prettier چلاتا ہے۔ • یہ آپ کے اسٹائل رولز کے مطابق آپ کی فائلوں کو دوبارہ لکھتا ہے۔ • یہ خودکار طریقے سے سپیسنگ (spacing) اور فارمیٹنگ کو درست کرتا ہے۔
npm run lint اسے اپنے کوڈ کے لیے ایک اسپیل چیکر (spellchecker) سمجھیں۔ ESLint درج ذیل جیسی غلطیوں کو اسکین کرتا ہے: • سنٹیکس (Syntax) کی غلطیاں۔ • غیر استعمال شدہ ویری ایبلز (Unused variables)۔ • گمشدہ امپورٹس (Missing imports)۔ • React Hook کا غلط استعمال۔
npm run build یہ کمانڈ آپ کی ایپ کو حقیقی دنیا کے لیے تیار کرتی ہے۔ یہ ایک
distفولڈر بناتی ہے۔ • یہ غیر استعمال شدہ کوڈ کو ہٹانے کے لیے tree shaking کرتا ہے۔ • یہ وائٹ سپیس (whitespace) کو ختم کر کے اور ویری ایبل کے ناموں کو مختصر کر کے کوڈ کو minify کرتا ہے۔ • یہ JavaScript، CSS، اور اثاثوں (assets) کو آپٹیمائزڈ فائلوں میں بنڈل کرتا ہے۔ • یہ فائلیں سرور پر ڈیپلائمنٹ (deployment) کے لیے تیار ہوتی ہیں۔npm run dev یہ آپ کے کام کرنے کے لیے ایک لوکل سرور (local server) شروع کرتا ہے۔ • یہ Native ES Modules کا استعمال کرتا ہے تاکہ فائلیں صرف اس وقت کمپائل ہوں جب آپ کا براؤزر انہیں طلب کرے۔ • یہ پیج ریفریش کیے بغیر آپ کی سائٹ کو فوری طور پر اپ ڈیٹ کرنے کے لیے Hot Module Replacement (HMR) کا استعمال کرتا ہے۔
npm run preview یہ آپ کا آخری چیک ہے۔ یہ آپ کے سورس کوڈ کو نظر انداز کرتا ہے اور صرف
distفولڈر کو دیکھتا ہے۔ • یہ اس بات کی نقل کرتا ہے کہ آپ کی ایپ ایک حقیقی سرور پر کیسی کام کرے گی۔ • یہ آپ کو پروڈکشن (production) میں ڈیپلائ کرنے سے پہلے بگ (bugs) پکڑنے میں مدد دیتا ہے۔
ٹرمینل کوئی بلیک باکس (black box) نہیں ہے۔ ان ٹولز کو سمجھنا چیزیں خراب ہونے کی صورت میں آپ کو تیزی سے ڈی بگ (debug) کرنے میں مدد دیتا ہے۔
جب آپ نے سیکھا کہ یہ کیسے کام کرتا ہے، تو کس کمانڈ نے آپ کے کوڈ کرنے کے انداز کو بدل دیا؟ مجھے نیچے بتائیں۔