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