eslint-plugin-flowtype
Advanced tools
Comparing version 2.15.0 to 2.16.0
@@ -5,2 +5,17 @@ # Change Log | ||
<a name="2.16.0"></a> | ||
# [2.16.0](https://github.com/gajus/eslint-plugin-flowtype/compare/v2.15.0...v2.16.0) (2016-09-07) | ||
### Bug Fixes | ||
* `delimiter-dangle` with indexers ([9ff6f37](https://github.com/gajus/eslint-plugin-flowtype/commit/9ff6f37)) | ||
* reported locations in `delimiter-dangle` ([06fbd92](https://github.com/gajus/eslint-plugin-flowtype/commit/06fbd92)) | ||
### Features | ||
* add `delimiter-dangle` for trailing commas/semicolons ([788f480](https://github.com/gajus/eslint-plugin-flowtype/commit/788f480)) | ||
<a name="2.15.0"></a> | ||
@@ -7,0 +22,0 @@ # [2.15.0](https://github.com/gajus/eslint-plugin-flowtype/compare/v2.14.3...v2.15.0) (2016-09-05) |
@@ -67,2 +67,6 @@ 'use strict'; | ||
var _delimiterDangle = require('./rules/delimiterDangle'); | ||
var _delimiterDangle2 = _interopRequireDefault(_delimiterDangle); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -74,2 +78,3 @@ | ||
'define-flow-type': _defineFlowType2.default, | ||
'delimiter-dangle': _delimiterDangle2.default, | ||
'generic-spacing': _genericSpacing2.default, | ||
@@ -92,2 +97,3 @@ 'no-weak-types': _noWeakTypes2.default, | ||
'define-flow-type': 0, | ||
'delimiter-dangle': 0, | ||
'generic-spacing': 0, | ||
@@ -94,0 +100,0 @@ 'no-weak-types': 0, |
{ | ||
"name": "eslint-plugin-flowtype", | ||
"description": "Flowtype linting rules for ESLint.", | ||
"version": "2.15.0", | ||
"version": "2.16.0", | ||
"main": "./dist/index.js", | ||
@@ -6,0 +6,0 @@ "repository": { |
432
README.md
@@ -23,2 +23,3 @@ <a name="eslint-plugin-flowtype"></a> | ||
* [`semi`](#eslint-plugin-flowtype-rules-semi) | ||
* [`delimiter-dangle`](#eslint-plugin-flowtype-rules-delimiter-dangle) | ||
* [`space-after-type-colon`](#eslint-plugin-flowtype-rules-space-after-type-colon) | ||
@@ -897,2 +898,433 @@ * [`space-before-type-colon`](#eslint-plugin-flowtype-rules-space-before-type-colon) | ||
<a name="eslint-plugin-flowtype-rules-delimiter-dangle"></a> | ||
### <code>delimiter-dangle</code> | ||
_The `--fix` option on the command line automatically fixes problems reported by this rule._ | ||
Enforces consistent use of trailing commas in Object and Tuple annotations. | ||
This rule takes one argument which mirrors ESLint's default `comma-dangle` rule. | ||
If it is `'never'` then a problem is raised when there is a trailing comma. | ||
If it is `'always'` then a problem is raised when there is no trailing comma. | ||
If it is `'always-multiline'` then a problem is raised when there is no trailing comma on a multi-line definition, or there _is_ a trailing comma on a single-line definition. | ||
If it is `'only-multiline'` then a problem is raised when there is a trailing comma on a single-line definition. It allows, but does not enforce, trailing commas on multi-line definitions. | ||
The default value is `'never'`. | ||
The following patterns are considered problems: | ||
```js | ||
type X = { foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { foo: string; } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { | ||
foo: string, | ||
} | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always"] | ||
type X = { foo: string } | ||
// Message: Missing trailing delimiter | ||
// Options: ["always"] | ||
type X = { | ||
foo: string | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { | ||
foo: string | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["only-multiline"] | ||
type X = { foo: string; } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { [key: string]: number, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always"] | ||
type X = { [key: string]: number } | ||
// Message: Missing trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { [key: string]: number, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { | ||
[key: string]: number | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["only-multiline"] | ||
type X = { [key: string]: number; } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { [key: string]: number, foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { | ||
[key: string]: number, | ||
foo: string, | ||
} | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { | ||
[key: string]: number, | ||
aReallyLongPropertyNameHere: string, | ||
} | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always"] | ||
type X = { [key: string]: number, foo: string } | ||
// Message: Missing trailing delimiter | ||
// Options: ["always"] | ||
type X = { | ||
[key: string]: number; | ||
foo: string | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { [key: string]: number, foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { | ||
[key: string]: number, | ||
foo: string | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["only-multiline"] | ||
type X = { [key: string]: number, foo: string, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { foo: string, [key: string]: number, } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { | ||
foo: string, | ||
[key: string]: number, | ||
} | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = { | ||
aReallyLongPropertyNameHere: string, | ||
[key: string]: number, | ||
} | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always"] | ||
type X = { foo: string, [key: string]: number } | ||
// Message: Missing trailing delimiter | ||
// Options: ["always"] | ||
type X = { foo: string; [key: string]: number } | ||
// Message: Missing trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { foo: string, [key: string]: number; } | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = { | ||
foo: string, | ||
[key: string]: number | ||
} | ||
// Message: Missing trailing delimiter | ||
// Options: ["only-multiline"] | ||
type X = { foo: string, [key: string]: number; } | ||
// Message: Unexpected trailing delimiter | ||
type X = [string, number,] | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = [string, number,] | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["never"] | ||
type X = [ | ||
string, | ||
number, | ||
] | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always"] | ||
type X = [string, number] | ||
// Message: Missing trailing delimiter | ||
// Options: ["always"] | ||
type X = [ | ||
string, | ||
number | ||
] | ||
// Message: Missing trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = [string, number,] | ||
// Message: Unexpected trailing delimiter | ||
// Options: ["always-multiline"] | ||
type X = [ | ||
foo, string | ||
] | ||
// Message: Missing trailing delimiter | ||
// Options: ["only-multiline"] | ||
type X = [ number, string, ] | ||
// Message: Unexpected trailing delimiter | ||
``` | ||
The following patterns are not considered problems: | ||
```js | ||
type X = { foo: string } | ||
// Options: ["never"] | ||
type X = { foo: string } | ||
// Options: ["always"] | ||
type X = { foo: string, } | ||
// Options: ["always"] | ||
type X = { foo: string; } | ||
// Options: ["never"] | ||
type X = { | ||
foo: string | ||
} | ||
// Options: ["always"] | ||
type X = { | ||
foo: string, | ||
} | ||
// Options: ["always-multiline"] | ||
type X = { foo: string } | ||
// Options: ["always-multiline"] | ||
type X = { | ||
foo: string, | ||
} | ||
// Options: ["always-multiline"] | ||
type X = { | ||
foo: string; | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { foo: string } | ||
// Options: ["only-multiline"] | ||
type X = { | ||
foo: string | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
foo: string, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
foo: string; | ||
} | ||
// Options: ["never"] | ||
type X = {} | ||
// Options: ["always"] | ||
type X = {} | ||
// Options: ["always-multiline"] | ||
type X = {} | ||
// Options: ["only-multiline"] | ||
type X = {} | ||
// Options: ["never"] | ||
type X = { [key: string]: number } | ||
// Options: ["always"] | ||
type X = { [key: string]: number, } | ||
// Options: ["always"] | ||
type X = { [key: string]: number; } | ||
// Options: ["always-multiline"] | ||
type X = { [key: string]: number } | ||
// Options: ["always-multiline"] | ||
type X = { | ||
[key: string]: number, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
[key: string]: number, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
[key: string]: number | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { [key: string]: number } | ||
// Options: ["never"] | ||
type X = { [key: string]: number, foo: string } | ||
// Options: ["always"] | ||
type X = { [key: string]: number, foo: string, } | ||
// Options: ["always"] | ||
type X = { [key: string]: number; foo: string; } | ||
// Options: ["always-multiline"] | ||
type X = { [key: string]: number, foo: string } | ||
// Options: ["always-multiline"] | ||
type X = { | ||
[key: string]: number, | ||
foo: string, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
[key: string]: number, | ||
foo: string, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
[key: string]: number; | ||
foo: string | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { [key: string]: number, foo: string } | ||
// Options: ["never"] | ||
type X = { foo: string, [key: string]: number } | ||
// Options: ["always"] | ||
type X = { foo: string, [key: string]: number, } | ||
// Options: ["always"] | ||
type X = { foo: string; [key: string]: number; } | ||
// Options: ["always-multiline"] | ||
type X = { foo: string, [key: string]: number } | ||
// Options: ["always-multiline"] | ||
type X = { | ||
foo: string, | ||
[key: string]: number, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
foo: string, | ||
[key: string]: number, | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { | ||
foo: string; | ||
[key: string]: number | ||
} | ||
// Options: ["only-multiline"] | ||
type X = { foo: string, [key: string]: number } | ||
type X = [string, number] | ||
// Options: ["never"] | ||
type X = [string, number] | ||
// Options: ["never"] | ||
type X = [ | ||
string, | ||
number | ||
] | ||
// Options: ["always"] | ||
type X = [string, number,] | ||
// Options: ["always"] | ||
type X = [ | ||
string, | ||
number, | ||
] | ||
// Options: ["always-multiline"] | ||
type X = [ foo, string ] | ||
// Options: ["always-multiline"] | ||
type X = [ | ||
foo, string, | ||
] | ||
// Options: ["only-multiline"] | ||
type X = [ number, string ] | ||
// Options: ["only-multiline"] | ||
type X = [ | ||
number, | ||
string | ||
] | ||
// Options: ["only-multiline"] | ||
type X = [ | ||
number, | ||
string, | ||
] | ||
// Options: ["never"] | ||
type X = [] | ||
// Options: ["always"] | ||
type X = [] | ||
// Options: ["always-multiline"] | ||
type X = [] | ||
// Options: ["only-multiline"] | ||
type X = [] | ||
``` | ||
<a name="eslint-plugin-flowtype-rules-space-after-type-colon"></a> | ||
@@ -899,0 +1331,0 @@ ### <code>space-after-type-colon</code> |
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
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
123911
30
1264
2470