prettier-plugin-classnames
یک افزونه Prettier که نامهای کلاس طولانی را بر اساس گزینه printWidth به صورت چند خطی میشکند.

نصب[^1]
npm install -D prettier prettier-plugin-classnames[^1]: اگر نسخهی prettier-plugin-classnames شما کمتر از 0.4.0 باشد، همچنین باید @prettier/sync را نصب کنید.
پیکربندی
نمونه JSON:
{
"plugins": ["prettier-plugin-classnames"]
}نمونه JS (ماژول CommonJS):
module.exports = {
plugins: ['prettier-plugin-classnames'],
customAttributes: ['myClassProp'],
customFunctions: ['clsx'],
};مثال JS (ماژول ES):
export default {
plugins: ['prettier-plugin-classnames'],
endingPosition: 'absolute',
};گزینهها
ویژگیهای سفارشی
فهرستی از ویژگیها که نام کلاسهای محصورکننده را شامل میشوند.
ویژگیهای class و className همواره پشتیبانی میشوند، حتی اگر هیچ گزینهای تعیین نشده باشد.
پیشفرض | جایگزینی CLI | جایگزینی API
--- | --- | ---
[] | --custom-attributes | customAttributes: ["
توابع سفارشی
فهرستی از توابع که نام کلاسهای محصورکننده را شامل میشوند.
تابع classNames همواره پشتیبانی میشود، حتی اگر هیچ گزینهای تعیین نشده باشد.
پیشفرض | جایگزینی CLI | جایگزینی API
--- | --- | ---
[] | --custom-functions | customFunctions: ["
موقعیت پایانی
برای اولین بار در نسخه v0.5.0 ارائه شد.
absolute-with-indent در نسخه v0.6.0 اضافه شد.
absolute-with-indent در نسخه v0.8.0 حذف شد، اما میتوانید همان خروجی را با absolute دریافت کنید.
مقدار پیشفرض از relative به absolute در نسخه v0.8.0 تغییر کرد.
این معیار برای پایان نام کلاس در هر خط هنگام جایگزینی نام کلاس اصلی با نام کلاس چندخطی است.
- مثال
absolute:
--------------------------------------------------| printWidth=50
export function Callout({ children }) {
return (
{children}
);
}
``- مثال
relative:
`
--------------------------------------------------| printWidth=50
export function Callout({ children }) {
return (
{children}
);
}
`
پیشفرض | جایگزینی CLI | جایگزینی API
--- | --- | ---
"absolute" | --ending-position | endingPosition: ""تبدیل نحو
اولین بار در نسخه v0.7.7 ارائه شد.
اگر در یک نام کلاس نوشتهشده به صورت نحو غیرعبارتی، شکست خط رخ دهد، به نحو عبارتی تبدیل میشود. این تبدیل از قالببندی برگشتپذیر پشتیبانی نمیکند.
پیشفرض | جایگزینی CLI | جایگزینی API
--- | --- | ---
false | --syntax-transformation | syntaxTransformation: همبستگی نسخه با پلاگینهای همخانواده
از نسخه
0.6.0، در صورت انتشار یک نسخه کوچک در یک طرف، در صورت امکان آن تغییر را در طرف دیگر نیز اعمال خواهم کرد.
سازگاری با سایر پلاگینهای Prettier
اگر بیش از یک پلاگین Prettier بتواند متنی را که میخواهید قالببندی کنید مدیریت کند، Prettier فقط آخرین پلاگین از آنها را استفاده خواهد کرد.
در این حالت، میتوانید با افزودن prettier-plugin-merge آن را طوری پیکربندی کنید که این پلاگینها به صورت متوالی اعمال شوند.
نمونه JSON:
json
{
"plugins": [
"prettier-plugin-tailwindcss",
"prettier-plugin-classnames",
"prettier-plugin-merge"
]
}
``--- Tranlated By Open Ai Tx | Last indexed: 2025-09-09 ---