Socket
Socket
Sign inDemoInstall

standard

Package Overview
Dependencies
319
Maintainers
17
Versions
183
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 10.0.0-beta.2 to 10.0.0

docs/RULES-zhcn.md

3

AUTHORS.md

@@ -7,3 +7,3 @@ # Authors

- Jonny Buchanan (jonathan.buchanan@gmail.com)
- Dan Flettre (fletd01@yahoo.com)
- Dan Flettre (flettre@gmail.com)
- Brandon Horst (brandonhorst@gmail.com)

@@ -91,3 +91,4 @@ - Yoshua Wuyts (yoshuawuyts@gmail.com)

- Peter Dave Hello (hsu@peterdavehello.org)
- Wayou Liu (liuwayong@gmail.com)
#### Generated by bin/update-authors.sh.

@@ -6,9 +6,40 @@ # Change Log

## 10.0.0 (BETA) - 2017-04-01
## 10.0.0 - 2017-04-04
TODO: FINALIZE RELEASE NOTES
**Standard is turning 10.0.0!** 🎉
As with every new major release, there are lots of new rules in 10.0.0 designed to
help catch bugs and make programmer intent more explicit.
`standard` is more popular than ever – **330,000 downloads per month!** It's even
more popular – **670,000 downloads per month** – if you include the
[shareable ESLint config](https://www.npmjs.com/package/eslint-config-standard)
that we also publish.
The most important change in 10.0.0 is that **using deprecated Node.js APIs is now
considered an error**. It's finally time to update those dusty old APIs!
Deprecated APIs are problematic because they may print warning messages in the
console in recent versions of Node.js. This often confuses users and leads to
unecessary support tickets for project maintainers.
Some deprecated APIs are even insecure (or at least prone to incorrect usage) which
can have serious security implications. For that reason, `standard` now prevents
usage of `Buffer(num)` or `new Buffer(num)` since these functions return uninitialized
program memory which could contain private user information, secret keys, etc.
Instead of `Buffer(num)` use the new `Buffer.alloc(num)` or `Buffer.from(obj)`
functions which make programmer intent clearer and work in all currently supported
versions of Node.js, including Node.js 4.x. For more background,
[see this Node.js issue](https://github.com/nodejs/node/issues/4660).
We also improved some rules to support common patterns in codebases that use React,
JSX, and Flow.
When you upgrade, consider running `standard --fix` to automatically fix some of
the issues caught by this new version.
### New features
- Update ESLint from 3.15.x to 3.18.x.
- Update ESLint from 3.15.x to 3.19.x.
- Node.js API: Add `standard.lintTextSync` method

@@ -23,5 +54,5 @@ ### New rules

- Enforce callbacks always called with Node.js-style error first ([standard/no-callback-literal](https://github.com/xjamundx/eslint-plugin-standard#rules-explanations)) [#623](https://github.com/feross/standard/issues/623) (3%)
- Functions named `callback`, `cb`, or `next` must be called with `null`, `undefined`, or an `Error` object as the first argument
- Prevents accidentally using a string instead of an `Error` object
- Prevents confusing callbacks that do not follow the Node.js pattern
- Functions named `callback` or `cb` must be invoked with `null`, `undefined`, or an `Error` as the first argument
- Disallows using a string instead of an `Error` object
- Disallows confusing callbacks that do not follow the standard Node.js pattern
- Disallow any imports that come after non-import statements ([import/first](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md)) [#806](https://github.com/feross/standard/issues/806) (1%)

@@ -33,2 +64,3 @@ - Disallow unnecessary return await ([no-return-await](http://eslint.org/docs/rules/no-return-await)) [#695](https://github.com/feross/standard/issues/695) (0%)

- Disallow Webpack loader syntax in imports ([import/no-webpack-loader-syntax](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-webpack-loader-syntax.md)) [#806](https://github.com/feross/standard/issues/806) (0%)
- Disallow comparing against -0 ([no-compare-neg-zero](http://eslint.org/docs/rules/no-compare-neg-zero)) [#812](https://github.com/feross/standard/issues/812) (0%)

@@ -35,0 +67,0 @@ ### Changed rules

<h1 align="center">
<a href="http://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<a href="https://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<br>

@@ -11,3 +11,3 @@ JavaScript Standard Style

<a href="https://travis-ci.org/feross/standard"><img src="https://img.shields.io/travis/feross/standard/master.svg" alt="Travis"></a>
<a href="http://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/dm/standard.svg" alt="npm downloads"></a>

@@ -20,8 +20,6 @@ <a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/v/standard.svg" alt="npm version"></a>

<p align="center">
<em>
Translations:
<a href="../README.md">English</a>,
<a href="README-ptbr.md">Português</a>,
<a href="README-zhtw.md">繁體中文</a>
</em>
Translations:
<a href="../README.md">English</a>,
<a href="README-ptbr.md">Português</a>,
<a href="README-zhtw.md">繁體中文</a>
</p>

@@ -31,12 +29,13 @@

Sin decisiones que tomar. Sin archivos `.eslintrc`, `.jshintrc`, o `.jscsrc`
a gestionar. Simplemente funciona.
## Guía de estilos JavaScript, con linter y corrección automática de código
Este modulo te ahorra tiempo a ti (y otros) dos maneras:
Este modulo te ahorra tiempo a ti (y otros) tres maneras:
- **Sin configuración.** La manera mas fácil de forzar estilos consistentes
- **Sin configuración.** La manera mas fácil de usar estilos consistentes
en tu proyecto.
- **Captura errores de estilos antes que sean enviados a PR.** Te ahorras el tiempo de
hacer revisiones de código eliminando inconsistencias entre el dueño del
repositorio y los contribuidores
- **Automaticamente formatea el código.** Ejecuta `standard --fix` y dile adios a las
inconsistencias en tu código.
- **De manera temprana captura problemas de estilos y errores de programador.** Te ahorras el tiempo
de hacer revisiones de código eliminando inconsistencias entre el dueño del
repositorio y los contribuidores.

@@ -51,13 +50,13 @@ Instalar con:

- **Usar 2 espacios** como sangría.
- **Usar comillas simples en cadenas de texto** con la excepcion para evitar escapado de texto
- **2 espacios** como sangría.
- **Usar comillas simples en cadenas de texto** con la excepcion de escapado de texto
- **No dejar variables sin usar** – esta captura *toneladas* de bugs!
- **Sin punto y coma** – [Esta][1] [bien.][2] [En serio!][3]
- **No debes empezar una línea con `(`, `[`, o `` ` ``**
- **Nunca empezar una línea con `(`, `[`, o `` ` ``**
- Este es ul **unico** problema al evitar punto y coma – *automaticamente verificado para ti!*
- [More details][4]
- [Más detalles][4]
- **Espacio después de las palabras claves** `if (condition) { ... }`
- **Espacio después del nombre de función** `function name (arg) { ... }`
- Usar siempre `===` en vez de `==` – pero `obj == null` esta permitido para verificar `null || undefined`.
- Gestionar siempre el parametro de función `err` de node.js
- Gestionar siempre el parámetro de función `err` de node.js
- Usar siempre el prefijo `window` en los globales del navegador – A excepción de `document` y `navigator` esto esta bien

@@ -82,9 +81,11 @@ - Previene uso accidental de mal-llamados globales del navegador como `open`, `length`,

- [Instalación](#instalación)
- [Uso](#uso)
- Inicio Rapido
- [Instalación](#instalación)
- [Uso](#uso)
- [Lo que podrias hacer si eres inteligente](#lo-que-prodias-hacer-si-eres-inteligente)
- [Medalla](#medalla)
- [Plugins editores de textos](#plugins-editores-de-textos)
- [FAQ](#faq)
- FAQ
- [¿Porque deberia usar JavaScript Standard Style?](#porque-deberia-usar-javascript-standard-style)
- [¿Quien usa JavaScript Standard Style?](#quien-usa-javascript-standard-style)
- [¿Hay plugins para editores de textos?](#hay-plugins-para-editores-de-textos)
- [¿Hay alguna medalla para al readme?](#hay-alguna-medalla-para-al-readme)
- [No estoy de acuerdo con la regla X, ¿lo puedes cambiar?](#no-estoy-de-acuerdo-con-la-regla-x-lo-puedo-cambiar)

@@ -103,6 +104,4 @@ - [¡Pero esto no un estandar web real!](#pero-esto-no-un-estandar-web-real)

- [¿Como hago la salida (output) todo colorido y *bonito*?](#como-hago-la-salida-output-todo-colorido-y-bonito)
- [Quiero contribuir a `standard`. ¿Que paquetes debería conocer?](#quiero-contribuir-a-standard-que-paquetes-debería-conocer)
- [Node.js API](#nodejs-api)
- [`standard.lintText(text, [opts], callback)`](#standardlinttexttext-opts-callback)
- [`standard.lintFiles(files, [opts], callback)`](#standardlintfilesfiles-opts-callback)
- [Node.js API](#nodejs-api)
- [¿Como puedo contribuir a `standard`?](#como-puedo-contribuir-a-standard)
- [Licencia](#licencia)

@@ -112,7 +111,3 @@

La manera más fácil de usar JavaScript Standard Style para chequear tu código
es instalarlo globalmente como programa Node de línea de comandos.
Para hacer esto, simplemente ejecute el siguiente comando en su terminal
(la bandera `-g` instalará `standard` globalmente en su sistema,
omita la bandera si solo quiere instalar `standard` en el directorio actual):
La manera más fácil de usar JavaScript Standard Style es instalarlo globalmente como un programa de linea de comandos de Node. Ejecuta el siguiente comando en la terminal:

@@ -123,3 +118,3 @@ ```bash

O, puede ejecutar este comando para instalar `standard` localmente, para usar en su módulo:
O, puedes instalar `standard` localmente, para usar en un solo proyecto:

@@ -130,3 +125,3 @@ ```bash

[Node.js](http://nodejs.org) y [npm](https://npmjs.com) son requeridos para ejecutar los comandos anteriores.
*Nota: para ejecutar los comandos anteriores [Node.js](http://nodejs.org) y [npm](https://npmjs.com) deben estar instalados.*

@@ -154,3 +149,3 @@ ## Uso

### Lo que podrias hacer si eres inteligente
## Lo que podrias hacer si eres inteligente

@@ -171,3 +166,3 @@ 1. Agregar esto `package.json`

2. Chequear estilos automaticamente cuando ejecutes `npm test`
2. Los estilos son chequeados automaticamente cuando ejecutes `npm test`

@@ -182,24 +177,54 @@ ```

## ¿Porque deberia usar JavaScript Standard Style?
### Medalla
La belleza de JavaScript Standard Style es qué es simple.
Nadie quiere mantener configuración de estilos en múltiples archivos
de cientos de líneas para cada módulo/proyecto en los que trabajan.
¡Es suficiente de esta locura!
¿Desea usar uno estos en uno de sus proyectos? Incluya una de estas medallas a su readme para darle a conocer a las personas que está usando Javascript Standard Style.
Este modulo te ahorra tiempo a ti (y otros) en tres maneras:
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
- **Sin configuración.** La manera mas fácil de usar estilos consistentes
en tu proyecto.
- **Automaticamente formatea el código.** Ejecuta `standard --fix` y dile adios a las
inconsistencias en tu código.
- **De manera temprana captura problemas de estilos y errores de programador.** Te ahorras el tiempo
de hacer revisiones de código eliminando inconsistencias entre el dueño del
repositorio y los contribuidores.
```markdown
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
```
Adoptar estilos `standard` significa clasificar la importancia de la claridad del código y las convenciones de la comunidad mucho más que estilo personal. Esto quizás no tenga sentido para el 100% de proyectos y culturas de desarrollo, aunque proyectos de código abierto pueden llegar a ser hostiles para los novatos. Estableciendo expectativas de contribución limpia y automatizada puede hacer el proyecto más saludable.
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
## ¿Quien usa JavaScript Standard Style?
```markdown
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
```
Un monton de gente!
### Plugins editores de textos
[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/npm.png>](https://www.npmjs.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/github.png>](https://github.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/opbeat.png>](https://opbeat.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/nearform.png>](http://www.nearform.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/brave.png>](https://www.brave.com) |
|---|---|---|---|---|
| [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/zeit.png>](https://zeit.co) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/zendesk.png>](https://www.zendesk.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/mongodb.jpg>](https://www.mongodb.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/typeform.jpg>](https://www.typeform.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/gov-uk.png>](https://gds.blog.gov.uk) |
|---|---|---|---|---|
[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/express.png>](http://expressjs.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/webtorrent.png>](https://webtorrent.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/ipfs.png>](https://ipfs.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/dat.png>](https://datproject.org) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/bitcoinjs.png>](https://bitcoinjs.org) |
|---|---|---|---|---|
[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/atom.png>](https://atom.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/electron.png>](http://electron.atom.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/voltra.png>](https://voltra.co) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/treasuredata.png>](https://www.treasuredata.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/clevertech.png>](https://clevertech.biz) |
|---|---|---|---|---|
[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/studynotes.jpg>](https://www.apstudynotes.org) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/optiopay.png>](https://www.optiopay.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/jaguar-landrover.png>](https://www.jlrtechincubator.com/jlrti/) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/bustle.jpg>](https://www.bustle.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/zentrick.png>](https://www.zentrick.com) |
|---|---|---|---|---|
[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/nodesource.png>](https://nodesource.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/greenkeeper.png>](https://greenkeeper.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/karma.png>](https://karma-runner.github.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/taser.png>](https://www.taser.com) |
|---|---|---|---|---|
Adicionalmente a compañias, muchos miembros de la comunidad usan `standard` en modulos que son
[muy numerosos](https://raw.githubusercontent.com/feross/standard-packages/master/all.json) para listar aqui.
También `standard` es el linter con mas estrellas en GitHub
[Clean Code Linter](https://github.com/showcases/clean-code-linters) un caso.
## ¿Hay plugins para editores de textos?
Primero, instale `standard`. Luego, instale el plugin apropiado para su editor:
#### [Sublime Text](https://www.sublimetext.com/)
#### Sublime Text

@@ -216,3 +241,3 @@ Usando **[Package Control][sublime-1]**, instale **[SublimeLinter][sublime-2]** y

#### [Atom](https://atom.io)
#### Atom

@@ -228,4 +253,15 @@ Instale **[linter-js-standard][atom-1]**.

#### [Vim](http://www.vim.org/)
#### Visual Studio Code
Instale **[vscode-standardjs][vscode-1]**. (Incluye soporte para formateo automatico.)
Para snippets JS, instale: **[vscode-standardjs-snippets][vscode-2]**.
Para snippets React, instale **[vscode-react-standard][vscode-3]**.
[vscode-1]: https://marketplace.visualstudio.com/items/chenxsan.vscode-standardjs
[vscode-2]: https://marketplace.visualstudio.com/items?itemName=capaj.vscode-standardjs-snippets
[vscode-3]: https://marketplace.visualstudio.com/items/TimonVS.ReactSnippetsStandard
#### Vim
instale **[Syntastic][vim-1]** y agregue esta linea a su `.vimrc`:

@@ -246,3 +282,3 @@

#### [Emacs](https://www.gnu.org/software/emacs/)
#### Emacs

@@ -255,3 +291,3 @@ Instale **[Flycheck][emacs-1]** y revise **[manual][emacs-2]** para aprender

#### [Brackets](http://brackets.io/)
#### Brackets

@@ -262,13 +298,2 @@ Busque el registro de extension para **["Standard Code Style"][brackets-1]**.

#### [Visual Studio Code](https://code.visualstudio.com/)
Instale **[vscode-standardjs][vscode-1]**. (Incluye soporte para formateo automatico.)
Para snippets JS, instale: **[vscode-standardjs-snippets][vscode-2]**.
Para snippets React, instale **[vscode-react-standard][vscode-3]**.
[vscode-1]: https://marketplace.visualstudio.com/items/chenxsan.vscode-standardjs
[vscode-2]: https://marketplace.visualstudio.com/items?itemName=capaj.vscode-standardjs-snippets
[vscode-3]: https://marketplace.visualstudio.com/items/TimonVS.ReactSnippetsStandard
#### [WebStorm and other JetBrains products][webstorm-1]

@@ -278,29 +303,25 @@

Si aun prefieres configurar `standard` manualmente [sigue esta guia](webstorm-2)
Si aun prefieres configurar `standard` manualmente [sigue esta guia](webstorm-2). Esto aplica a todos los productos de JetBrains, incluyendo PhpStorm, IntelliJ, RubyMine y etc.
Esto aplica a todos los productos de JetBrains, incluyendo PhpStorm, IntelliJ, RubyMine y etc.
[webstorm-1]: https://www.jetbrains.com/webstorm/
[webstorm-2]: webstorm.md
## FAQ
## Hay alguna medalla para readme?
### ¿Porque deberia usar JavaScript Standard Style?
Si! Si estas usando `standard` en tu proyecto, puedes includir una de estas en tu readme para
hacerle saber a las personas que en tu código estas usando estilos standard.
La belleza de JavaScript Standard Style es qué es simple.
Nadie quiere mantener configuración de estilos en múltiples archivos
de cientos de líneas para cada módulo/proyecto en los que trabajan.
¡Es suficiente de esta locura!
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
Este modulo te guarda a ti (y otros) tiempo en dos maneras:
```markdown
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
```
- **Sin configuración.** La manera mas fácil de forzar estilos consistentes
en tu proyecto. Simplemente usalo.
- **Captura errores de estilos antes que sean enviados a PR.** Te guarda de
revisiones de código eliminando delante y detrás entre el dueño del
repositorio y los contribuidores
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://standardjs.com/)
Adoptar estilos `standard` significa clasificar la importancia de la claridad del código y las convenciones de la comunidad mucho más que estilo personal. Esto quizás no tenga sentido para el 100% de proyectos y culturas de desarrollo, aunque proyectos de código abierto pueden llegar a ser hostiles para los novatos. Estableciendo expectativas de contribución limpia y automatizada puede hacer el proyecto más saludable
```markdown
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://standardjs.com/)
```
### No estoy de acuerdo con la regla X, ¿lo puedo cambiar?
## No estoy de acuerdo con la regla X, ¿lo puedo cambiar?

@@ -317,3 +338,3 @@ No. El punto de `standard` es de evitar [bikeshedding][bikeshedding] acerca del estilo. Existen un montón de debates online acerca de tabs vs espacios, etc. que nunca serán resueltos. Estos debates solo distraen de hacer el trabajo. Al final del dia tienes simplemente que “usar alguno”, y esa es toda la filosofía de `standard` -- es un montón de sensibles opiniones de “usar alguno”. Con la esperanza que los usuarios vean el valor en esto más que defender sus propias opiniones.

### ¡Pero esto no un estandar web real!
## ¡Pero esto no un estandar web real!

@@ -328,3 +349,3 @@ ¡Por su puesto que no lo es! El estilo aqui no esta afiliado a ningún grupo oficial de estándar web, es por eso que este repositorio se llama `feross/standard` y no `ECMA/standard`.

### ¿Hay algún formateador automatico?
## ¿Hay algún formateador automatico?

@@ -334,10 +355,10 @@ ¡Si! Puedes usar `standard --fix` para arreglar la mayoría de problemas automáticamente.

`standard --fix` esta integrado en `standard` (desde v8.0.0) para máxima conveniencia.
La mayoría de los problemas se arreglan, pero algunos errores, como olvidar darle uso a los `err` en los callbacks de node, deben ser arreglados manualmente.
La mayoría de los problemas se arreglan, pero algunos errores (olvidar gestionar errores en callbacks) deben ser arreglados manualmente.
Para no hacerte perder el tiempo, `standard` emite un mensaje ("Run `standard --fix` to
Para no perder el tiempo, `standard` emite un mensaje ("Run `standard --fix` to
automatically fix some problems.") cuando detecta errores que pueden ser arreglados automáticamente.
### ¿Como hago para ignorar archivos?
## ¿Como hago para ignorar archivos?
Ciertas rutas (`node_modules/`, `coverage/`, `vendor/`, `*.min.js`, `bundle.js`, y archivos/directorios que empiezan con `.` cómo `.git` son ignorados automáticamente.
Ciertas rutas (`node_modules/`, `coverage/`, `vendor/`, `*.min.js`, `bundle.js`, y archivos/directorios que empiezan con `.` cómo `.git`) son ignorados automáticamente.

@@ -359,3 +380,3 @@ Las rutas del `.gitignore` del proyecto raíz son ignorados automáticamente.

### ¿Como oculto cierta alerta?
## ¿Como oculto cierta alerta?

@@ -396,3 +417,3 @@ En raros casos, necesitarás romper una regla y ocultar la alerta generada por `standard`.

### Yo uso una librería que contamina el espacio de nombres global. ¿Como puedo evitar los errores "variable is not defined"?
## Yo uso una librería que contamina el espacio de nombres global. ¿Como puedo evitar los errores "variable is not defined"?

@@ -426,8 +447,8 @@ Algunos paquetes (ej `mocha`) colocan sus funciones (ej: `describe`, `it`) en el objeto global (¡mala manera!). Como estas funciones no están definidas o requeridas (ej: `require`) en ningún lugar del código, `standard` te alertara que están usando una variable que no está definida (usualmente, esta regla es realmente útil para detectar errores de tipeo). Pero queremos inhabilitar estas variables globales.

### ¿Puedo usar un parser JavaScript que soporte ES última-generación?
## ¿Como Puedo usar características experimentales JavaScript (ES Next)?
`standard` soporta la umtima version de ECMAscript, incluyendo todas las caracteristicas del lenguaje
`standard` soporta las ultimas características de ECMAscript, ES8 (ES2017) incluyendo todas las características del lenguaje
de las propuestas que estan en "Stage 4" del proceso de propuestas.
Para soportar caracteristicas experimentales del lenguaje, `standard` soporta especificando un parser JS customizado. Antes que uses un parser customizado, considera siquiera la complejidad agregada vale la pena.
Para soportar características experimentales del lenguaje, `standard` soporta especificando un parser JS customizado. Antes que uses un parser customizado, considera siquiera la complejidad agregada vale la pena.

@@ -452,3 +473,3 @@ Para usar un parser customizado, instálelo desde npm (ejemplo: `npm install babel-eslint`) y ejecute esto:

### ¿Puedo usar una variación de lenguaje JavaScript, como Flow?
## ¿Puedo usar una variación de lenguaje JavaScript, como Flow?

@@ -482,15 +503,4 @@ Antes de usar una variable del lenguaje JavaScript customizado, considere si la complejidad agregada

### ¿Que acerca de Web Workers?
## ¿Que acerca de Mocha, Jasmine, QUnit y etc?
Agrega esto al inicio de tus archivos:
```js
/* eslint-env serviceworker */
```
Esto le hara saber a` standard` (como también humanos que leen tu código) que
`self` es una variable global en el codigo web worker.
### ¿Que acerca de Mocha, Jasmine, QUnit y etc?
Para soportar mocha in tus archivos de prueba, agrega esto al inicio de los archivos:

@@ -514,4 +524,15 @@

### ¿Puedo verificar codigo dentro de archivos Markdown o HTML?
## ¿Que acerca de Web Workers?
Agrega esto al inicio de tus archivos:
```js
/* eslint-env serviceworker */
```
Esto le hara saber a` standard` (como también humanos que leen tu código) que
`self` es una variable global en el codigo web worker.
## ¿Puedo verificar codigo dentro de archivos Markdown o HTML?
Para verificar código dentro de archivos Markdown use [`standard-markdown`](https://www.npmjs.com/package/standard-markdown).

@@ -546,3 +567,3 @@

### ¿Hay algún gancho git `pre-commit`?
## ¿Hay algún gancho git `pre-commit`?

@@ -559,3 +580,3 @@ Funny you should ask!

### ¿Como hago la salida (output) todo colorido y *bonito*?
## ¿Como hago la salida (output) todo colorido y *bonito*?

@@ -634,3 +655,3 @@ La salida integrada es simple y directa, pero si te gustan las cosas brillantes, puedes instalar [snazzy](https://www.npmjs.com/package/snazzy):

## Contribuciones
## ¿Como puedo contribuir a `standard`?

@@ -641,4 +662,2 @@ Contribuciones son bienvenidas! Chequea los [issues](https://github.com/feross/standard/issues) o [PRs](https://github.com/feross/standard/pulls), o has el tuyo propio si quieres algo que nos ves allí

### Quiero contribuir a `standard`. ¿Que paquetes debería conocer?
- **[standard](https://github.com/feross/standard)** - este repositorio

@@ -651,3 +670,3 @@ - **[standard-engine](https://github.com/flet/standard-engine)** - motor arbitrario cli de relgas eslint

- **[snazzy](https://github.com/feross/snazzy)** - salida colorida o *bonita* en el terminal para standard
- **[standard-www](https://github.com/feross/standard-www)** - codigo de http://standardjs.com
- **[standard-www](https://github.com/feross/standard-www)** - codigo de https://standardjs.com
- **[semistandard](https://github.com/Flet/semistandard)** - standard, con punto y coma (sí es necesario)

@@ -654,0 +673,0 @@

<h1 align="center">
<a href="http://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<a href="https://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<br>

@@ -11,3 +11,3 @@ JavaScript Standard Style

<a href="https://travis-ci.org/feross/standard"><img src="https://img.shields.io/travis/feross/standard/master.svg" alt="Travis"></a>
<a href="http://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/dm/standard.svg" alt="npm downloads"></a>

@@ -20,8 +20,6 @@ <a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/v/standard.svg" alt="npm version"></a>

<p align="center">
<em>
Translations:
<a href="../README.md">English</a>,
<a href="README-esla.md">Spanish</a>,
<a href="README-zhtw.md">繁體中文</a>
</em>
Translations:
<a href="../README.md">English</a>,
<a href="README-esla.md">Spanish</a>,
<a href="README-zhtw.md">繁體中文</a>
</p>

@@ -177,6 +175,6 @@

[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://standardjs.com/)
```markdown
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://standardjs.com/)
```

@@ -555,3 +553,3 @@

- **[snazzy](https://github.com/feross/snazzy)** - Output de terminal bonitinho
- **[standard-www](https://github.com/feross/standard-www)** - código do http://standardjs.com
- **[standard-www](https://github.com/feross/standard-www)** - código do https://standardjs.com
- **[semistandard](https://github.com/Flet/semistandard)** - standard, com ponto-e-vírgula (se você precisar)

@@ -558,0 +556,0 @@

<h1 align="center">
<a href="http://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript 樣式教學" width="200"></a>
<a href="https://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript 樣式教學" width="200"></a>
<br>

@@ -11,3 +11,3 @@ JavaScript Standard Style

<a href="https://travis-ci.org/feross/standard"><img src="https://img.shields.io/travis/feross/standard/master.svg" alt="Travis"></a>
<a href="http://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/dm/standard.svg" alt="npm downloads"></a>

@@ -20,8 +20,6 @@ <a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/v/standard.svg" alt="npm version"></a>

<p align="center">
<em>
翻譯:
<a href="../README.md">English</a>、
<a href="README-ptbr.md">Português</a>、
<a href="README-esla.md">Spanish</a>
</em>
翻譯:
<a href="../README.md">English</a>、
<a href="README-ptbr.md">Português</a>、
<a href="README-esla.md">Spanish</a>
</p>

@@ -279,6 +277,6 @@

[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](http://standardjs.com/)
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com/)
```md
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](http://standardjs.com/)
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com/)
```

@@ -602,3 +600,3 @@

- **[snazzy](https://github.com/feross/snazzy)** - standard 的終端機美麗輸出
- **[standard-www](https://github.com/feross/standard-www)** - http://standardjs.com 網站程式
- **[standard-www](https://github.com/feross/standard-www)** - https://standardjs.com 網站程式
- **[semistandard](https://github.com/Flet/semistandard)** - standard,含分號版本(如果你真的真的必須要加分號)

@@ -605,0 +603,0 @@

# JavaScript Standard Style
Translations: [English](../RULES.md), [Português](RULES-ptbr.md), [繁體中文](RULES-zhtw.md)
Translations: [English](../RULES.md), [Português](RULES-ptbr.md), [繁體中文](RULES-zhtw.md), [简体中文](RULES-zhcn.md)

@@ -133,3 +133,3 @@ [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

* **Para delcaraciones if multi-linea** usar llaves.
* **Para declaraciones if multi-linea** debe usar llaves.

@@ -253,4 +253,1018 @@ eslint: [`curly`](http://eslint.org/docs/rules/curly)

## Puntos y comas (semicolos)
* **Agregar espacios dentro de bloques de una sola linea.**
eslint: [`block-spacing`](http://eslint.org/docs/rules/block-spacing)
```js
function foo () {return true} // ✗ evitar
function foo () { return true } // ✓ ok
```
* **Usar camelcase al nombre variables y funciones.**
eslint: [`camelcase`](http://eslint.org/docs/rules/camelcase)
```js
function my_function () { } // ✗ avoid
function myFunction () { } // ✓ ok
var my_var = 'hello' // ✗ avoid
var myVar = 'hello' // ✓ ok
```
* **Comas adicionales no esta permitido.**
eslint: [`comma-dangle`](http://eslint.org/docs/rules/comma-dangle)
```js
var obj = {
message: 'hello', // ✗ avoid
}
```
* **Comas deben colocarse al final de la linea actual.**
eslint: [`comma-style`](http://eslint.org/docs/rules/comma-style)
```js
var obj = {
foo: 'foo'
,bar: 'bar' // ✗ avoid
}
var obj = {
foo: 'foo',
bar: 'bar' // ✓ ok
}
```
* **El Puto debe ir en la misma linea que la propiedad.**
eslint: [`dot-location`](http://eslint.org/docs/rules/dot-location)
```js
console.
log('hello') // ✗ avoid
console
.log('hello') // ✓ ok
```
* **Archivos deben terminar con una nueva linea.**
elint: [`eol-last`](http://eslint.org/docs/rules/eol-last)
* **Sin espacios entre el identificador de la funcion y su invocación.**
eslint: [`func-call-spacing`](http://eslint.org/docs/rules/func-call-spacing)
```js
console.log ('hello') // ✗ avoid
console.log('hello') // ✓ ok
```
* **Agregar espacio entre dos puntos (colon) y pares clave valor.**
eslint: [`key-spacing`](http://eslint.org/docs/rules/key-spacing)
```js
var obj = { 'key' : 'value' } // ✗ avoid
var obj = { 'key' :'value' } // ✗ avoid
var obj = { 'key':'value' } // ✗ avoid
var obj = { 'key': 'value' } // ✓ ok
```
* **Nombres de Constructor deben empezar con letra Mayúscula.**
eslint: [`new-cap`](http://eslint.org/docs/rules/new-cap)
```js
function animal () {}
var dog = new animal() // ✗ avoid
function Animal () {}
var dog = new Animal() // ✓ ok
```
* **Constructor sin argumentos debe ser invocado con paréntesis.**
eslint: [`new-parens`](http://eslint.org/docs/rules/new-parens)
```js
function Animal () {}
var dog = new Animal // ✗ avoid
var dog = new Animal() // ✓ ok
```
* **Objetos deben contener un getter cuando se ha definido un setter.**
eslint: [`accessor-pairs`](http://eslint.org/docs/rules/accessor-pairs)
```js
var person = {
set name (value) { // ✗ avoid
this.name = value
}
}
var person = {
set name (value) {
this.name = value
},
get name () { // ✓ ok
return this.name
}
}
```
* **Constructores de clases derivadas deben llamar `super`.**
eslint: [`constructor-super`](http://eslint.org/docs/rules/constructor-super)
```js
class Dog {
constructor () {
super() // ✗ avoid
}
}
class Dog extends Mammal {
constructor () {
super() // ✓ ok
}
}
```
* **Usar array literales en vez de array constructor.**
eslint: [`no-array-constructor`](http://eslint.org/docs/rules/no-array-constructor)
```js
var nums = new Array(1, 2, 3) // ✗ avoid
var nums = [1, 2, 3] // ✓ ok
```
* **Evitar usar arguments.calle y arguments.caller.**
eslint: [`no-caller`](http://eslint.org/docs/rules/no-caller)
```js
function foo (n) {
if (n <= 0) return
arguments.callee(n - 1) // ✗ avoid
}
function foo (n) {
if (n <= 0) return
foo(n - 1)
}
```
* **Evitar modificar variables que fueron declaradas como clase.**
eslint: [`no-class-assign`](http://eslint.org/docs/rules/no-class-assign)
```js
class Dog {}
Dog = 'Fido' // ✗ avoid
```
* **Evitar modifidicar variables declaracas usando `const`.**
eslint: [`no-const-assign`](http://eslint.org/docs/rules/no-const-assign)
```js
const score = 100
score = 125 // ✗ avoid
```
* **Evitar usar expresiones constantes en condicionales (a excepcion de búcles).**
eslint: [`no-constant-condition`](http://eslint.org/docs/rules/no-constant-condition)
```js
if (false) { // ✗ avoid
// ...
}
if (x === 0) { // ✓ ok
// ...
}
while (true) { // ✓ ok
// ...
}
```
* **Evitar carácteres de control de expresiones regulares.**
eslint: [`no-control-regex`](http://eslint.org/docs/rules/no-control-regex)
```js
var pattern = /\x1f/ // ✗ avoid
var pattern = /\x20/ // ✓ ok
```
* **Evitar sentencias `debugger`.**
eslint: [`no-debugger`](http://eslint.org/docs/rules/no-debugger)
```js
function sum (a, b) {
debugger // ✗ avoid
return a + b
}
```
* **Evitar operador delete en variables.**
eslint: [`no-delete-var`](http://eslint.org/docs/rules/no-delete-var)
```js
var name
delete name // ✗ avoid
```
* **Evitar argumentos duplicados en definicion de funciones.**
eslint: [`no-dupe-args`](http://eslint.org/docs/rules/no-dupe-args)
```js
function sum (a, b, a) { // ✗ avoid
// ...
}
function sum (a, b, c) { // ✓ ok
// ...
}
```
* **Evitar duplicados en miembros de clase.**
eslint: [`no-dupe-class-members`](http://eslint.org/docs/rules/no-dupe-class-members)
```js
class Dog {
bark () {}
bark () {} // ✗ avoid
}
```
* **Evitar duplicado de claves en objetos literales.**
eslint: [`no-dupe-keys`](http://eslint.org/docs/rules/no-dupe-keys)
```js
var user = {
name: 'Jane Doe',
name: 'John Doe' // ✗ avoid
}
```
* **Evitar dublicados de etiqueta `case` en sentencias `switch`.**
eslint: [`no-duplicate-case`](http://eslint.org/docs/rules/no-duplicate-case)
```js
switch (id) {
case 1:
// ...
case 1: // ✗ avoid
}
```
* **Usar una unica sentencia `import` por modulo.**
eslint: [`no-duplicate-imports`](http://eslint.org/docs/rules/no-duplicate-imports)
```js
import { myFunc1 } from 'module'
import { myFunc2 } from 'module' // ✗ avoid
import { myFunc1, myFunc2 } from 'module' // ✓ ok
```
* **Evitar classes de carácteres vacia en expresiones regulares.**
eslint: [`no-empty-character-class`](http://eslint.org/docs/rules/no-empty-character-class)
```js
const myRegex = /^abc[]/ // ✗ avoid
const myRegex = /^abc[a-z]/ // ✓ ok
```
* **Evitar pratones de destructuración vacios.**
eslint: [`no-empty-pattern`](http://eslint.org/docs/rules/no-empty-pattern)
```js
const { a: {} } = foo // ✗ avoid
const { a: { b } } = foo // ✓ ok
```
* **Evitar uso de `eval()`.**
eslint: [`no-eval`](http://eslint.org/docs/rules/no-eval)
```js
eval( "var result = user." + propName ) // ✗ avoid
var result = user[propName] // ✓ ok
```
* **Evitar reasignar excepciones en clausas `catch`.**
eslint: [`no-ex-assign`](http://eslint.org/docs/rules/no-ex-assign)
```js
try {
// ...
} catch (e) {
e = 'new value' // ✗ avoid
}
try {
// ...
} catch (e) {
const newVal = 'new value' // ✓ ok
}
```
* **Evitar extender objetos nativos**
eslint: [`no-extend-native`](http://eslint.org/docs/rules/no-extend-native)
```js
Object.prototype.age = 21 // ✗ avoid
```
* **Evitar uso innecesario de bind en funciones.**
eslint: [`no-extra-bind`](http://eslint.org/docs/rules/no-extra-bind)
```js
const name = function () {
getName()
}.bind(user) // ✗ avoid
const name = function () {
this.getName()
}.bind(user) // ✓ ok
```
* **Evitar hacer cast a booleanos.**
eslint: [`no-extra-boolean-cast`](http://eslint.org/docs/rules/no-extra-boolean-cast)
```js
const result = true
if (!!result) { // ✗ avoid
// ...
}
const result = true
if (result) { // ✓ ok
// ...
}
```
* **Evitar paréntesis inncesario alrededor de expresión de funciones.**
eslint: [`no-extra-parens`](http://eslint.org/docs/rules/no-extra-parens)
```js
const myFunc = (function () { }) // ✗ avoid
const myFunc = function () { } // ✓ ok
```
* **Usar `break` para evitar pasar de largo `fallthrough` en casos `switch`.**
eslint: [`no-fallthrough`](http://eslint.org/docs/rules/no-fallthrough)
```js
switch (filter) {
case 1:
doSomething() // ✗ avoid
case 2:
doSomethingElse()
}
switch (filter) {
case 1:
doSomething()
break // ✓ ok
case 2:
doSomethingElse()
}
switch (filter) {
case 1:
doSomething()
// fallthrough // ✓ ok
case 2:
doSomethingElse()
}
```
* **Evitar decimales flotantes.**
eslint: [`no-floating-decimal`](http://eslint.org/docs/rules/no-floating-decimal)
```js
const discount = .5 // ✗ avoid
const discount = 0.5 // ✓ ok
```
* **Evitar reasignación de declaraciones de funciones.**
eslint: [`no-func-assign`](http://eslint.org/docs/rules/no-func-assign)
```js
function myFunc () { }
myFunc = myOtherFunc // ✗ avoid
```
* **Evitar reasignación de variables globales de solo-lectura.**
eslint: [`no-global-assign`](http://eslint.org/docs/rules/no-global-assign)
```js
window = {} // ✗ avoid
```
* **Evitar usar eval() implícito.**
eslint: [`no-implied-eval`](http://eslint.org/docs/rules/no-implied-eval)
```js
setTimeout("alert('Hello world')") // ✗ avoid
setTimeout(function () { alert('Hello world') }) // ✓ ok
```
* **Evitar declaracion de funciones en bloques anidados.**
eslint: [`no-inner-declarations`](http://eslint.org/docs/rules/no-inner-declarations)
```js
if (authenticated) {
function setAuthUser () {} // ✗ avoid
}
```
* **Evitar cadenas de texto expresiones regulares invalidas en costructores `RegExp`.**
eslint: [`no-invalid-regexp`](http://eslint.org/docs/rules/no-invalid-regexp)
```js
RegExp('[a-z') // ✗ avoid
RegExp('[a-z]') // ✓ ok
```
* **Evitar espacios en blanco irregulares.**
eslint: [`no-irregular-whitespace`](http://eslint.org/docs/rules/no-irregular-whitespace)
```js
function myFunc () /*<NBSP>*/{} // ✗ avoid
```
* **Evitar uso de `__iterator__`.**
eslint: [`no-iterator`](http://eslint.org/docs/rules/no-iterator)
```js
Foo.prototype.__iterator__ = function () {} // ✗ avoid
```
* **Evitar etiquetas que comparten el nombre de una variable en scope.**
eslint: [`no-label-var`](http://eslint.org/docs/rules/no-label-var)
```js
var score = 100
function game () {
score: 50 // ✗ avoid
}
```
* **Evitar sentencias etiquetadas.**
eslint: [`no-labels`](http://eslint.org/docs/rules/no-labels)
```js
label:
while (true) {
break label // ✗ avoid
}
```
* **Evitar bloques anidados innecesarios**
eslint: [`no-lone-blocks`](http://eslint.org/docs/rules/no-lone-blocks)
```js
function myFunc () {
{ // ✗ avoid
myOtherFunc()
}
}
function myFunc () {
myOtherFunc() // ✓ ok
}
```
* **Evitar mezclar espacios y tabulaciones para sangría**
eslint: [`no-mixed-spaces-and-tabs`](http://eslint.org/docs/rules/no-mixed-spaces-and-tabs)
* **Evitar uso de espacios en blanco multiples a excepcion de sangría**
eslint: [`no-multi-spaces`](http://eslint.org/docs/rules/no-multi-spaces)
```js
const id = 1234 // ✗ avoid
const id = 1234 // ✓ ok
```
* **Evitar cadenas de texto multi-linea**
eslint: [`no-multi-str`](http://eslint.org/docs/rules/no-multi-str)
```js
const message = 'Hello \
world' // ✗ avoid
```
* **Evitar usar `new` sin asignar a el objecto a una variable**
eslint: [`no-new`](http://eslint.org/docs/rules/no-new)
```js
new Character() // ✗ avoid
const character = new Character() // ✓ ok
```
* **Evitar uso de constructor `Function`.**
eslint: [`no-new-func`](http://eslint.org/docs/rules/no-new-func)
```js
var sum = new Function('a', 'b', 'return a + b') // ✗ avoid
```
* **Evitar uso de constructor `Object`**
eslint: [`no-new-object`](http://eslint.org/docs/rules/no-new-object)
```js
let config = new Object() // ✗ avoid
```
* **Evitar uso de `new require`.**
eslint: [`no-new-require`](http://eslint.org/docs/rules/no-new-require)
```js
const myModule = new require('my-module') // ✗ avoid
```
* **Evitar uso de constructor `Symbol`.**
eslint: [`no-new-symbol`](http://eslint.org/docs/rules/no-new-symbol)
```js
const foo = new Symbol('foo') // ✗ avoid
```
* **Evitar envolturas de instancias primitivas.**
eslint: [`no-new-wrappers`](http://eslint.org/docs/rules/no-new-wrappers)
```js
const message = new String('hello') // ✗ avoid
```
* **Evitar llamar propiedades de objetos globles como funciones.**
eslint: [`no-obj-calls`](http://eslint.org/docs/rules/no-obj-calls)
```js
const math = Math() // ✗ avoid
```
* **Evitar uso de octal literal.**
eslint: [`no-octal`](http://eslint.org/docs/rules/no-octal)
```js
const num = 042 // ✗ avoid
const num = '042' // ✓ ok
```
* **Evitar escapado de secuencia octal en cadena de texto literal.**
eslint: [`no-octal-escape`](http://eslint.org/docs/rules/no-octal-escape)
```js
const copyright = 'Copyright \251' // ✗ avoid
```
* **Evitar concatenacion de cadena de texto para `__dirname` y `__filename`.**
eslint: [`no-path-concat`](http://eslint.org/docs/rules/no-path-concat)
```js
const pathToFile = __dirname + '/app.js' // ✗ avoid
const pathToFile = path.join(__dirname, 'app.js') // ✓ ok
```
* **Evitar uso de `__proto__`.** Use `getPrototypeOf` en su lugar.
eslint: [`no-proto`](http://eslint.org/docs/rules/no-proto)
```js
const foo = obj.__proto__ // ✗ avoid
const foo = Object.getPrototypeOf(obj) // ✓ ok
```
* **Evitar re-reclaración de variables.**
eslint: [`no-redeclare`](http://eslint.org/docs/rules/no-redeclare)
```js
let name = 'John'
let name = 'Jane' // ✗ avoid
let name = 'John'
name = 'Jane' // ✓ ok
```
* **Evitar multiples espacios en expresiones regulares.**
eslint: [`no-regex-spaces`](http://eslint.org/docs/rules/no-regex-spaces)
```js
const regexp = /test value/ // ✗ avoid
const regexp = /test {3}value/ // ✓ ok
const regexp = /test value/ // ✓ ok
```
* **Asignación de variables en el retorno de funciones debe estar rodeado de paréntesis.**
eslint: [`no-return-assign`](http://eslint.org/docs/rules/no-return-assign)
```js
function sum (a, b) {
return result = a + b // ✗ avoid
}
function sum (a, b) {
return (result = a + b) // ✓ ok
}
```
* **Evitar asignar una variable a si misma.**
eslint: [`no-self-assign`](http://eslint.org/docs/rules/no-self-assign)
```js
name = name // ✗ avoid
```
* **Evitar comparar una variable consigo mismo.**
esint: [`no-self-compare`](http://eslint.org/docs/rules/no-self-compare)
```js
if (score === score) {} // ✗ avoid
```
* **Evitar uso de secuencia separado po comma.**
eslint: [`no-sequences`](http://eslint.org/docs/rules/no-sequences)
```js
if (doSomething(), !!test) {} // ✗ avoid
```
* **Nombres restringidos no deben ser cambiados (shadowed).**
eslint: [`no-shadow-restricted-names`](http://eslint.org/docs/rules/no-shadow-restricted-names)
```js
let undefined = 'value' // ✗ avoid
```
* **Array dispersos no estan permitidos.**
eslint: [`no-sparse-arrays`](http://eslint.org/docs/rules/no-sparse-arrays)
```js
let fruits = ['apple',, 'orange'] // ✗ avoid
```
* **No se deben usar Tabulaciones.**
eslint: [`no-tabs`](http://eslint.org/docs/rule
* **Cadenas de textos regulares no deben contener placeholders de plantillas literales.**
eslint: [`no-template-curly-in-string`](http://eslint.org/docs/rules/no-template-curly-in-string)
```js
const message = 'Hello ${name}' // ✗ avoid
const message = `Hello ${name}` // ✓ ok
```
* **`super()` debe ser llamado inmediatamente antes de usar `this`.**
eslint: [`no-this-before-super`](http://eslint.org/docs/rules/no-this-before-super)
```js
class Dog extends Animal {
constructor () {
this.legs = 4 // ✗ avoid
super()
}
}
```
* **Solo se puede lanzar (`throw`) un objecto `Error`.**
eslint: [`no-throw-literal`](http://eslint.org/docs/rules/no-throw-literal)
```js
throw 'error' // ✗ avoid
throw new Error('error') // ✓ ok
```
* **Espacios en blanco despues del final linea no estan permitidos .**
eslint: [`no-trailing-spaces`](http://eslint.org/docs/rules/no-trailing-spaces)
* **Inicializar una variable con `undefined` no esta permitido.**
eslint: [`no-undef-init`](http://eslint.org/docs/rules/no-undef-init)
```js
let name = undefined // ✗ avoid
let name
name = 'value' // ✓ ok
```
* **Búcles no modificados no estan permitidos.**
eslint: [`no-unmodified-loop-condition`](http://eslint.org/docs/rules/no-unmodified-loop-condition)
```js
for (let i = 0; i < items.length; j++) {...} // ✗ avoid
for (let i = 0; i < items.length; i++) {...} // ✓ ok
```
* **Evitar usar operador ternario cuando existe una alternative mas simple.**
eslint: [`no-unneeded-ternary`](http://eslint.org/docs/rules/no-unneeded-ternary)
```js
let score = val ? val : 0 // ✗ avoid
let score = val || 0 // ✓ ok
```
* **Evitar dejar código inalcanzable despues de sentencias `return`, `throw`, `continue`, y `break` .**
eslint: [`no-unreachable`](http://eslint.org/docs/rules/no-unreachable)
```js
function doSomething () {
return true
console.log('never called') // ✗ avoid
}
```
* **Evitar sentencias de control de flujo en bloques `finally`.**
eslint: [`no-unsafe-finally`](http://eslint.org/docs/rules/no-unsafe-finally)
```js
try {
// ...
} catch (e) {
// ...
} finally {
return 42 // ✗ avoid
}
```
* **El operando izquierdo en operaciones relacionales no debe ser negado.**
eslint: [`no-unsafe-negation`](http://eslint.org/docs/rules/no-unsafe-negation)
```js
if (!key in obj) {} // ✗ avoid
```
* **Evitar uso inncesario de `.call()` y `.apply()`.**
eslint: [`no-useless-call`](http://eslint.org/docs/rules/no-useless-call)
```js
sum.call(null, 1, 2, 3) // ✗ avoid
```
* **Evitar usar constructores innecesarios.**
eslint: [`no-useless-computed-key`](http://eslint.org/docs/rules/no-useless-computed-key)
```js
const user = { ['name']: 'John Doe' } // ✗ avoid
const user = { name: 'John Doe' } // ✓ ok
```
* **Evitar uso inncesario de escapado de text.**
eslint: [`no-useless-escape`](http://eslint.org/docs/rules/no-useless-escape)
```js
let message = 'Hell\o' // ✗ avoid
```
* **Renombrar import, export o destructuración con el mismo nombre no esta permitido**
eslint: [`no-useless-rename`](http://eslint.org/docs/rules/no-useless-rename)
```js
import { config as config } from './config' // ✗ avoid
import { config } from './config' // ✓ ok
```
* **Evitar espacios en blanco antes de una propiedad.**
eslint: [`no-whitespace-before-property`](http://eslint.org/docs/rules/no-whitespace-before-property)
```js
user .name // ✗ avoid
user.name // ✓ ok
```
* **Evitar uso de sentencia `with`.**
eslint: [`no-with`](http://eslint.org/docs/rules/no-with)
```js
with (val) {...} // ✗ avoid
```
* **Mantener consistencia de nuevas lineas entre las propiedades de un objecto .**
eslint: [`object-property-newline`](http://eslint.org/docs/rules/object-property-newline)
```js
const user = {
name: 'Jane Doe', age: 30,
username: 'jdoe86' // ✗ avoid
}
const user = { name: 'Jane Doe', age: 30, username: 'jdoe86' } // ✓ ok
const user = {
name: 'Jane Doe',
age: 30,
username: 'jdoe86'
} // ✓ ok
```
* **Evitar espacios de relleno entre bloques.**
eslint: [`padded-blocks`](http://eslint.org/docs/rules/padded-blocks)
```js
if (user) {
// ✗ avoid
const name = getName()
}
if (user) {
const name = getName() // ✓ ok
}
```
* **Evitar espacios en blanco entre el operador de propagacion y la expresion**
eslint: [`rest-spread-spacing`](http://eslint.org/docs/rules/rest-spread-spacing)
```js
fn(... args) // ✗ avoid
fn(...args) // ✓ ok
```
* **Punto y coma (semicolon) debe tener un espacio en blanco despues y no antes.**
eslint: [`semi-spacing`](http://eslint.org/docs/rules/semi-spacing)
```js
for (let i = 0 ;i < items.length ;i++) {...} // ✗ avoid
for (let i = 0; i < items.length; i++) {...} // ✓ ok
```
* **Mantener espacio despues de los bloques.**
eslint: [`space-before-blocks`](http://eslint.org/docs/rules/space-before-blocks)
```js
if (admin){...} // ✗ avoid
if (admin) {...} // ✓ ok
```
* **Evitar espacios en blanco entre paréntesis.**
eslint: [`space-in-parens`](http://eslint.org/docs/rules/space-in-parens)
```js
getName( name ) // ✗ avoid
getName(name) // ✓ ok
```
* **Operador unario debe tener espacio en blanco despues.**
eslint: [`space-unary-ops`](http://eslint.org/docs/rules/space-unary-ops)
```js
typeof!admin // ✗ avoid
typeof !admin // ✓ ok
```
* **Usar espacios dentro de comentarios.**
eslint: [`spaced-comment`](http://eslint.org/docs/rules/spaced-comment)
```js
//comment // ✗ avoid
// comment // ✓ ok
/*comment*/ // ✗ avoid
/* comment */ // ✓ ok
```
* **Evitar espacios en blanco dentro de placeholders de plantillas literales.**
eslint: [`template-curly-spacing`](http://eslint.org/docs/rules/template-curly-spacing)
```js
const message = `Hello, ${ name }` // ✗ avoid
const message = `Hello, ${name}` // ✓ ok
```
* **Usar `isNaN()` cuando se desea chequear `NaN`.**
eslint: [`use-isnan`](http://eslint.org/docs/rules/use-isnan)
```js
if (price === NaN) { } // ✗ avoid
if (isNaN(price)) { } // ✓ ok
```
* **`typeof` debe ser comparado con una cadena de texto valida.**
eslint: [`valid-typeof`](http://eslint.org/docs/rules/valid-typeof)
```js
typeof name === 'undefimed' // ✗ avoid
typeof name === 'undefined' // ✓ ok
```
* **Expressiones Funciones inmediatamente invocadas (IIFEs) deben ser envueltas en paréntesis.**
eslint: [`wrap-iife`](http://eslint.org/docs/rules/wrap-iife)
```js
const getName = function () { }() // ✗ avoid
const getName = (function () { }()) // ✓ ok
const getName = (function () { })() // ✓ ok
```
* **El `*` en expresiones `yield*` deben tener un espacio en blanco antes y despues.**
eslint: [`yield-star-spacing`](http://eslint.org/docs/rules/yield-star-spacing)
```js
yield* increment() // ✗ avoid
yield * increment() // ✓ ok
```
* **Evitar condiciones Yoda.**
eslint: [`yoda`](http://eslint.org/docs/rules/yoda)
```js
if (42 === age) { } // ✗ avoid
if (age === 42) { } // ✓ ok
```
## Puntos y comas (semicolons)
* Sin puntos y comas. (see: [1](http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding), [2](http://inimino.org/%7Einimino/blog/javascript_semicolons), [3](https://www.youtube.com/watch?v=gsfbh17Ax9I))

@@ -257,0 +1271,0 @@

# JavaScript Standard Style
Translations: [English](../RULES.md), [Spanish](RULES-esla.md), [繁體中文](RULES-zhtw.md)
Translations: [English](../RULES.md), [Spanish](RULES-esla.md), [繁體中文](RULES-zhtw.md), [简体中文](RULES-zhcn.md)

@@ -5,0 +5,0 @@ [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

# JavaScript Standard Style
翻譯: [English](../RULES.md)、[Português](RULES-ptbr.md)、[Spanish](RULES-esla.md)
翻譯: [English](../RULES.md)、[Português](RULES-ptbr.md)、[Spanish](RULES-esla.md)、[简体中文](RULES-zhcn.md)

@@ -5,0 +5,0 @@ [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

{
"name": "standard",
"description": "JavaScript Standard Style",
"version": "10.0.0-beta.2",
"version": "10.0.0",
"author": {

@@ -15,11 +15,11 @@ "email": "feross@feross.org",

"dependencies": {
"eslint": "~3.18.0",
"eslint-config-standard": "8.0.0-beta.2",
"eslint": "~3.19.0",
"eslint-config-standard": "10.0.0",
"eslint-config-standard-jsx": "3.3.0",
"eslint-plugin-import": "~2.2.0",
"eslint-plugin-node": "~4.1.0",
"eslint-plugin-node": "~4.2.2",
"eslint-plugin-promise": "~3.5.0",
"eslint-plugin-react": "~6.10.0",
"eslint-plugin-standard": "~2.1.1",
"standard-engine": "~5.4.0"
"eslint-plugin-standard": "~2.2.0",
"standard-engine": "~7.0.0"
},

@@ -29,2 +29,3 @@ "devDependencies": {

"cross-spawn": "^5.0.1",
"eslint-index": "^1.3.0",
"minimist": "^1.2.0",

@@ -39,3 +40,3 @@ "mkdirp": "^0.5.1",

},
"homepage": "http://standardjs.com",
"homepage": "https://standardjs.com",
"keywords": [

@@ -73,2 +74,5 @@ "JavaScript Standard Style",

"scripts": {
"show-rules": "eslint-index eslintrc.json",
"show-rules-disabled": "eslint-index eslintrc.json --status omitted off",
"show-summary": "eslint-index eslintrc.json --format table",
"test": "./bin/cmd.js --verbose && tape test/*.js",

@@ -75,0 +79,0 @@ "test-disabled": "npm test -- --disabled",

<h1 align="center">
<a href="http://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<a href="https://standardjs.com"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard - JavaScript Style Guide" width="200"></a>
<br>

@@ -10,6 +10,6 @@ JavaScript Standard Style

<p align="center">
<a href="https://travis-ci.org/feross/standard"><img src="https://img.shields.io/travis/feross/standard/master.svg" alt="Travis"></a>
<a href="http://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
<a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/dm/standard.svg" alt="npm downloads"></a>
<a href="https://travis-ci.org/feross/standard"><img src="https://img.shields.io/travis/feross/standard/master.svg" alt="travis"></a>
<a href="https://www.npmjs.com/package/standard"><img src="https://img.shields.io/npm/v/standard.svg" alt="npm version"></a>
<a href="https://www.npmjs.com/package/eslint-config-standard"><img src="https://img.shields.io/npm/dm/eslint-config-standard.svg" alt="npm downloads"></a>
<a href="https://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a>
</p>

@@ -20,8 +20,6 @@

<p align="center">
<em>
Translations:
<a href="docs/README-ptbr.md">Português</a>,
<a href="docs/README-esla.md">Spanish</a>,
<a href="docs/README-zhtw.md">繁體中文</a>
</em>
Translations:
<a href="docs/README-ptbr.md">Português</a>,
<a href="docs/README-esla.md">Spanish</a>,
<a href="docs/README-zhtw.md">繁體中文</a>
</p>

@@ -31,12 +29,16 @@

No decisions to make. No `.eslintrc`, `.jshintrc`, or `.jscsrc` files to manage. It just
works.
## JavaScript style guide, with linter & automatic code fixer
This module saves you (and others!) time in two ways:
This module saves you (and others!) time in three ways:
- **No configuration.** The easiest way to enforce consistent style in your
project. Just drop it in.
- **Catch style errors before they're submitted in PRs.** Saves precious code
review time by eliminating back-and-forth between maintainer and contributor.
- **Automatically format code.** Just run `standard --fix` and say goodbye to
messy or inconsistent code.
- **Catch style issues & programmer errors early.** Save precious code review
time by eliminating back-and-forth between reviewer & contributor.
No decisions to make. No `.eslintrc`, `.jshintrc`, or `.jscsrc` files to manage. It just
works.
Install with:

@@ -178,8 +180,10 @@

This module saves you time in two ways:
This module saves you (and others!) time in three ways:
- **No configuration.** The easiest way to enforce consistent style in your
project. Just drop it in.
- **Catch style errors before they're submitted in PRs.** Saves precious code
review time by eliminating back-and-forth between maintainer and contributor.
- **Automatically format code.** Just run `standard --fix` and say goodbye to
messy or inconsistent code.
- **Catch style issues & programmer errors early.** Save precious code review
time by eliminating back-and-forth between reviewer & contributor.

@@ -212,3 +216,3 @@ Adopting `standard` style means ranking the importance of code clarity and

[<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/nodesource.png>](https://nodesource.com) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/greenkeeper.png>](https://greenkeeper.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/karma.png>](https://karma-runner.github.io) | [<img width=150 src=https://cdn.rawgit.com/feross/standard/master/docs/logos/taser.png>](https://www.taser.com) |
|---|---|---|---|---|
|---|---|---|---|

@@ -304,12 +308,12 @@ In addition to companies, many community members use `standard` on packages that

[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
[![JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
```md
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
[![JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
```
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](http://standardjs.com/)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
```md
[![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](http://standardjs.com/)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
```

@@ -615,17 +619,23 @@

Lint the provided source `text` to enforce JavaScript Standard Style. An `opts` object may
be provided:
Lint the provided source `text`. An `opts` object may be provided:
```js
var opts = {
{
cwd: '', // current working directory (default: process.cwd())
filename: '', // path of the file containing the text being linted (optional, though some eslint plugins require it)
fix: false, // automatically fix problems
globals: [], // global variables to declare
plugins: [], // eslint plugins
envs: [], // eslint environment
parser: '' // js parser (e.g. babel-eslint)
globals: [], // custom global variables to declare
plugins: [], // custom eslint plugins
envs: [], // custom eslint environment
parser: '' // custom js parser (e.g. babel-eslint)
}
```
The `callback` will be called with an `Error` and `results` object:
Additional options may be loaded from a `package.json` if it's found for the
current working directory.
The `callback` will be called with an `Error` and `results` object.
The `results` object will contain the following properties:
```js

@@ -640,3 +650,4 @@ var results = {

errorCount: 0,
warningCount: 0
warningCount: 0,
output: '' // fixed source code (only present with {fix: true} option)
}

@@ -649,2 +660,7 @@ ],

### `results = standard.lintTextSync(text, [opts])`
Synchronous version of `standard.lintText()`. If an error occurs, an exception is
thrown. Otherwise, a `results` object is returned.
### `standard.lintFiles(files, [opts], callback)`

@@ -683,3 +699,3 @@

- **[snazzy](https://github.com/feross/snazzy)** - pretty terminal output for standard
- **[standard-www](https://github.com/feross/standard-www)** - code for http://standardjs.com
- **[standard-www](https://github.com/feross/standard-www)** - code for https://standardjs.com
- **[semistandard](https://github.com/Flet/semistandard)** - standard, with semicolons (if you must)

@@ -686,0 +702,0 @@

# JavaScript Standard Style
Translations: [Português](docs/RULES-ptbr.md), [Spanish](docs/RULES-esla.md), [繁體中文](docs/RULES-zhtw.md)
Translations: [Português](docs/RULES-ptbr.md), [Spanish](docs/RULES-esla.md), [繁體中文](docs/RULES-zhtw.md), [简体中文](RULES-zhcn.md)

@@ -5,0 +5,0 @@ [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc