XO 是 JavaScript 幸福样式,强制执行严格代码风格,pull request 的时候不会再讨论代码风格。没有 .ESLintrc,.JSHintrc,.jscsrc 管理。
基于 ESLint 使用。
代码风格:
Tab 缩进 或者空格
分号
单引号
没有未使用的变量
关键字后面加空格 if (condition) {}
总是使用 ===
代替 ==
安装:
$ npm install --global xo
使用:
$ xo --help
Usage
$ xo [ ...]
Options
--iNit Add XO to your project
--compact Compact output
--stdin ValiDate CODE from stdin
--esnext Enable ES2015 support and rules
--env Environment preset [Can be set multiple times]
--global Global variable [Can be set multiple times]
--ignore Additional paths to ignore [Can be set multiple times]
--spACE Use space indent instead of tabs [Default: 2]
--no-semicolon Prevent use of semicolons
Examples
$ xo
$ xo index.js
$ xo *.js !foo.js
$ xo --esnext --space
$ xo --env=node --env=mocha
$ xo --init --esnext
Tips
Put options in package.JSON instead of using flags so other tools can read it.
之前:
{
"name": "Awesome-package",
"scripts": {
"test": "mocha"
},
"devDependencIEs": {
"mocha": "^2.0.0"
}
}
之后:
{
"name": "awesome-package",
"scripts": {
"test": "xo && mocha"
},
"devDependencies": {
"mocha": "^2.0.0",
"xo": "^0.8.0"
}
}
配置:
{
"name": "awesome-package",
"xo": {
"envs": [
"node",
"mocha"
]
}
}