spacey-standard
Version:
Like standard, but loosen up on the spacing
155 lines (114 loc) • 4.69 kB
Markdown
# JavaScript Spacey-Standard Style
[![travis][travis-image]][travis-url]
[![npm][npm-image]][npm-url]
[![downloads][downloads-image]][downloads-url]
[](https://www.bithound.io/github/davidmarkclements/spacey-standard/master/dependencies/npm)
Like standard, but loosen up on the spacing

## Install
```bash
npm install spacey-standard
```
## Rules
Importantly:
- Up to 3 blank lines allowed
- Still only 1 blank line at end of file
- Pad blocks however you like
- Check [feross/standard] for the rest of the rules.
## Badge
Use this in one of your projects? Include one of these badges in your readme to
let people know that your code is using the standard style.
[](https://github.com/davidmarkclements/spacey-standard)
```markdown
[](https://github.com/davidmarkclements/spacey-standard)
```
[](https://github.com/davidmarkclements/spacey-standard)
```markdown
[](https://github.com/davidmarkclements/spacey-standard)
```
## Usage
The easiest way to use JavaScript Spacey-Standard Style to check your code is to install it
globally as a Node command line program. To do so, simply run the following command in
your terminal (flag `-g` installs `spacey-standard` globally on your system, omit it if you want
to install in the current working directory):
```bash
npm install spacey-standard -g
```
After you've done that you should be able to use the `spacey-standard` program. The simplest use
case would be checking the style of all JavaScript files in the current working directory:
```
$ spacey-standard
Error: Use JavaScript Spacey-Standard Style
lib/torrent.js:950:11: Expected '===' and instead saw '=='.
```
### What you might do if you're clever
1. Add it to `package.json`
```json
{
"name": "my-cool-package",
"devDependencies": {
"spacey-standard": "*"
},
"scripts": {
"test": "spacey-standard && node my-normal-tests-littered-with-semicolons.js"
}
}
```
2. Check style automatically when you run `npm test`
```
$ npm test
Error: Code style check failed:
lib/torrent.js:950:11: Expected '===' and instead saw '=='.
```
3. Never give style feedback on a pull request again!
### Custom Parser
To use a custom parser, install it from npm (example: `npm install
babel-eslint`) and add this to your package.json:
```json
{
"spacey-standard": {
"parser": "babel-eslint"
}
}
```
### [Vim](http://www.vim.org/)
Install **[Syntastic][vim-1]** and add these lines to `.vimrc`:
```vim
let g:syntastic_javascript_checkers=['standard']
let g:syntastic_javascript_standard_exec = 'spacey-standard'
```
For automatic formatting on save, add these two lines to `.vimrc`:
```vim
autocmd bufwritepost *.js silent !spacey-standard % --format
set autoread
```
[vim-1]: https://github.com/scrooloose/syntastic
### Ignoring files
Just like in `standard`, The paths `node_modules/**`, `*.min.js`, `bundle.js`, `coverage/**`, hidden files/folders
(beginning with `.`), and all patterns in a project's root `.gitignore` file are
automatically excluded when looking for `.js` files to check.
Sometimes you need to ignore additional folders or specific minfied files. To do that, add
a `spacey-standard.ignore` property to `package.json`:
```json
"spacey-standard": {
"ignore": [
"**/out/",
"/lib/select2/",
"/lib/ckeditor/",
"tmp.js"
]
}
```
### Make it look `snazzy`
If you want prettier output, just install the [`snazzy`](https://github.com/feross/snazzy) package and pipe `spacey-standard` to it:
```bash
$ spacey-standard --verbose | snazzy
```
See [feross/standard] for more information.
[travis-image]: https://img.shields.io/travis/davidmarkclements/spacey-standard.svg?style=flat-square
[travis-url]: https://travis-ci.org/davidmarkclements/spacey-standard
[npm-image]: https://img.shields.io/npm/v/spacey-standard.svg?style=flat-square
[npm-url]: https://npmjs.org/package/spacey-standard
[downloads-image]: https://img.shields.io/npm/dm/spacey-standard.svg?style=flat-square
[downloads-url]: https://npmjs.org/package/spacey-standard
[feross/standard]: https://github.com/feross/standard