এই GraphQL ফরম্যাটার কী করে
- সামঞ্জস্যপূর্ণ, কমিউনিটি-স্ট্যান্ডার্ড ফরম্যাটিং প্রয়োগ করতে Prettier-এর GraphQL পার্সার ব্যবহার করে
- কোয়েরি, মিউটেশন, সাবস্ক্রিপশন, ফ্র্যাগমেন্ট এবং সম্পূর্ণ স্কিমা SDL (টাইপ, ইন্টারফেস, ইউনিয়ন, এনাম, ইনপুট, ডাইরেক্টিভ) সমর্থন করে
- সামঞ্জস্যযোগ্য ইন্ডেন্টেশন: স্পেস বা ট্যাব নির্বাচন করুন এবং ইন্ডেন্ট সাইজ কনফিগার করুন (১–৮)
- ঐচ্ছিক লাইন-দৈর্ঘ্য / র্যাপিং কন্ট্রোল একটি কনফিগারযোগ্য কলাম প্রস্থের মাধ্যমে
- বর্ণনা (`"""…"""`) এবং ইনলাইন কমেন্টগুলি তাদের লেআউট স্বাভাবিক করার সময় অক্ষত রাখে
- ফরম্যাটিংয়ের অংশ হিসাবে আপনার GraphQL ডকুমেন্ট স্ট্রাকচার বৈধতা যাচাই করে; অবৈধ সিনট্যাক্স নিঃশব্দে কোড বিকৃত করার পরিবর্তে ত্রুটি দেখাবে
- হাইব্রিড এক্সিকিউশন: উপলব্ধ হলে ব্রাউজারে Prettier চালায় এবং প্রয়োজন হলে সার্ভার ফরম্যাটারে ফিরে যায়
- `.graphql` / `.gql` ফাইল পেস্ট বা আপলোড করুন, তারপর ফরম্যাট করা ফলাফল প্রিভিউ, কপি বা ডাউনলোড করুন
📝 কিভাবে অনলাইনে GraphQL ফরম্যাট করবেন for graphql-formatter
আপনার GraphQL পেস্ট বা আপলোড করুন
এডিটরে আপনার GraphQL স্কিমা বা কোয়েরি পেস্ট করুন, অথবা একটি `.graphql` / `.gql` ফাইল ড্রপ করুন। ফর্ম্যাটার SDL এবং অপারেশন ডকুমেন্ট উভয়ের জন্যই কাজ করে।
ফর্ম্যাটিং অপশনস সামঞ্জস্য করুন
স্পেস বা ট্যাব নির্বাচন করুন, ইন্ডেন্ট সাইজ সেট করুন এবং আপনার পছন্দসই লাইন দৈর্ঘ্য কনফিগার করুন। এই অপশনগুলি Prettier-এর GraphQL ফর্ম্যাটারে পাঠানো হয়।
ফর্ম্যাট, পর্যালোচনা ও এক্সপোর্ট
পরিবর্তন প্রয়োগ করতে ফর্ম্যাট ক্লিক করুন। প্রিভিউ প্যানে ফলাফল পর্যালোচনা করুন, তারপর এটিকে আপনার এডিটরে কপি করুন বা ফর্ম্যাটেড ফাইল ডাউনলোড করুন।
প্রযুক্তিগত বিবরণ
সমর্থিত ইনপুট
স্ট্যান্ডার্ড GraphQL স্কিমা এবং অপারেশন ডকুমেন্টের জন্য ডিজাইন করা হয়েছে।
| ধরন | উদাহরণ | মন্তব্য |
|---|---|---|
| স্কিমা SDL | schema.graphql, schema.gql | টাইপ, ইন্টারফেস, ইউনিয়ন, এনাম, ইনপুট, ডাইরেক্টিভ, স্কিমা সংজ্ঞা |
| অপারেশন | queries.graphql, app.gql | কোয়েরি, মিউটেশন, সাবস্ক্রিপশন এবং ফ্র্যাগমেন্ট |
| এক্সটেনশন | আলাদা ফাইলে স্কিমা এক্সটেনশন | যেমন: `extend type Query { … }` ব্লক |
ফর্ম্যাটিং ইঞ্জিন
ফর্ম্যাটিং Prettier-এর GraphQL সমর্থন ব্যবহার করে করা হয়। বেশিরভাগ ক্ষেত্রে, Prettier একটি লাইটওয়েট রানটাইমের মাধ্যমে ব্রাউজারে চলে। যদি বর্তমান পরিবেশে GraphQL প্লাগইন রেজলভ করা না যায়, ফর্ম্যাটার স্বচ্ছভাবে সার্ভার-সাইড Prettier ওয়ার্কারে ফিরে যায়।
উপলব্ধ অপশন (Prettier-এ ম্যাপ করা)
| অপশন | আচরণ | সাধারণ মান |
|---|---|---|
| ইন্ডেন্ট স্টাইল | স্পেস এবং ট্যাবের মধ্যে নির্বাচন করুন | স্পেস (ডিফল্ট) বা ট্যাব |
| ইন্ডেন্ট সাইজ | প্রতি ইন্ডেন্ট লেভেলের স্পেস সংখ্যা (স্পেস ব্যবহার করার সময়) | ১–৮, ডিফল্ট: ২ |
| লাইন দৈর্ঘ্য | দীর্ঘ সিলেকশন মোড়ানোর/ব্রেক করার জন্য টার্গেট কলাম | ০–১২০ (০ ≈ কার্যত কোন মোড়ানো নেই) |
সীমা ও কর্মক্ষমতা
এই টুলটি সাধারণ GraphQL স্কিমা এবং অপারেশন ফাইলের জন্য টিউন করা হয়েছে। কয়েক শত KB থেকে ~2 MB পর্যন্ত অনুরোধ সাধারণত নিরাপদ; অত্যন্ত বড় ডকুমেন্টগুলি টাইমআউট বা সাইজ গার্ডে আটকাতে পারে।
গোপনীয়তা ও নিরাপত্তা
GraphQL ডকুমেন্টগুলি হয় আপনার ব্রাউজারে অথবা encode64-এর ফর্ম্যাটার ব্যাকএন্ডে ফর্ম্যাট করা হয়। সেগুলি এক্সিকিউট বা তৃতীয় পক্ষের পরিষেবাতে প্রেরণ করা হয় না। সংবেদনশীল স্কিমাগুলির জন্য, আপনি Prettier দিয়ে স্থানীয়ভাবে একই কনফিগারেশন মিরর করতে পারেন।
কমান্ড লাইন সমতুল্য (Prettier)
আপনার যদি ইতিমধ্যে Node.js এবং Prettier ইনস্টল করা থাকে, তাহলে আপনি স্থানীয়ভাবে এই আচরণটি পুনরুত্পাদন করতে পারেন।
Node.js (সকল প্ল্যাটফর্ম)
একটি GraphQL স্কিমা ফাইল ইন-প্লেস ফর্ম্যাট করুন
npx prettier --write schema.graphqlPrettier ফাইল এক্সটেনশনের উপর ভিত্তি করে GraphQL স্বয়ংক্রিয়ভাবে সনাক্ত করে।
কাস্টম ইন্ডেন্ট এবং লাইন দৈর্ঘ্য সহ ফর্ম্যাট করুন
npx prettier --write schema.graphql --tab-width 2 --use-tabs false --print-width 80অনলাইন টুলে প্রকাশিত ইন্ডেন্ট এবং র্যাপিং অপশনগুলি প্রতিফলিত করে।
stdin থেকে ফর্ম্যাট করুন (যেমন অন্য টুল থেকে পাইপ করা)
cat input.graphql | npx prettier --stdin-filepath input.graphqlশেল স্ক্রিপ্ট, CI পাইপলাইন বা Git হুকগুলিতে দরকারী।
সাধারণ GraphQL ফর্ম্যাটার ব্যবহারের ক্ষেত্র
API স্কিমা ডেভেলপমেন্ট
- বড় স্কিমা ফাইলগুলি সহজ নেভিগেশনের জন্য সামঞ্জস্যপূর্ণভাবে ফর্ম্যাটেড রাখুন
- স্কিমা PR-এ শোরগোলপূর্ণ হোয়াইটস্পেস ডিফগুলি হ্রাস করুন
- কোড জেনারেশন টুলগুলির জন্য পরিষ্কার SDL প্রস্তুত করুন
# পূর্বে
type User{ id:ID! name:String!}
# পরে
type User {
id: ID!
name: String!
}ফ্রন্টএন্ড অপারেশন ও ফ্র্যাগমেন্ট
- একাধিক অ্যাপ বা প্যাকেজ জুড়ে শেয়ার করা কোয়েরিগুলি স্বাভাবিক করুন
- ডিবাগিংয়ের সময় নেস্টেড সিলেকশনগুলি স্ক্যান করা সহজ করুন
- ডকুমেন্টেশন স্নিপেট এবং প্লেগ্রাউন্ড উদাহরণগুলি সুন্দরভাবে ফর্ম্যাটেড রাখুন
টেস্ট, ফিক্সচার ও টুলিং
- স্ন্যাপশট টেস্টে ব্যবহৃত GraphQL ফিক্সচারগুলি প্রমিত করুন
- প্রি-কমিট হুক বা CI জবে ফর্ম্যাটিং সংহত করুন
- স্কিমা ভ্যালিডেশন বা ডিফ টুলগুলিতে পরিষ্কার ডকুমেন্ট ফিড করুন
❓ Frequently Asked Questions
GraphQL ফর্ম্যাটার আসলে কী পরিবর্তন করে?
এটি কি অপারেশন এবং স্কিমা SDL উভয়ই সমর্থন করে?
কমেন্ট এবং ডেস্ক্রিপশন স্ট্রিং সংরক্ষিত থাকে?
আমার GraphQL কোড কি এক্সিকিউট হয়?
ফরম্যাটিং কোথায় চলে: ক্লায়েন্ট নাকি সার্ভার?
এটি ব্যবহার কি বিনামূল্যে?
Pro Tips
লিন্টিং বা ব্রেকিং চেঞ্জ যোগ করার আগে লিগ্যাসি স্কিমাগুলো স্ট্যান্ডার্ডাইজ করতে এই ফরম্যাটার ব্যবহার করুন; এটি পরবর্তী ডিফগুলো পর্যালোচনা করা অনেক সহজ করে তোলে।
লোকাল এবং ওয়েব ফরম্যাটিং অভিন্ন রাখতে আপনার অনলাইন টুল সেটিংস (ইন্ডেন্ট সাইজ এবং লাইন দৈর্ঘ্য) আপনার প্রজেক্টের Prettier কনফিগের সাথে অ্যালাইন করুন।
দীর্ঘ এম্বেডেড GraphQL স্ট্রিংগুলো কোড থেকে `.graphql` ফাইলে এক্সট্রাক্ট করুন যাতে তারা সমানভাবে ফরম্যাট এবং পুনরায় ব্যবহার করা যায়।
হোয়াইটস্পেস এবং র্যাপিংয়ের বাইরে যাওয়া স্কিমা এবং কোয়েরি ইস্যু ধরতে ফরম্যাটিংয়ের সাথে লিন্টিং (যেমন, GraphQL ESLint) জুড়ুন।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