<commit_before># ESLint-plugin-Meteor

[![Build Status][travis-image]][travis-url]
[![Coverage Status][coverage-image]][coverage-url]
[![Code Climate][climate-image]][climate-url]
[![Dependency Status][deps-image]][deps-url]

[![Join the chat at https://gitter.im/dferber90/eslint-plugin-meteor][gitter-image]][gitter-url]
[![Maintenance Status][status-image]][status-url]
[![semantic-release][semantic-release-image]][semantic-release]
[![Commitizen friendly][commitizen-image]][commitizen]

[![NPM version][npm-image]][npm-url]
[![NPM downloads][npm-downloads-image]][npm-url]


Meteor specific linting rules for ESLint

![Example](docs/media/pub.gif)
*This gif shows integration of ESLint-plugin-Meteor into Atom with [linter](https://atom.io/packages/linter) and [linter-eslint](https://atom.io/packages/linter-eslint). Find out more in the [setup guide](docs/SETUP_DEVELOPMENT.md).*


# Installation

Install [ESLint](https://www.github.com/eslint/eslint) either locally or globally.

```sh
$ npm install eslint
```

If you installed `ESLint` globally, you have to install Meteor plugin globally too. Otherwise, install it locally.

```sh
$ npm install eslint-plugin-meteor
```

# Configuration

Add `plugins` section and specify ESLint-plugin-Meteor as a plugin.

```js
{
  "plugins": [
    "meteor"
  ]
}
```


Finally, enable all of the rules that you would like to use.

```js
{
  "rules": {

    // Core API
    "meteor/globals": 2,
    "meteor/core": 2,
    "meteor/pubsub": 2,
    "meteor/methods": 2,
    "meteor/check": 2,
    "meteor/connections": 2,
    "meteor/collections": 2,

    // Best Practices
    "meteor/audit-argument-checks": 2,
    "meteor/no-session": 2,
    "meteor/no-blaze-lifecycle-assignment": 2,
    "meteor/no-zero-timeout": 2
    "meteor/blaze-consistent-eventmap-params": 2,
  }
}
```

For a more thorough introduction, read [setting up a Meteor project](docs/SETUP_DEVELOPMENT.md).
A complete example of how to set up ESLint-plugin-Meteor in a Meteor project can be found [here](https://github.com/wekan/wekan/pull/370).<commit_msg>docs(README): add missing comma<commit_after># ESLint-plugin-Meteor

[![Build Status][travis-image]][travis-url]
[![Coverage Status][coverage-image]][coverage-url]
[![Code Climate][climate-image]][climate-url]
[![Dependency Status][deps-image]][deps-url]

[![Join the chat at https://gitter.im/dferber90/eslint-plugin-meteor][gitter-image]][gitter-url]
[![Maintenance Status][status-image]][status-url]
[![semantic-release][semantic-release-image]][semantic-release]
[![Commitizen friendly][commitizen-image]][commitizen]

[![NPM version][npm-image]][npm-url]
[![NPM downloads][npm-downloads-image]][npm-url]


Meteor specific linting rules for ESLint

![Example](docs/media/pub.gif)
*This gif shows integration of ESLint-plugin-Meteor into Atom with [linter](https://atom.io/packages/linter) and [linter-eslint](https://atom.io/packages/linter-eslint). Find out more in the [setup guide](docs/SETUP_DEVELOPMENT.md).*


# Installation

Install [ESLint](https://www.github.com/eslint/eslint) either locally or globally.

```sh
$ npm install eslint
```

If you installed `ESLint` globally, you have to install Meteor plugin globally too. Otherwise, install it locally.

```sh
$ npm install eslint-plugin-meteor
```

# Configuration

Add `plugins` section and specify ESLint-plugin-Meteor as a plugin.

```js
{
  "plugins": [
    "meteor"
  ]
}
```


Finally, enable all of the rules that you would like to use.

```js
{
  "rules": {

    // Core API
    "meteor/globals": 2,
    "meteor/core": 2,
    "meteor/pubsub": 2,
    "meteor/methods": 2,
    "meteor/check": 2,
    "meteor/connections": 2,
    "meteor/collections": 2,

    // Best Practices
    "meteor/audit-argument-checks": 2,
    "meteor/no-session": 2,
    "meteor/no-blaze-lifecycle-assignment": 2,
    "meteor/no-zero-timeout": 2,
    "meteor/blaze-consistent-eventmap-params": 2,
  }
}
```

For a more thorough introduction, read [setting up a Meteor project](docs/SETUP_DEVELOPMENT.md).
A complete example of how to set up ESLint-plugin-Meteor in a Meteor project can be found [here](https://github.com/wekan/wekan/pull/370).
{'fraction_non_alphanumeric': 0.1623828969493154, 'fraction_numerical': 0.00816718712466971, 'mean_word_length': 4.478947368421053, 'pattern_counts': {'":': 28, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '841839', 'n_tokens_mistral': 1604, 'n_tokens_neox': 1470, 'n_words': 332}