blog
Wed, February 5, 2025TypeScript

package.json" ফাইলে এই দুইটা চিহ্ন আসলে কি

হ্যালো সবাই! 💛

আপনি যদি জাভাস্ক্রিপ্ট বা নোড.জেএস প্রোজেক্ট নিয়ে কাজ করে থাকেন, তাহলে নিশ্চয়ই package.json ফাইলে ডিপেন্ডেন্সি ভার্সনিং এ ^18.2.0 এবং ~18.2.0 এর মতো সংকেত (symbols) দেখে থাকবেন। কিন্তু এই ^ (ক্যারেট) এবং ~ (টিল্ড) চিহ্নগুলোর অর্থ কী? এগুলো আমাদের কী সুবিধা দেয়? 🤔

আসুন, সহজভাবে বুঝে নেই! 👇

✅ ক্যারেট ( ^ ) → মেজর ভার্সনের মধ্যে আপডেট করার অনুমতি দেয়

📌 উদাহরণ: "react": "^18.2.0"

➡️ এর মানে হলো, npm এই প্যাকেজটিকে 18.x.x ভার্সনের মধ্যে যেকোনো আপডেট নিতে দেবে, তবে 19.0.0 বা তার পরবর্তী সংস্করণে আপডেট করবে না।

👉 ধরুন, বর্তমান ভার্সন 18.2.0, তাহলে ^18.2.0 ব্যবহার করলে 18.2.1, 18.3.0, 18.9.5 পর্যন্ত আপডেট হবে, তবে 19.0.0 এ যাবে না।

🔹 এটি মূলত মেজর ভার্সন (প্রথম সংখ্যা) অপরিবর্তিত রেখে, মাইনর (দ্বিতীয় সংখ্যা) ও প্যাচ (তৃতীয় সংখ্যা) আপডেট গ্রহণের অনুমতি দেয়।

 

✅ টিল্ড ( ~ ) → শুধুমাত্র মাইনর ভার্সনের মধ্যে আপডেট করার অনুমতি দেয়

 

📌 উদাহরণ: "react-dom": "~18.2.0"

➡️ এর মানে হলো, npm শুধুমাত্র 18.2.x ভার্সনের মধ্যে আপডেট করতে পারবে, তবে 18.3.0 বা তার পরবর্তী ভার্সনে যাবে না।

👉 ধরুন, বর্তমান ভার্সন 18.2.0, তাহলে ~18.2.0 ব্যবহার করলে 18.2.1, 18.2.5, 18.2.9 পর্যন্ত আপডেট হতে পারবে, কিন্তু 18.3.0 বা 19.0.0 তে আপডেট হবে না।

🔹 এটি মূলত মাইনর ভার্সন অপরিবর্তিত রেখে, শুধুমাত্র প্যাচ আপডেট গ্রহণের অনুমতি দেয়।