ব্রাউজারলিস্টের সাথে বেসলাইন ব্যবহার করুন

প্রকাশিত: 7 মে, 2025

ফ্রন্টএন্ড কোড বেসগুলিতে ন্যূনতম সমর্থিত ব্রাউজার সংস্করণগুলি কনফিগার করার জন্য ব্রাউজারলিস্ট অন্যতম জনপ্রিয় সরঞ্জাম। বিকাশকারীরা তাদের package.json ফাইলে একটি browserslist কোয়েরি যোগ করে এবং ব্রাউজারলিস্ট ন্যূনতম সমর্থিত ব্রাউজারগুলির একটি তালিকা প্রকাশ করে। ব্রাউজারলিস্টটি জনপ্রিয় লিন্টিং, পলিফিলিং এবং প্যাকেজিং সরঞ্জামগুলির বিস্তৃত পরিসরের সাথে ব্যবহার করা যেতে পারে, যার মধ্যে রয়েছে:

বেসলাইন টার্গেট

আপনি যখন বেসলাইন ব্যবহার করার সিদ্ধান্ত নেন, তখন আপনার ব্যবহারকারীর ভিত্তি বিবেচনা করা উচিত এবং আপনি কোন বেসলাইন বৈশিষ্ট্য সেটকে লক্ষ্য করতে চান তা নির্ধারণ করা উচিত:

  • বেসলাইন ব্যাপকভাবে উপলব্ধ সমস্ত ওয়েব বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করে যা অতীতে 30 বা তার বেশি মাস বেসলাইন কোর ব্রাউজার দ্বারা সম্পূর্ণরূপে সমর্থিত ছিল৷
  • বেসলাইন বছরের বৈশিষ্ট্য সেট, উদাহরণস্বরূপ বেসলাইন 2020 , নির্দিষ্ট বছরের শেষে নতুনভাবে উপলব্ধ সমস্ত বৈশিষ্ট্য অন্তর্ভুক্ত করে।

আপনার ব্যবহারকারীর ভিত্তির উপর নির্ভর করে, আপনি ব্যাপকভাবে উপলব্ধ বেসলাইন টার্গেট করতে সক্ষম হতে পারেন, অথবা আপনাকে একটি পুরানো বেসলাইন বছর লক্ষ্য করতে হতে পারে। আপনার ব্যবহারকারীদের কোন ব্রাউজার সংস্করণ রয়েছে তা বোঝার জন্য আপনার বিশ্লেষণ বা RUM সরঞ্জামগুলির সাথে পরামর্শ করুন৷

browserslist-config-baseline ইনস্টল করুন

আপনি কোন বেসলাইন বৈশিষ্ট্য সেট টার্গেট করতে চান তা নির্ধারণ করার পরে, আপনি আপনার বিকাশকারী সরঞ্জামগুলিতে সেই লক্ষ্যটি প্রয়োগ করতে পারেন। ব্রাউজারলিস্ট ব্যবহার করে এমন যেকোনো সরঞ্জামের জন্য এটি করার সবচেয়ে সহজ উপায় হল browserslist-config-baseline ইনস্টল করা:

# npm
npm i browserslist-config-baseline@latest -D

# yarn
yarn add --latest browserslist-config-baseline -D

# bun
bun add browserslist-config-baseline@latest -d

বেসলাইন টার্গেট কিভাবে ব্যাপকভাবে উপলব্ধ

ব্যাপকভাবে উপলব্ধ বেসলাইন টার্গেট করতে, extends কীওয়ার্ড ব্যবহার করে package.jsonbrowserlist কনফিগারেশন আপডেট বা যোগ করুন:

{
  ...
  "browserslist": [
    "extends browserslist-config-baseline"
   ]
  ...
}

যখন browserslist তার সমর্থিত ব্রাউজারগুলির তালিকা লোড করে, browserslist-config-baseline গতিশীলভাবে বর্তমান ন্যূনতম ব্রাউজার সংস্করণগুলি তৈরি করবে যা এখন ব্যাপকভাবে উপলব্ধ সমস্ত বৈশিষ্ট্যগুলিকে সমর্থন করে। আপনি একটি .browserslistrc ফাইলে extends browserslist-config-baseline যোগ করতে পারেন এবং এটি একইভাবে পরিচালনা করা হবে।

কিভাবে বেসলাইন বছর টার্গেট

আপনি যদি একটি বেসলাইন বছরের বৈশিষ্ট্য সেট টার্গেট করতে চান, তাহলে আপনার browserslist কোয়েরির শেষে YYYY ফর্ম্যাটে একটি / এবং বছর যোগ করুন:

"browserslist": "extends browserslist-config-baseline/2020"

ডাউনস্ট্রিম ব্রাউজারগুলি কীভাবে নির্দিষ্ট করবেন

বেসলাইন কোর ব্রাউজার সেটে রয়েছে ক্রোম, এজ, ফায়ারফক্স এবং সাফারি। অন্যান্য ব্রাউজারগুলি ক্রোম এবং এজ-ক্রোমিয়াম-এর মতো একই ওপেন সোর্স কোডের উপর ভিত্তি করে তৈরি করা হয় এবং ক্রোমিয়ামের যে কোনও সংস্করণ প্রয়োগ করে সেই একই বৈশিষ্ট্য সেট সমর্থন করা উচিত।

