eslint-plugin-flowtype
Advanced tools
Comparing version 2.1.0 to 2.1.1
@@ -1,31 +0,12 @@ | ||
'use strict'; | ||
import requireParameterType from './rules/requireParameterType'; | ||
import requireReturnType from './rules/requireReturnType'; | ||
import spaceAfterTypeColon from './rules/spaceAfterTypeColon'; | ||
import spaceBeforeTypeColon from './rules/spaceBeforeTypeColon'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _requireParameterType = require('./rules/requireParameterType'); | ||
var _requireParameterType2 = _interopRequireDefault(_requireParameterType); | ||
var _requireReturnType = require('./rules/requireReturnType'); | ||
var _requireReturnType2 = _interopRequireDefault(_requireReturnType); | ||
var _spaceAfterTypeColon = require('./rules/spaceAfterTypeColon'); | ||
var _spaceAfterTypeColon2 = _interopRequireDefault(_spaceAfterTypeColon); | ||
var _spaceBeforeTypeColon = require('./rules/spaceBeforeTypeColon'); | ||
var _spaceBeforeTypeColon2 = _interopRequireDefault(_spaceBeforeTypeColon); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = { | ||
export default { | ||
rules: { | ||
'require-parameter-type': _requireParameterType2.default, | ||
'require-return-type': _requireReturnType2.default, | ||
'space-after-type-colon': _spaceAfterTypeColon2.default, | ||
'space-before-type-colon': _spaceBeforeTypeColon2.default | ||
'require-parameter-type': requireParameterType, | ||
'require-return-type' : requireReturnType, | ||
'space-after-type-colon': spaceAfterTypeColon, | ||
'space-before-type-colon': spaceBeforeTypeColon | ||
}, | ||
@@ -39,3 +20,1 @@ rulesConfig: { | ||
}; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=index.js.map |
@@ -1,25 +0,13 @@ | ||
'use strict'; | ||
import _ from 'lodash'; | ||
import { | ||
getParameterName, | ||
iterateFunctionNodes | ||
} from './../utilities'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
export default iterateFunctionNodes((context) => { | ||
return (functionNode) => { | ||
_.forEach(functionNode.params, (identifierNode) => { | ||
const parameterName = getParameterName(identifierNode, context); | ||
const typeAnnotation = _.get(identifierNode, 'typeAnnotation') || _.get(identifierNode, 'left.typeAnnotation'); | ||
var _get2 = require('lodash/get'); | ||
var _get3 = _interopRequireDefault(_get2); | ||
var _forEach2 = require('lodash/forEach'); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _utilities = require('./../utilities'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = (0, _utilities.iterateFunctionNodes)(function (context) { | ||
return function (functionNode) { | ||
(0, _forEach3.default)(functionNode.params, function (identifierNode) { | ||
var parameterName = (0, _utilities.getParameterName)(identifierNode, context); | ||
var typeAnnotation = (0, _get3.default)(identifierNode, 'typeAnnotation') || (0, _get3.default)(identifierNode, 'left.typeAnnotation'); | ||
if (!typeAnnotation) { | ||
@@ -31,3 +19,1 @@ context.report(identifierNode, 'Missing "' + parameterName + '" parameter type annotation.'); | ||
}); | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=requireParameterType.js.map |
@@ -1,33 +0,25 @@ | ||
'use strict'; | ||
import _ from 'lodash'; | ||
import { | ||
getParameterName, | ||
iterateFunctionNodes | ||
} from './../utilities'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
export default (context) => { | ||
const annotateReturn = (_.get(context, 'options[0]') || 'always') === 'always'; | ||
const annotateUndefined = (_.get(context, 'options[1].annotateUndefined') || 'never') === 'always'; | ||
var _get2 = require('lodash/get'); | ||
const targetNodes = []; | ||
var _get3 = _interopRequireDefault(_get2); | ||
var _utilities = require('./../utilities'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = function (context) { | ||
var annotateReturn = ((0, _get3.default)(context, 'options[0]') || 'always') === 'always'; | ||
var annotateUndefined = ((0, _get3.default)(context, 'options[1].annotateUndefined') || 'never') === 'always'; | ||
var targetNodes = []; | ||
var registerFunction = function registerFunction(functionNode) { | ||
const registerFunction = (functionNode) => { | ||
targetNodes.push({ | ||
functionNode: functionNode | ||
functionNode | ||
}); | ||
}; | ||
var isUndefinedReturnType = function isUndefinedReturnType(returnNode) { | ||
const isUndefinedReturnType = (returnNode) => { | ||
return returnNode.argument === null || returnNode.argument.name === 'undefined'; | ||
}; | ||
var evaluateFunction = function evaluateFunction(functionNode) { | ||
var targetNode = targetNodes.pop(); | ||
const evaluateFunction = (functionNode) => { | ||
const targetNode = targetNodes.pop(); | ||
@@ -38,4 +30,4 @@ if (functionNode !== targetNode.functionNode) { | ||
var isFunctionReturnUndefined = !targetNode.returnStatementNode || isUndefinedReturnType(targetNode.returnStatementNode); | ||
var isReturnTypeAnnotationUndefined = (0, _get3.default)(targetNode, 'functionNode.returnType.typeAnnotation.type') === 'GenericTypeAnnotation'; | ||
const isFunctionReturnUndefined = !targetNode.returnStatementNode || isUndefinedReturnType(targetNode.returnStatementNode); | ||
const isReturnTypeAnnotationUndefined = _.get(targetNode, 'functionNode.returnType.typeAnnotation.type') === 'GenericTypeAnnotation'; | ||
@@ -53,3 +45,3 @@ if (isFunctionReturnUndefined && isReturnTypeAnnotationUndefined && !annotateUndefined) { | ||
var evaluateNoise = function evaluateNoise() { | ||
const evaluateNoise = () => { | ||
targetNodes.pop(); | ||
@@ -63,3 +55,3 @@ }; | ||
'ClassDeclaration:exit': evaluateNoise, | ||
ClassExpression: registerFunction, | ||
ClassExpression: registerFunction, | ||
'ClassExpression:exit': evaluateNoise, | ||
@@ -70,3 +62,3 @@ FunctionDeclaration: registerFunction, | ||
'FunctionExpression:exit': evaluateFunction, | ||
ReturnStatement: function ReturnStatement(node) { | ||
ReturnStatement: (node) => { | ||
targetNodes[targetNodes.length - 1].returnStatementNode = node; | ||
@@ -76,4 +68,1 @@ } | ||
}; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=requireReturnType.js.map |
@@ -1,29 +0,17 @@ | ||
'use strict'; | ||
import _ from 'lodash'; | ||
import { | ||
getParameterName, | ||
iterateFunctionNodes | ||
} from './../utilities'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
export default iterateFunctionNodes((context) => { | ||
const always = (context.options[0] || 'always') === 'always'; | ||
var _get2 = require('lodash/get'); | ||
return (functionNode) => { | ||
_.forEach(functionNode.params, (identifierNode) => { | ||
const parameterName = getParameterName(identifierNode, context); | ||
const typeAnnotation = _.get(identifierNode, 'typeAnnotation') || _.get(identifierNode, 'left.typeAnnotation'); | ||
var _get3 = _interopRequireDefault(_get2); | ||
var _forEach2 = require('lodash/forEach'); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _utilities = require('./../utilities'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = (0, _utilities.iterateFunctionNodes)(function (context) { | ||
var always = (context.options[0] || 'always') === 'always'; | ||
return function (functionNode) { | ||
(0, _forEach3.default)(functionNode.params, function (identifierNode) { | ||
var parameterName = (0, _utilities.getParameterName)(identifierNode, context); | ||
var typeAnnotation = (0, _get3.default)(identifierNode, 'typeAnnotation') || (0, _get3.default)(identifierNode, 'left.typeAnnotation'); | ||
if (typeAnnotation) { | ||
var spaceAfter = typeAnnotation.typeAnnotation.start - typeAnnotation.start - 1; | ||
const spaceAfter = typeAnnotation.typeAnnotation.start - typeAnnotation.start - 1; | ||
@@ -41,3 +29,1 @@ if (always && spaceAfter > 1) { | ||
}); | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=spaceAfterTypeColon.js.map |
@@ -1,29 +0,17 @@ | ||
'use strict'; | ||
import _ from 'lodash'; | ||
import { | ||
getParameterName, | ||
iterateFunctionNodes | ||
} from './../utilities'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
export default iterateFunctionNodes((context) => { | ||
const always = context.options[0] === 'always'; | ||
var _get2 = require('lodash/get'); | ||
return (functionNode) => { | ||
_.forEach(functionNode.params, (identifierNode) => { | ||
const parameterName = getParameterName(identifierNode, context); | ||
const typeAnnotation = _.get(identifierNode, 'typeAnnotation') || _.get(identifierNode, 'left.typeAnnotation'); | ||
var _get3 = _interopRequireDefault(_get2); | ||
var _forEach2 = require('lodash/forEach'); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _utilities = require('./../utilities'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = (0, _utilities.iterateFunctionNodes)(function (context) { | ||
var always = context.options[0] === 'always'; | ||
return function (functionNode) { | ||
(0, _forEach3.default)(functionNode.params, function (identifierNode) { | ||
var parameterName = (0, _utilities.getParameterName)(identifierNode, context); | ||
var typeAnnotation = (0, _get3.default)(identifierNode, 'typeAnnotation') || (0, _get3.default)(identifierNode, 'left.typeAnnotation'); | ||
if (typeAnnotation) { | ||
var spaceBefore = typeAnnotation.start - identifierNode.end; | ||
const spaceBefore = typeAnnotation.start - identifierNode.end; | ||
@@ -41,3 +29,1 @@ if (always && spaceBefore > 1) { | ||
}); | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=spaceBeforeTypeColon.js.map |
@@ -1,19 +0,9 @@ | ||
'use strict'; | ||
import _ from 'lodash'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _has2 = require('lodash/has'); | ||
var _has3 = _interopRequireDefault(_has2); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = function (identifierNode, context) { | ||
if ((0, _has3.default)(identifierNode, 'name')) { | ||
export default (identifierNode, context) => { | ||
if (_.has(identifierNode, 'name')) { | ||
return identifierNode.name; | ||
} | ||
if ((0, _has3.default)(identifierNode, 'left.name')) { | ||
if (_.has(identifierNode, 'left.name')) { | ||
return identifierNode.left.name; | ||
@@ -30,6 +20,5 @@ } | ||
console.log('identifierNode', identifierNode.type); | ||
throw new Error('Unsupported function signature.'); | ||
}; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=getParameterName.js.map |
@@ -1,21 +0,5 @@ | ||
'use strict'; | ||
'create index'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.iterateFunctionNodes = exports.getParameterName = undefined; | ||
export getParameterName from './getParameterName.js'; | ||
export iterateFunctionNodes from './iterateFunctionNodes.js'; | ||
var _getParameterName2 = require('./getParameterName.js'); | ||
var _getParameterName3 = _interopRequireDefault(_getParameterName2); | ||
var _iterateFunctionNodes2 = require('./iterateFunctionNodes.js'); | ||
var _iterateFunctionNodes3 = _interopRequireDefault(_iterateFunctionNodes2); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.getParameterName = _getParameterName3.default; | ||
exports.iterateFunctionNodes = _iterateFunctionNodes3.default; | ||
//# sourceMappingURL=index.js.map |
@@ -1,11 +0,5 @@ | ||
"use strict"; | ||
export default (iterator) => { | ||
return (context) => { | ||
const nodeIterator = iterator(context); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = function (iterator) { | ||
return function (context) { | ||
var nodeIterator = iterator(context); | ||
return { | ||
@@ -18,4 +12,1 @@ ArrowFunctionExpression: nodeIterator, | ||
}; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=iterateFunctionNodes.js.map |
{ | ||
"name": "eslint-plugin-flowtype", | ||
"description": "Flowtype linting rules for ESLint.", | ||
"version": "2.1.0", | ||
"version": "2.1.1", | ||
"main": "./dist/index.js", | ||
@@ -25,3 +25,3 @@ "repository": { | ||
"dependencies": { | ||
"lodash": "^4.5.1" | ||
"lodash": "^4.6.1" | ||
}, | ||
@@ -41,13 +41,13 @@ "scripts": { | ||
"devDependencies": { | ||
"babel-cli": "^6.5.1", | ||
"babel-eslint": "^5.0.0", | ||
"babel-preset-es2015": "^6.5.0", | ||
"babel-cli": "^6.6.5", | ||
"babel-eslint": "^6.0.0-beta.2", | ||
"babel-preset-es2015": "^6.6.0", | ||
"chai": "^3.5.0", | ||
"create-index": "^0.1.2", | ||
"eslint": "^2.2.0", | ||
"eslint": "^2.3.0", | ||
"gitdown": "^2.4.0", | ||
"globby": "^4.0.0", | ||
"mocha": "^2.4.5", | ||
"pragmatist": "^3.0.13" | ||
"pragmatist": "^3.0.21" | ||
} | ||
} |
@@ -50,3 +50,9 @@ <h1 id="eslint-plugin-flowtype">eslint-plugin-flowtype</h1> | ||
"flowtype/require-parameter-type": 1, | ||
"flowtype/require-return-type": 1, | ||
"flowtype/require-return-type": [ | ||
1, | ||
"always", | ||
{ | ||
"annotateUndefined": "never" | ||
} | ||
], | ||
"flowtype/space-after-type-colon": [ | ||
@@ -84,2 +90,5 @@ 1, | ||
// Message: Missing "{foo}" parameter type annotation. | ||
([foo]) => {} | ||
// Message: Missing "[foo]" parameter type annotation. | ||
``` | ||
@@ -97,2 +106,4 @@ | ||
({foo}: {foo: string}) => {} | ||
([foo]: Array) => {} | ||
``` | ||
@@ -99,0 +110,0 @@ |
258
19755
12
214
Updatedlodash@^4.6.1