mirror of https://github.com/lukechilds/node.git
Browse Source
The motivation for this commit is to pick up early on missing checks for inspector support (when Node is built --without-inspector). PR-URL: https://github.com/nodejs/node/pull/13813 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Teddy Katz <teddy.katz@gmail.com>canary-base
Daniel Bevenius
8 years ago
committed by
Ruben Bridgewater
2 changed files with 44 additions and 0 deletions
@ -0,0 +1,43 @@ |
|||
/** |
|||
* @fileoverview Check that common.skipIfInspectorDisabled is used if |
|||
* the inspector module is required. |
|||
* @author Daniel Bevenius <daniel.bevenius@gmail.com> |
|||
*/ |
|||
'use strict'; |
|||
|
|||
const utils = require('./rules-utils.js'); |
|||
|
|||
//------------------------------------------------------------------------------
|
|||
// Rule Definition
|
|||
//------------------------------------------------------------------------------
|
|||
const msg = 'Please add a skipIfInspectorDisabled() call to allow this ' + |
|||
'test to be skippped when Node is built \'--without-inspector\'.'; |
|||
|
|||
module.exports = function(context) { |
|||
var usesInspector = false; |
|||
var hasInspectorCheck = false; |
|||
|
|||
function testInspectorUsage(context, node) { |
|||
if (utils.isRequired(node, ['inspector'])) { |
|||
usesInspector = true; |
|||
} |
|||
} |
|||
|
|||
function checkMemberExpression(context, node) { |
|||
if (utils.usesCommonProperty(node, ['skipIfInspectorDisabled'])) { |
|||
hasInspectorCheck = true; |
|||
} |
|||
} |
|||
|
|||
function reportIfMissing(context, node) { |
|||
if (usesInspector && !hasInspectorCheck) { |
|||
context.report(node, msg); |
|||
} |
|||
} |
|||
|
|||
return { |
|||
'CallExpression': (node) => testInspectorUsage(context, node), |
|||
'MemberExpression': (node) => checkMemberExpression(context, node), |
|||
'Program:exit': (node) => reportIfMissing(context, node) |
|||
}; |
|||
}; |
Loading…
Reference in new issue