browserslist-config-baseline baseline-browser-mapping ব্যবহার করে ব্রাউজার সংস্করণগুলিকে তারা সমর্থন করে এমন বৈশিষ্ট্যগুলির সাথে সম্পর্কযুক্ত করতে। UC ব্রাউজার মোবাইল এবং QQ ব্রাউজার মোবাইলের জন্য ম্যাপিংগুলি baseline-browser-mapping এ উপলব্ধ এবং ভবিষ্যতে অন্যান্য ব্রাউজারগুলি অন্তর্ভুক্ত হতে পারে৷

আপনার বেসলাইন কনফিগারেশনে এই ব্রাউজারগুলিকে অন্তর্ভুক্ত করতে, আপনার browserslist কনফিগারেশনে মডিউল নামের সাথে সাথেই /with-downstream যোগ করুন:

"browserslist": "extends browserslist-config-baseline/with-downstream"

বা:

"browserslist": "extends browserslist-config-baseline/with-downstream/2020"

browserslist-config-baseline উদাহরণ

প্যাকেজিং সরঞ্জামগুলিতে

আপনার সংগ্রহস্থলে browserslist-config-baseline যোগ করা তাৎক্ষণিক প্রভাব ফেলতে পারে। ব্যাবেল জাভাস্ক্রিপ্ট প্যাকেজ করার জন্য একটি জনপ্রিয় বিল্ড টুল। আপনি যদি @babel/preset-env প্যাকেজ ডিফল্ট ব্যবহার করেন, অনেক আধুনিক জাভাস্ক্রিপ্ট API এবং পদ্ধতিগুলি পুরানো ব্রাউজারগুলির জন্য প্রয়োজনীয় আরও ভার্বোস সিনট্যাক্স দিয়ে প্রতিস্থাপিত হবে:

একটি টার্মিনাল সেশন যা দেখায় যে npm রান বিল্ড কমান্ডটি test.js নামে একটি জাভাস্ক্রিপ্ট ফাইলে কার্যকর করা হয়েছে।  আউটপুট ফাইলের আকার 12 কিলোবাইট।

যাইহোক, একই উদাহরণ প্রকল্পে বেসলাইন 2020 লক্ষ্য করার জন্য browserslist-config-baseline সেট করা এই জাভাস্ক্রিপ্টের আউটপুট আকারকে নাটকীয়ভাবে হ্রাস করে, কারণ কম সিনট্যাক্স রূপান্তর প্রয়োজন:

একটি দ্বিতীয় টার্মিনাল সেশন যা দেখায় যে npm রান বিল্ড কমান্ডটি এখন একটি 1.5 কিলোবাইট ফাইল তৈরি করেছে যখন বেবেল বেসলাইন 2020 টার্গেট করার জন্য সেট করা হয়েছে।

Google Chrome Labs বেসলাইন-ডেমো রিপোজিটরিতে উদাহরণ কোড ব্যবহার করে নিজের জন্য এটি চেষ্টা করুন।

লিন্টারে

কিছু লিন্টার ইতিমধ্যেই ব্রাউজারলিস্টের সাথে কাজ করে, বা একটি সামঞ্জস্য মডিউল ব্যবহার করে ব্রাউজারলিস্টের সাথে কাজ করা যেতে পারে। উদাহরণস্বরূপ, স্টাইললিন্ট স্টাইলিন্ট-ব্রাউজার-কম্প্যাট মডিউল ব্যবহার করে একটি browserslist কনফিগারেশন গ্রহণ করতে পারে। browserslist-config-baseline ব্যবহার করতে আপনার stylelint.config.js ফাইল সেট করুন:

module.exports = {
  plugins: ['stylelint-browser-compat'],
  rules: {
    'plugin/browser-compat': [
      true,
      {
        browserslist: ['extends browserslist-config-baseline'],
      },
    ],
  },
};

Stylelint এখন CSS ফ্ল্যাগ করবে যা বর্তমানে বেসলাইনের অংশ নয় ব্যাপকভাবে উপলব্ধ:

স্টাইলিন্ট থেকে সতর্কতার একটি তালিকা হাইলাইট করা CSS কোড যা পুরানো ব্রাউজারে কাজ করে না।

Stylelint একটি প্লাগইনও প্রদান করে যা আপনাকে বেসলাইন নিয়মগুলি সরাসরি সেট করতে দেয়, কিন্তু আপনি যদি ইতিমধ্যে আপনার কনফিগারেশন পরিচালনা করার জন্য ব্রাউজারলিস্ট ব্যবহার করেন, browserslist-config-baseline হল একটি ড্রপ-ইন সমাধান।

browserslist-config-baseline কীভাবে অবদান রাখবেন

আপনি যদি browserslist-config-baseline জন্য একটি বৈশিষ্ট্য অনুরোধ করতে চান, একটি সমস্যা তৈরি করুন বা GitHub সংগ্রহস্থলে অনুরোধ করুন।

আপনি যদি আরও ডাউনস্ট্রিম ব্রাউজার ডেটাতে অবদান রাখতে চান বা কোনও ডেটা সমস্যা রিপোর্ট করতে চান, baseline-browser-mapping রিপোজিটরিতে একটি সমস্যা বা একটি টান অনুরোধ তৈরি করুন