প্রকল্প সম্পর্কে
react-app-rewired একটি ডেভেলপার টুল যা Create React App (CRA) প্রজেক্টগুলোর জন্য 'eject' কমান্ড ব্যবহার না করেই webpack কনফিগারেশন ওভাররাইড এবং কাস্টমাইজ করার সুযোগ দেয়। এটি CRA-এর জিরো-কনফিগ সেটআপের সুবিধা বজায় রাখতে থাকে, একই সাথে ডেভেলপারদের প্রয়োজনীয় প্লাগইন, লোডার এবং অন্যান্য কাস্টমাইজেশন যোগ করার নমনীয়তা প্রদান করে।
টুলটি সাধারণ react-scripts কমান্ড (start, build, test) ইন্টারসেপ্ট করে এবং config-overrides.js ফাইল থেকে ব্যবহারকারী সংজ্ঞায়িত ওভাররাইড প্রয়োগ করে। এই ফাইলটি webpack কাস্টমাইজেশনের জন্য একটি একক ফাংশন বা webpack, Jest, devServer এবং paths কনফিগারেশনের জন্য আলাদা ফাংশন সহ একটি অবজেক্ট এক্সপোর্ট করতে পারে।
প্রধান ক্ষমতাগুলোর মধ্যে রয়েছে: ডেভেলপমেন্ট এবং প্রোডাকশন বিল্ডের জন্য webpack রুল এবং প্লাগইন কাস্টমাইজ করা; টেস্ট প্যাটার্ন এবং Babel প্রিসেট সহ Jest টেস্ট কনফিগারেশন পরিবর্তন করা; HTTPS সার্টিফিকেট এবং প্রক্সি সেটিংসের জন্য Webpack Dev Server কনফিগারেশন ওভাররাইড করা; এবং webpack ও Jest-এ পাঠানো প্রজেক্ট পথগুলো সামঞ্জস্য করা।
প্রজেক্টটি CRA 1.x (Webpack 3) এবং CRA 2.x (Webpack 4) উভয় ভার্সনকে সমর্থন করে, যেখানে ভার্সন 2.0 সরাসরি কনফিগারেশনের জন্য rewire হেল্পার ফাংশনগুলোর পরিবর্তে তাদের অপসারণ করেছে। এটি --scripts-version ফ্ল্যাগের মাধ্যমে কাস্টম react-scripts প্যাকেজগুলোরও সমর্থন করে, যা react-scripts-ts এর মতো TypeScript ভেরিয়েন্টগুলোর ব্যবহার সক্ষম করে।
সাধারণ ব্যবহারের ক্ষেত্রে Babel প্লাগইন (emotion, lodash, styled-components), webpack প্লাগইন (favicons, imagemin, bundle analyzer), এবং লোডার (TypeScript, SCSS, SVG, YAML)-এর জন্য একটি বড় কমিউনিটি ইকোসিস্টেমের rewiring প্লাগইন বিদ্যমান। config-overrides ফাইলটি মডিউলার অর্গানাইজেশনের জন্য একটি ডিরেক্টরি হিসেবে নির্দিষ্ট করা যেতে পারে বা নমনীয়তার জন্য কমান্ড লাইন থেকেও পাঠানো যেতে পারে।
গুরুত্বপূর্ণ সতর্কতা: react-app-rewired ব্যবহার করলে CRA-এর অফিশিয়াল গ্যারান্টি ভঙ্গ হয়, অর্থাৎ আপনি কনফিগারেশনের দায়িত্ব নেন এবং কোনো অফিশিয়াল সাপোর্ট পান না। অথর এমন প্রজেক্টগুলোর জন্য যেখানে শুরু থেকেই ব্যাপক কাস্টম webpack কনফিগারেশনের প্রয়োজন, Next.js বা Razzle সুপারিশ করেন। CRA 2.0+ কম্প্যাটিবিলিটির জন্য customize-cra, Rescripts এবং craco এর মতো বিকল্পগুলিও উপলব্ধ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.