প্রিটিয়ার-এসলিন্ট, এস্লিন্ট-প্লাগ-ইন-প্রিটিয়ার এবং এসলিন্ট-কনফিগার-প্রেটিয়ারের মধ্যে পার্থক্য কী?


93

আমি প্রেটিয়ার এবং ইএসলিন্ট একসাথে ব্যবহার করতে চাই তবে আমি একের পর এক এগুলি ব্যবহার করে কিছু দ্বন্দ্বের অভিজ্ঞতা পেয়েছি। আমি দেখতে পাচ্ছি যে এই তিনটি প্যাকেজ রয়েছে যা এগুলি ব্যবহার করে মঞ্জুরি দেয়:

  • prettier-eslint
  • eslint-plugin-prettier
  • eslint-config-prettier

তবে, আমি নিশ্চিত নই যে এই প্যাকেজের নামগুলির মধ্যে সমস্তটি রয়েছে eslintএবং যা ব্যবহার করতে হবে prettier

আমার কোনটি ব্যবহার করা উচিত?

উত্তর:


208

ESLint যেমন অনেক নিয়ম এবং ঐ যে prettier সঙ্গে বিন্যাস-সম্পর্কিত যথাসাধ্য দ্বন্দ্ব হয়, রয়েছে arrow-parens, space-before-function-parenইত্যাদি অত: পর তাদের একসঙ্গে ব্যবহার কিছু বিষয় হতে হবে। নীচের সরঞ্জামগুলি ESLint এবং Prettier একসাথে ব্যবহার করার জন্য তৈরি করা হয়েছে।

আমি একটি সংক্ষিপ্ত আকারে একটি সারণী বিন্যাসে একটি তুলনা লিখেছি , যেহেতু স্ট্যাক ওভারফ্লো সারণী বিন্যাস সমর্থন করে না। আপনি আরও সংগঠন পছন্দ করেন কিনা এটি পরীক্ষা করে দেখুন।

এখানে চিত্র বর্ণনা লিখুন

prettier-eslint: রান করে prettierতারপর eslint --fixকোডে চলে। eslintসম্পর্কিত নিয়মের বিন্যাসকরণের জন্য সাধারণত স্বয়ংক্রিয়ভাবে সংশোধন থাকে এবং eslint --fixপ্রেটিয়ার দ্বারা প্রবর্তিত বিরোধী বিন্যাস ঠিক করতে সক্ষম হবেন। আপনার prettierআলাদাভাবে কমান্ড চালানোর প্রয়োজন হবে না ।

eslint-plugin-prettier: এটি একটি ESLint প্লাগইন, এর অর্থ এটিতে ESLint যাচাই করবে এমন অতিরিক্ত বিধিগুলির বাস্তবায়ন রয়েছে। এই প্লাগইনটি হুডের নীচে প্রিটিয়ার ব্যবহার করে এবং যখন আপনার কোড প্রিটিয়ারের প্রত্যাশিত আউটপুট থেকে পৃথক হবে তখন বিষয়টি উত্থাপন করবে। এই সমস্যাগুলির মাধ্যমে স্বয়ংক্রিয়ভাবে সমাধান করা যেতে পারে --fix। এই প্লাগইনটি দিয়ে আপনার prettierআলাদাভাবে কমান্ডটি চালানোর দরকার নেই , কমান্ডটি প্লাগইনের অংশ হিসাবে চালানো হচ্ছে। এই প্লাগইনটি ফর্ম্যাটিং-সম্পর্কিত নিয়মগুলি বন্ধ করে না, এবং যদি আপনি ম্যানুয়ালি বা এর মাধ্যমে এই জাতীয় বিধিগুলির জন্য দ্বন্দ্বগুলি দেখেন তবে আপনাকে সেগুলি বন্ধ করতে হবে eslint-config-prettier

eslint-config-prettier: এটি একটি ESLint কনফিগারেশন এবং এটিতে নিয়মের জন্য কনফিগারেশন রয়েছে (নির্দিষ্ট নিয়মগুলি চালু, বন্ধ, বা বিশেষ কনফিগারেশন রয়েছে কিনা)। এই কনফিগারেশনটি আপনাকে অন্য ইএসলিন্ট কনফিগারেশনের সাথে প্রেটিয়ারের eslint-config-airbnbসাথে দ্বন্দ্ব জাগাতে পারে এমন ফর্ম্যাটিং-সম্পর্কিত নিয়মগুলি বন্ধ করে প্রেটিয়ার ব্যবহার করতে দেয় । এই কনফিগারেশনের সাহায্যে আপনার ব্যবহারের দরকার নেই prettier-eslintকারণ প্রিটিয়ার আপনার কোডটি ফর্ম্যাট করার পরে ESLint অভিযোগ করবে না। তবে আপনাকে prettierআলাদাভাবে কমান্ড চালানো দরকার ।

আশা করি এটির পার্থক্যগুলি সংক্ষিপ্ত হবে।

আপডেট: অ-বিন্যাস সংক্রান্ত সমস্যার জন্য প্রীতিটি হ্যান্ডেল ফর্ম্যাটিং এবং ইএসলিন্টকে হ্যান্ডেল prettier-eslintকরা প্রস্তাবিত অনুশীলন, সেই অনুশীলনের মতো একই দিকে prettier-eslintনয় , সুতরাং আর প্রস্তাব দেওয়া হয় না is আপনি eslint-plugin-prettierএবং eslint-config-prettierএকসাথে ব্যবহার করতে পারেন ।


আমার একটি eslintrc ফাইল রয়েছে যাতে আমার কাস্টম বিধি রয়েছে। উদাহরণস্বরূপ, নন-এক্সট্রা-সেমি চলমান এসলিন্ট - ফিক্সের সাথে প্রিটিয়ারের সাথে সেমি কোলন প্রয়োজন, প্রিটিয়ারের জন্য আমার কি আলাদা বিধি ফাইলের দরকার আছে?
জাসান

4
এসলিন্ট প্লাগইন এবং কনফিগারেশনের মধ্যে সাধারণ পার্থক্য সম্পর্কে কেবল একটি মন্তব্য, কারণ আমি অনুভব করেছি যে এটি আমার জন্য অনুপস্থিত ছিল: প্লাগইনগুলি নতুন এসলিন্ট বিধিগুলি সংজ্ঞায়িত করে, এবং কনফিগারগুলি ওয়েথার সেট করে বা না (এবং কীভাবে) নিয়মগুলি প্রয়োগ করা উচিত।
লুগরি

4
সাথে eslint-config-prettier, কেন আমাদের প্রিটিয়ার চালানো দরকার? eslint --fixকোডটি কি প্রিটিটিয়ারের মতো বিন্যাস করবে না ?
মাতিও হ্রস্টনিক

পছন্দ করুন এই থ্রেড পড়ুন - github.com/prettier/prettier-eslint/issues/101
Yangshun টে

10
এটি 2019, এবং এটি এখনও আমার কাছে পাওয়া সেরা ব্যাখ্যা, অফিসিয়ালটির চেয়ে অনেক ভাল। আপনি যোগ করতে পারেন যে prettier-eslint আর কোনও প্রস্তাবিত হয় না। এবং দ্বিতীয় 2 এখন এক সাথে কাজ করতে পারে।
ভাগ্য ধাঁধা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.