টাইপস্ক্রিপ্টে আমদানি বিবৃতি স্ট্রীমলাইন করা
বৃহৎ টাইপস্ক্রিপ্ট বা জাভাস্ক্রিপ্ট প্রকল্পে কাজ করার সময়, দীর্ঘ আমদানি বিবৃতির সম্মুখীন হওয়া সাধারণ ব্যাপার, বিশেষ করে যখন একটি মডিউল থেকে একাধিক সদস্য আমদানি করা হয়। যদিও এই লাইনগুলি প্রাথমিকভাবে নিরীহ মনে হতে পারে, তারা সহজেই আপনার অতিক্রম করতে পারে সুন্দর কনফিগারেশন প্রিন্ট প্রস্থ সেটিং, কোড পড়া এবং বজায় রাখা কঠিন করে তোলে।
আপনার কোড পরিষ্কার এবং পঠনযোগ্য রাখতে, এই আমদানিগুলির বিন্যাস স্বয়ংক্রিয় করা গুরুত্বপূর্ণ৷ টুলের মত সুন্দর এবং ইএসলিন্ট দীর্ঘ আমদানি বিবৃতিকে স্বয়ংক্রিয়ভাবে একাধিক লাইনে বিভক্ত করতে কাস্টমাইজ করা যেতে পারে। এটি নিশ্চিত করে যে আপনার কোডটি আপনার সেট আপ করা ফর্ম্যাটিং নিয়মগুলি মেনে পরিষ্কার এবং সামঞ্জস্যপূর্ণ থাকে।
যাইহোক, কাঙ্খিত হিসাবে স্বয়ংক্রিয়ভাবে আমদানি বিবৃতি ফর্ম্যাট করতে এই সরঞ্জামগুলি কনফিগার করা কঠিন হতে পারে। যদিও Prettier এবং ESLint উভয়ের ডিফল্ট সেটিংস অনেকগুলি বিন্যাস সংক্রান্ত সমস্যাগুলি পরিচালনা করে, বহু লাইন জুড়ে দীর্ঘ আমদানি বিবৃতি ভাঙ্গার ক্ষেত্রে সেগুলি প্রায়শই কম পড়ে।
এই নির্দেশিকায়, আমরা আপনার TypeScript প্রকল্পে সঠিকভাবে আমদানি বিবৃতি বিন্যাস করতে Prettier এবং ESLint কনফিগার করার উপায় অনুসন্ধান করব। আমরা আপনার কোডবেস জুড়ে ধারাবাহিকতা বজায় রেখে বহু-লাইন আমদানি অর্জনের জন্য প্রয়োজনীয় সেটিংসের মধ্য দিয়ে চলে যাব।
আদেশ | ব্যবহারের উদাহরণ |
---|---|
prettier.format | এই সুন্দর ফাংশনটি কনফিগার করা নিয়ম অনুসারে কোডের একটি ব্লক ফর্ম্যাট করতে ব্যবহার করা হয় (যেমন, প্রিন্টউইথ, একক উদ্ধৃতি)। এটি কোডের একটি স্ট্রিং প্রক্রিয়া করে এবং ফর্ম্যাট করা আউটপুট প্রদান করে, এটি কোড শৈলীর সামঞ্জস্য নিশ্চিত করার জন্য আদর্শ করে তোলে। |
eslint.RuleTester | ESLint-এর জন্য নির্দিষ্ট, এই কমান্ড ডেভেলপারদের কাস্টম ESLint নিয়ম পরীক্ষা করার অনুমতি দেয়। নিয়ম পরীক্ষককে নমুনা কোড খাওয়ানোর মাধ্যমে, এটি নিয়মগুলি সঠিকভাবে প্রয়োগ করা হয়েছে কিনা তা যাচাই করে, যেমন আমদানিগুলিকে একাধিক লাইনে বিভক্ত করা হয়েছে তা নিশ্চিত করা৷ |
prettier-plugin-organize-imports | এটি স্বয়ংক্রিয়ভাবে আমদানি সংগঠিত করার জন্য ডিজাইন করা একটি সুন্দর প্লাগইন। এটি নিশ্চিত করে যে আমদানি বিবৃতিগুলি সাজানো হয়েছে এবং, প্রিন্টউইথের মতো সুন্দর নিয়মগুলির সাথে মিলিত হলে, এটি একাধিক লাইন জুড়ে দীর্ঘ আমদানি বিভক্ত করতে পারে। |
jest.describe | একটি জেস্ট ফাংশন যা একসাথে সম্পর্কিত পরীক্ষাগুলিকে গোষ্ঠীভুক্ত করে। এই প্রেক্ষাপটে, এটি ESLint এবং Prettier কনফিগারেশন সঠিকভাবে দীর্ঘ আমদানি বিবৃতিগুলিকে একাধিক লাইনে বিভক্ত করে হ্যান্ডেল করে কিনা তা যাচাই করে পরীক্ষা করে। |
import/order | এটি eslint-plugin-import থেকে একটি সুনির্দিষ্ট ESLint নিয়ম যা আমদানি বিবৃতিগুলির ক্রম সম্পর্কিত একটি কনভেনশন প্রয়োগ করে৷ এটি প্রয়োগ করতে পারে যে বিভিন্ন আমদানি গোষ্ঠীর মধ্যে নতুন লাইন যোগ করা হয়েছে (যেমন, বিল্ট-ইন, বাহ্যিক প্যাকেজ)। |
alphabetize | আমদানি/অর্ডার ESLint নিয়মের মধ্যে, এই বিকল্পটি নিশ্চিত করে যে আমদানি করা সদস্যদের বর্ণানুক্রমিকভাবে সাজানো হয়েছে। এটি কোড পঠনযোগ্যতা বাড়ায়, বিশেষ করে একাধিক আমদানি সহ বড় প্রকল্পগুলিতে। |
jest.it | এই Jest ফাংশন একটি একক ইউনিট পরীক্ষা সংজ্ঞায়িত করতে ব্যবহৃত হয়। এই উদাহরণে, এটি কনফিগার করা Prettier এবং ESLint নিয়ম দ্বারা দীর্ঘ আমদানি সঠিকভাবে একাধিক লাইনে বিভক্ত হয়েছে কিনা তা পরীক্ষা করে। |
newlines-between | ইমপোর্ট/অর্ডার ESLint নিয়মের জন্য একটি কনফিগারেশন বিকল্প। এটি আমদানি গোষ্ঠীর মধ্যে নতুন লাইন জোর করে (যেমন, বাহ্যিক এবং অভ্যন্তরীণ আমদানি), কোডটিকে আরও কাঠামোগত এবং নেভিগেট করা সহজ করে তোলে। |
TypeScript এ মাল্টি-লাইন আমদানির জন্য Prettier এবং ESLint কনফিগার করা হচ্ছে
উপরের স্ক্রিপ্টগুলির মূল লক্ষ্য হল কনফিগার করা সুন্দর এবং ইএসলিন্ট একটি TypeScript প্রকল্পে একাধিক লাইন জুড়ে স্বয়ংক্রিয়ভাবে দীর্ঘ আমদানি বিবৃতি ফর্ম্যাট করতে। প্রেটিয়ার কনফিগারেশনটি কোডিং শৈলী সংজ্ঞায়িত করার জন্য সেট আপ করা হয়েছে, যেমন একক উদ্ধৃতি এবং ট্রেলিং কমা, এবং কীভাবে কোডটি ব্যবহার করে মোড়ানো উচিত তা পরিচালনা করার জন্য প্রিন্ট প্রস্থ নিয়ম যখন লাইনটি সেট প্রস্থকে অতিক্রম করে (এই ক্ষেত্রে, 80 বা 120 অক্ষর), প্রেটিয়ার স্বয়ংক্রিয়ভাবে কোডটিকে আরও পাঠযোগ্য করে তুলতে ফর্ম্যাট করবে। ব্যবহার করে সুন্দর-প্লাগইন-সংগঠিত-আমদানি প্লাগইন, আমরা নিশ্চিত করি যে আমদানি বিবৃতিগুলি বিভক্ত এবং যৌক্তিকভাবে সাজানো হয়েছে।
ESLint কনফিগারেশনে, আমদানি/অর্ডার থেকে নিয়ম এসলিন্ট-প্লাগইন-আমদানি আমদানি কিভাবে সংগঠিত হয় তা নিয়ন্ত্রণ করার জন্য প্লাগইন অপরিহার্য। এখানে লক্ষ্য হল একটি সামঞ্জস্যপূর্ণ আমদানি কাঠামো কার্যকর করা, যেখানে বিভিন্ন গোষ্ঠী থেকে আমদানিগুলি (যেমন অন্তর্নির্মিত মডিউল, বহিরাগত প্যাকেজ এবং অভ্যন্তরীণ মডিউল) নতুন লাইন দ্বারা পৃথক করা হয়। উপরন্তু, একই গোষ্ঠীর মধ্যে আমদানিগুলি পঠনযোগ্যতা উন্নত করার জন্য বর্ণমালা অনুসারে করা হয়। এই নিয়মগুলি আমদানিকে বিশৃঙ্খল হতে বাধা দেয়, বিশেষ করে যখন একাধিক ফাইল থেকে প্রচুর পরিমাণে আমদানি করা সদস্যদের সাথে কাজ করে।
ESLint সেটআপের আরেকটি উল্লেখযোগ্য দিক হল newlines-এর মধ্যে বিকল্প, যা নিশ্চিত করে যে প্রতিটি আমদানি গোষ্ঠী একটি ফাঁকা লাইন দ্বারা পৃথক করা হয়েছে। এটি কোডটিকে আরও দৃশ্যত সংগঠিত করে, বিশেষ করে বড় কোডবেসে। সঙ্গে মিলিত বর্ণমালা করা নিয়ম, সমগ্র আমদানি ব্লক কাঠামোগত এবং বজায় রাখা সহজ হয়ে ওঠে। যখন কোডটি ভিজ্যুয়াল স্টুডিও কোডে সেভ করার সময় ফর্ম্যাট করা হয়, তখন এই সেটিংসগুলি স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়, ম্যানুয়াল সমন্বয় ছাড়াই সমগ্র প্রকল্পে সামঞ্জস্যপূর্ণ আমদানি বিন্যাস নিশ্চিত করে।
অবশেষে, এই কনফিগারেশনটি সঠিকভাবে কাজ করছে তা নিশ্চিত করার জন্য পরীক্ষা করা অত্যন্ত গুরুত্বপূর্ণ। দ ঠাট্টা প্রেটিয়ার এবং ESLint কনফিগারেশনগুলি প্রত্যাশা অনুযায়ী আমদানি বিভাজন এবং বিন্যাস পরিচালনা করে কিনা তা পরীক্ষা করার জন্য ইউনিট পরীক্ষাগুলি ডিজাইন করা হয়েছে। উদাহরণস্বরূপ, যখন একটি দীর্ঘ আমদানি বিবৃতি প্রদান করা হয়, পরীক্ষাটি যাচাই করে যে এটি সঠিকভাবে একাধিক লাইনে বিভক্ত হয়েছে কিনা। এই পদ্ধতিটি বিকাশকারীদের তাদের ফর্ম্যাটিং নিয়মগুলির পরীক্ষা স্বয়ংক্রিয় করার অনুমতি দেয়, এটি নিশ্চিত করে যে কোনও ভবিষ্যতের কোড পরিবর্তন একই আমদানি কাঠামো নির্দেশিকা মেনে চলবে।
টাইপস্ক্রিপ্টে দীর্ঘ আমদানি বিবৃতি বিভক্ত করার জন্য সুন্দর এবং ESLint কনফিগার করা
এই স্ক্রিপ্টটি একটি TypeScript প্রকল্পে বহু-লাইন আমদানি বিবৃতির জন্য বিন্যাস কনফিগার করতে Prettier এবং ESLint ব্যবহার করে। ভিজ্যুয়াল স্টুডিও কোডের সাথে ফ্রন্ট-এন্ড ডেভেলপমেন্টে ফোকাস করা হয়।
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
ESLint প্লাগইন আমদানির সাথে আমদানি বিন্যাসের জন্য ESLint ব্যবহার করা
এই ব্যাক-এন্ড স্ক্রিপ্টটি বহু-লাইন আমদানি নিয়ম প্রয়োগ করতে ইমপোর্ট প্লাগইন সহ ESLint কনফিগার করে। এটি অপ্টিমাইজড কোড মডুলারিটি নিশ্চিত করে।
module.exports = {
"extends": ["eslint:recommended", "plugin:import/errors", "plugin:import/warnings"],
"rules": {
"import/order": [
"error", {
"groups": ["builtin", "external", "internal"],
"newlines-between": "always",
"alphabetize": { "order": "asc", "caseInsensitive": true }
}],
"max-len": ["error", { "code": 80 }],
}
}
// ESLint rule setup to organize imports into multiple lines and ensure alphabetical order
আমদানি ফরম্যাটিং কনফিগারেশন পরীক্ষার জন্য উদাহরণ স্ক্রিপ্ট
এই স্ক্রিপ্টটি Prettier এবং ESLint কনফিগারেশনের প্রয়োগ প্রদর্শন করে। এটি একটি ফ্রন্ট-এন্ড উদাহরণ হিসাবে কাজ করে যেখানে দীর্ঘ আমদানি একাধিক লাইনে বিভক্ত হয়।
import {
longFunctionNameOne,
longFunctionNameTwo,
longFunctionNameThree
} from '@example/long-module-name';
import {
shortFunctionNameOne,
shortFunctionNameTwo
} from '@example/short-module-name';
// Example of formatted import statements following the configured rules
ইউনিট ইম্পোর্ট ফরম্যাটিং সেটআপ পরীক্ষা করছে
এই ব্যাক-এন্ড স্ক্রিপ্ট জেস্ট ব্যবহার করে ইউনিট পরীক্ষা প্রদান করে যাতে প্রেটিয়ার এবং ইএসলিন্ট কনফিগারেশনগুলি বিভিন্ন পরিবেশে প্রত্যাশিতভাবে কাজ করে তা নিশ্চিত করতে।
const eslint = require('eslint');
const prettier = require('prettier');
const { describe, it } = require('@jest/globals');
describe('Import Formatting', () => {
it('should split long imports into multiple lines', () => {
const code = `import { a, b, c, d } from '@example/package';`;
const formatted = prettier.format(code, { printWidth: 80 });
expect(formatted).toMatch(/import { a, b }/);
});
});
// Unit test to check if long imports are split into multiple lines using Jest
প্রটিয়ার এবং ইএসলিন্ট ইম্পোর্ট ফরম্যাটিং সহ কোড পঠনযোগ্যতা বৃদ্ধি করা
বৃহত্তর কোডবেসগুলির সাথে ডিল করার সময়, কোড পঠনযোগ্যতা এবং দলগত সহযোগিতা উভয়ের উন্নতির জন্য ধারাবাহিক আমদানি কাঠামো বজায় রাখা গুরুত্বপূর্ণ হয়ে ওঠে। একটি সাধারণ সমস্যা ডেভেলপারদের মুখোমুখি হয় তা হল কতক্ষণ আমদানি বিবৃতি ফাইলের শীর্ষে বিশৃঙ্খল হতে পারে, বিশেষ করে যখন তারা একটি একক মডিউল থেকে অনেকগুলি উপাদান ধারণ করে। এই যেখানে সরঞ্জাম পছন্দ সুন্দর এবং ইএসলিন্ট প্লেতে আসা, আপনাকে একাধিক লাইনে আমদানির বিভাজন স্বয়ংক্রিয় করার অনুমতি দেয়। নিশ্চিত করা যে আমদানি বিবৃতি একটি সংজ্ঞায়িত প্রস্থ মেনে চলে, সাধারণত এর উপর ভিত্তি করে প্রিন্ট প্রস্থ সেটিং, অনুভূমিক স্ক্রোলিং প্রতিরোধে সহায়তা করে এবং কোডটিকে স্ক্যান করা সহজ রাখে।
আরেকটি গুরুত্বপূর্ণ দিক হল আমদানির সাংগঠনিক প্যাটার্ন। ব্যবহার করে আমদানি/অর্ডার ESLint দ্বারা প্রদত্ত নিয়ম, আপনি তাদের উত্সের উপর ভিত্তি করে আমদানি গোষ্ঠী করতে পারেন: অন্তর্নির্মিত লাইব্রেরি, তৃতীয় পক্ষের নির্ভরতা বা অভ্যন্তরীণ মডিউল। এই গোষ্ঠীগুলিকে নতুন লাইন দ্বারা বিভক্ত করা যেতে পারে, এটি বিকাশকারীদের জন্য দ্রুত নির্ভরতা সনাক্ত করা সহজ করে তোলে। এই পদ্ধতিটি কাঠামোগত আমদানিকে উৎসাহিত করে, যা, যখন বর্ণানুক্রমিক বাছাইয়ের সাথে মিলিত হয় বর্ণমালা করা বিকল্প, কোডবেস জুড়ে আরও স্পষ্টতা এবং ধারাবাহিকতা বাড়ায়।
উপরন্তু, ডেভেলপাররা যেমন টুলস লিভারেজ করতে চাইতে পারে সুন্দর-প্লাগইন-সংগঠিত-আমদানি নিশ্চিত করার জন্য যে আমদানিগুলি কেবল সঠিকভাবে বিভক্ত নয় বরং যৌক্তিকভাবে পুনর্বিন্যাস করা হয়েছে। ভিজ্যুয়াল স্টুডিও কোডের মতো এডিটরে ফাইল সংরক্ষণ করা হলে এই টুলগুলি স্বয়ংক্রিয়ভাবে পছন্দসই আমদানি কাঠামো কার্যকর করে। এটি নিশ্চিত করে যে বিকাশকারীদের ম্যানুয়ালি আমদানি বিবৃতি সামঞ্জস্য করতে হবে না এবং ক্লিনার এবং আরও রক্ষণাবেক্ষণযোগ্য কোড লেখার উপর ফোকাস করতে পারে।
Prettier এবং ESLint এর সাথে আমদানি ফরম্যাটিং সম্পর্কে সাধারণ প্রশ্ন
- কি সেরা ESLint আমদানি সংগঠিত করার নিয়ম?
- দ import/order থেকে নিয়ম eslint-plugin-import আমদানি সংগঠিত করার জন্য আদর্শ। এটি আপনাকে ধারাবাহিকভাবে গোষ্ঠী, বাছাই এবং কাঠামো আমদানি করতে দেয়।
- আমি ব্যবহার করে একাধিক লাইনে আমদানি বিবৃতি বিভক্ত করতে পারি? Prettier একা?
- Prettier দীর্ঘ আমদানি বিবৃতিকে একাধিক লাইনে বিভক্ত করতে পারে যদি printWidth নিয়ম অতিক্রম করা হয়। যাইহোক, এটি ESLint এর সাথে একত্রিত করা আরও কাস্টমাইজেশন প্রদান করে।
- কি করে alphabetize বিকল্প করতে?
- দ alphabetize বিকল্প import/order নিশ্চিত করে যে আমদানি সদস্য এবং বিবৃতি বর্ণানুক্রমিকভাবে সাজানো হয়েছে, কোড পঠনযোগ্যতা উন্নত করে।
- আমি কীভাবে নিশ্চিত করব যে আমার আমদানিগুলি সংরক্ষণের সময় স্বয়ংক্রিয়ভাবে ফর্ম্যাট হয়েছে?
- নিশ্চিত করুন যে উভয় Prettier এবং ESLint আপনার এডিটরে সেভ করার জন্য কনফিগার করা হয়েছে, সাধারণত সেটিংস-এর মাধ্যমে Visual Studio Code বা অনুরূপ IDEs।
- কেন ব্যবহার করবেন prettier-plugin-organize-imports?
- এই প্লাগইনটি নিশ্চিত করে যে আমদানিগুলি শুধুমাত্র একাধিক লাইনে বিভক্ত নয় বরং যুক্তিসঙ্গতভাবে সাজানো এবং গোষ্ঠীবদ্ধ করা হয়, যা কোড বজায় রাখার ক্ষমতাকে আরও উন্নত করে।
প্রটিয়ার এবং ইএসলিন্ট কনফিগারেশনের চূড়ান্ত চিন্তাভাবনা
আমদানি বিবৃতিগুলির স্বয়ংক্রিয় বিন্যাসের জন্য Prettier এবং ESLint সেট আপ করা আপনার প্রকল্পের রক্ষণাবেক্ষণযোগ্যতা বাড়ানোর একটি শক্তিশালী উপায়। এটি নিশ্চিত করে যে দীর্ঘ আমদানি বিভক্ত, সাজানো এবং যৌক্তিকভাবে সংগঠিত।
প্লাগইনগুলির সাথে এই সরঞ্জামগুলিকে একত্রিত করে, আপনি আপনার টাইপস্ক্রিপ্ট ফাইলগুলির মধ্যে সামঞ্জস্যতা নিশ্চিত করেন৷ এটি শুধুমাত্র কোডটিকে পরিষ্কার রাখে না কিন্তু আমদানি কাঠামো অভিন্ন থাকার কারণে আপনার দলের মধ্যে সহযোগিতার উন্নতি ঘটায়।
সুন্দর এবং ESLint কনফিগারেশনের জন্য রেফারেন্স এবং দরকারী উত্স
- Prettier এর কনফিগারেশনের অফিসিয়াল ডকুমেন্টেশনের জন্য, পড়ুন সুন্দর ডকুমেন্টেশন .
- ESLint এবং আমদানি/অর্ডার নিয়ম সম্পর্কে বিস্তারিত তথ্য এখানে পাওয়া যাবে eslint-plugin-import GitHub .
- কিভাবে Prettier প্লাগইন ব্যবহার করতে হয় অন্বেষণ করতে সুন্দর-প্লাগইন-সংগঠিত-আমদানি, পরিদর্শন করুন সুন্দর-প্লাগইন-সংগঠিত-আমদানি করে GitHub .
- সেভ করার সময় স্বয়ংক্রিয়ভাবে ফর্ম্যাট করার জন্য ভিজ্যুয়াল স্টুডিও কোড কনফিগার করার বিষয়ে একটি বিস্তৃত গাইডের জন্য, চেক করুন ভিজ্যুয়াল স্টুডিও কোড সেটিংস .