eslint-config-mitmaro
Advanced tools
Comparing version 4.0.0 to 5.0.0
@@ -6,2 +6,14 @@ # Change Log | ||
## [5.0.0] - 2019-06-16 | ||
### Added | ||
- Console configuration | ||
- [JSDoc](https://github.com/gajus/eslint-plugin-jsdoc) plugin | ||
### Changed | ||
- Drop support for Node < 8.3 | ||
- Drop support for Node 6 | ||
- Functional system to setup configurations | ||
- Updated to latest rules | ||
- Updated plugins to the latest versions | ||
## [4.0.0] - 2018-07-28 | ||
@@ -8,0 +20,0 @@ ### Added |
{ | ||
"name": "eslint-config-mitmaro", | ||
"version": "4.0.0", | ||
"description": "MitMaro's ESLint configurations", | ||
"main": "config/common.js", | ||
"version": "5.0.0", | ||
"description": "mitmaro's personal ESLint configurations", | ||
"main": "src/index.js", | ||
"engines": { | ||
"node": ">= 8.3.0" | ||
}, | ||
"files": [ | ||
"config", | ||
"rules" | ||
"src" | ||
], | ||
"scripts": { | ||
"eslint": "eslint .", | ||
"test": "eslint . && scripts/test.bash" | ||
"test": "eslint ." | ||
}, | ||
@@ -33,17 +35,16 @@ "repository": { | ||
"@mitmaro/build-scripts": "^0.1.5", | ||
"babel-eslint": "^8.2.6", | ||
"eslint": "^5.2.0", | ||
"eslint-find-rules": "^3.3.1", | ||
"eslint-plugin-babel": "^5.1.0", | ||
"eslint-plugin-chai-expect": "^1.1.1", | ||
"@typescript-eslint/eslint-plugin": "^1.10.2", | ||
"@typescript-eslint/parser": "^1.10.2", | ||
"eslint": "^5.16.0", | ||
"eslint-plugin-babel": "^5.3.0", | ||
"eslint-plugin-chai-expect": "^2.0.1", | ||
"eslint-plugin-filenames": "^1.3.2", | ||
"eslint-plugin-mocha": "^5.1.0", | ||
"eslint-plugin-node": "^7.0.1", | ||
"eslint-plugin-promise": "^3.8.0", | ||
"eslint-plugin-react": "^7.10.0", | ||
"eslint-plugin-jsdoc": "^8.0.1", | ||
"eslint-plugin-mocha": "^5.3.0", | ||
"eslint-plugin-node": "^9.1.0", | ||
"eslint-plugin-promise": "^4.1.1", | ||
"eslint-plugin-react": "^7.13.0", | ||
"eslint-plugin-security": "^1.4.0", | ||
"eslint-plugin-typescript": "^0.12.0", | ||
"typescript": "^2.9.2", | ||
"typescript-eslint-parser": "^17.0.1" | ||
"typescript": "^3.5.2" | ||
} | ||
} |
166
README.md
@@ -12,84 +12,144 @@ # eslint-config-mitmaro | ||
There are two ESLint configurations for your usage. | ||
This project provides an interface for generating ESLint configurations. | ||
### General Setup | ||
```javascript | ||
// .eslintrc.js | ||
const eslintConfig = require('eslint-config-mitmaro'); | ||
1. `npm install --save-dev eslint-config-mitmaro eslint-plugin-filenames eslint-plugin-promise eslint-plugin-security eslint` | ||
module.exports = eslintConfig( | ||
[ | ||
'node', | ||
'ecmascript-9', | ||
// other configurations | ||
], | ||
{ | ||
root: true, | ||
// other base configurations | ||
}, | ||
{ | ||
// options | ||
} | ||
); | ||
### `eslint-config-mitmaro` | ||
``` | ||
The default export contains a set of common ESLint rules, including ECMAScript 6+. | ||
### General Setup | ||
1. add `"extends": "mitmaro"` to your ESLint config file | ||
Install this project and it's base dependencies: | ||
### `eslint-config-mitmaro/config/babel` | ||
``` | ||
npm install --save-dev \ | ||
eslint-config-mitmaro \ | ||
eslint \ | ||
eslint-plugin-filenames \ | ||
eslint-plugin-promise \ | ||
eslint-plugin-security | ||
``` | ||
### Babel configuration | ||
Adds support for `babel-eslint` and the [ESLint babel plugin][5]. | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. `npm install --save-dev babel-eslint eslint-plugin-babel` | ||
1. add `"extends": ["mitmaro", "mitmaro/config/babel"]` to your ESLint config file | ||
Add `'babel'` to configurations array and install the required dependencies: | ||
### `eslint-config-mitmaro/config/typescript` | ||
``` | ||
npm install --save-dev babel-eslint eslint-plugin-babel | ||
``` | ||
Adds support for `typescript-eslint-parser` and the [ESLint Typescript Plugin][eslint-plugin-typescript]. | ||
### Typescript configuration | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. `npm install --save-dev babel-eslint eslint-plugin-typescript` | ||
1. add `"extends": ["mitmaro", "mitmaro/config/typescript"]` to your ESLint config file | ||
Adds support for `@typescript-eslint/parser` and the [ESLint Typescript Plugin][eslint-plugin-typescript]. | ||
### `eslint-config-mitmaro/config/chai` | ||
Add `'typescript'` to configurations array and install the required dependencies: | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. add `"extends": "mitmaro/config/chai"` to your ESLint config file | ||
``` | ||
npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser | ||
``` | ||
### `eslint-config-mitmaro/config/ecmascript-6` | ||
### Chai Expect configuration | ||
Adds support for ECMAScript 6 features and sets the source type to `module`. | ||
Adds support for the [ESLint Chai Expect Plugin][eslint-plugin-chai-expect]. | ||
1. add `"extends": ["mitmaro", "mitmaro/config/ecmascript-6"]` to your ESLint config file | ||
Add `'chai'` to configurations array and install the required dependencies: | ||
### `eslint-config-mitmaro/config/ecmascript-7` | ||
``` | ||
npm install --save-dev eslint-plugin-chai-expect | ||
``` | ||
Adds support for ECMAScript 7 features. This config automatically brings in `eslint-config-mitmaro/config/ecmascript-6`. | ||
### ECMAScript 7 configuration | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. add `"extends": ["mitmaro", "mitmaro/config/ecmascript-7"]` to your ESLint config file | ||
Adds support for ECMAScript 7 features. | ||
### `eslint-config-mitmaro/config/ecmascript-8` | ||
Add `'ecmascript-7'` to configurations array. | ||
Adds support for ECMAScript 8 features. This config automatically brings in `eslint-config-mitmaro/config/ecmascript-7`. | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. add `"extends": ["mitmaro", "mitmaro/config/ecmascript-8]` to your ESLint config file | ||
### ECMAScript 8 configuration | ||
### `eslint-config-mitmaro/config/ecmascript-9` | ||
Adds support for ECMAScript 8 features including previous versions. | ||
Adds support for ECMAScript 9 features. This config automatically brings in `eslint-config-mitmaro/config/ecmascript-8`. | ||
Add `'ecmascript-8'` to configurations array. | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. add `"extends": ["mitmaro", "mitmaro/config/ecmascript-9]` to your ESLint config file | ||
### ECMAScript 9 configuration | ||
### `eslint-config-mitmaro/config/mocha` | ||
Adds support for ECMAScript 9 features including previous versions. | ||
Adds support for [mocha][6], disabling certain rules and adding the [ESLint mocha plugin][7]. | ||
Add `'ecmascript-9'` to configurations array. | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. `npm install --save-dev eslint-plugin-mocha` | ||
1. add `"extends": "mitmaro/config/mocha"` to your ESLint config file | ||
1. add `"mitmaro/config/typescript-mocha"` to your ESLint config file to support TypeScript | ||
### Mocha configuration | ||
### `eslint-config-mitmaro/config/node` | ||
Adds support for [mocha][6] and adds the [ESLint mocha plugin][7]. | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. add `"extends": "mitmaro/config/node"` to your ESLint config file | ||
Add `'mocha'` to configurations array and install the required dependencies: | ||
_Note: You should include this after `ecmascript-*` configurations._ | ||
``` | ||
npm install --save-dev eslint-plugin-mocha | ||
``` | ||
### `eslint-config-mitmaro/config/react` | ||
### Node.js configuration | ||
1. Ensure you have installed the dependencies from General Setup | ||
1. `npm install --save-dev eslint-plugin-react` | ||
1. add `"extends": "mitmaro/config/react"` to your ESLint config file | ||
Adds support for Node.js and adds the [ESLint node plugin][eslint-plugin-node]. | ||
Add `'node'` to configurations array and install the required dependencies: | ||
``` | ||
npm install --save-dev eslint-plugin-node | ||
``` | ||
### Console applications configuration | ||
Extends the Node.js configuration to modify rules for console applications. | ||
Add `'console'` to configurations array. | ||
### React configuration | ||
Adds support for React and adds the [ESLint react plugin][eslint-plugin-react]. | ||
Add `'react'` to configurations array and install the required dependencies: | ||
``` | ||
npm install --save-dev eslint-plugin-react | ||
``` | ||
#### Options | ||
* `react.version` to set a custom React version. Default to auto-detect. | ||
### JSDoc configuration | ||
Adds support for JSDoc and adds the [ESLint jsdoc plugin][eslint-plugin-jsdoc]. | ||
Add `'jsdoc'` to configurations array and install the required dependencies: | ||
``` | ||
npm install --save-dev eslint-plugin-jsdoc | ||
``` | ||
#### Options | ||
* `jsdoc.ignorePrivate` - default to `true`. | ||
* `jsdoc.additionalTagNames` - default to and empty array (`[]`). | ||
## Versioning | ||
@@ -101,10 +161,2 @@ | ||
## Contributing | ||
Add new rule definitions under the files located in `rules` ensuring to keep the rule correctly categorized and in the | ||
same order as defined on the [ESLint rules][9] page. | ||
This project self-lints and ensure that all file paths are correct. You can run these checks with the `npm run test` | ||
command. | ||
## License | ||
@@ -120,2 +172,6 @@ | ||
[eslint-plugin-typescript]:https://github.com/nzakas/eslint-plugin-typescript | ||
[eslint-plugin-chai-expect]:https://github.com/Turbo87/eslint-plugin-chai-expect | ||
[eslint-plugin-node]:https://github.com/mysticatea/eslint-plugin-node | ||
[eslint-plugin-react]:https://github.com/yannickcr/eslint-plugin-react | ||
[eslint-plugin-jsdoc]:https://github.com/gajus/eslint-plugin-jsdoc | ||
[6]:mochajs.org | ||
@@ -122,0 +178,0 @@ [7]:https://github.com/lo1tuma/eslint-plugin-mocha |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40865
14
42
1203
179
2
1