希曼日记

Prettier

#工程化

配置

.prettierrc.js 格式化文件配置

module.exports = {
	// 当箭头函数的参数只有一个时,参数使用小括号包裹
	'arrowParens': 'always',
	// 打印对象字面量中括号之间的空格。
	'bracketSpacing': true,
	// 是否将具有多行元素的>放在最后一行的末尾,还是单独放在下一行
	'bracketSameLine': false,
	// 是否将JSX中具有多行元素的>放在最后一行的末尾,还是是单独放在下一行
	'jsxBracketSameLine': false,
	// 行结束符
	'endOfLine': 'auto',
	// 是否打印分号
	'semi': false,
	// html中对于空格的处理方式
	'htmlWhitespaceSensitivity': 'css',
	// 是否在文件顶部插入@format标记
	'insertPragma': false,
	// 指定超过该最大长度时,prettier换行。
	'printWidth': 80,
	// 属性换行方式
	'proseWrap': 'preserve',
	// 对象中的属性名如何添加引号
	'quoteProps': 'preserve',
	// 是否在文件开头有@prettier或者@format才格式化该文件
	'requirePragma': false,
	// 是否使用单引号替代双引号
	'singleQuote': true,
	// jsx中哦哦那个是否使用单引号替代双引号
	'jsxSingleQuote': false,
	// 指定Tab的空格数
	'tabWidth': 2,
	// 多属性换行
	'singleAttributePerLine': true,
	// 是否使用tab进行缩进,而不是使用空格
	'useTabs': true,
	// 打印结尾分号
	'trailingComma': 'all',
	// import 导入顺序
	'importOrder': [
		'^(^react$|^@react|^react|^recoil|redux|vite)',
		'^(^antd|^rsuite|^@emotion|^emotion|theme-ui|^semantic-ui|^@rebass|^@chakra-ui|bootstrap|tailwind|bulma|mui|^@blueprintjs|reactstrap|^@mantine)',
		'<THIRD_PARTY_MODULES>',
		'^@(.*)$',
		'^~(.*)$',
		'^[./]',
	],
	// 是否将命名空间导入说明符放到导入分组的最前面
	'importOrderGroupNamespaceSpecifiers': true,
	// 对导入的包不同分类中间是否添加空格
	'importOrderSeparation': true,
	// 对导入的同一个包中的说明符是否排序
	'importOrderSortSpecifiers': true,
}

.prettierignore 不进行格式化的文件

# Ignore all files:
*.html
*.ejs
*.mdx
*.md
/dist/*
.local
/node_modules/**

**/*.svg
**/*.sh
/public/*