diff options
Diffstat (limited to 'tools/eslint-rules/require-globals.js')
-rw-r--r-- | tools/eslint-rules/require-globals.js | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/tools/eslint-rules/require-globals.js b/tools/eslint-rules/require-globals.js deleted file mode 100644 index bc49ff6c87..0000000000 --- a/tools/eslint-rules/require-globals.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -// This rule makes sure that no Globals are going to be used in /lib. -// That could otherwise result in problems with the repl. - -module.exports = function(context) { - - function flagIt(msg, fix) { - return (reference) => { - context.report({ - node: reference.identifier, - message: msg, - fix: (fixer) => { - const sourceCode = context.getSourceCode(); - - const useStrict = /'use strict';\n\n?/g; - const hasUseStrict = !!useStrict.exec(sourceCode.text); - const firstLOC = sourceCode.ast.range[0]; - const rangeNeedle = hasUseStrict ? useStrict.lastIndex : firstLOC; - - return fixer.insertTextBeforeRange([rangeNeedle], `${fix}\n`); - } - }); - }; - } - - return { - 'Program:exit': function() { - const globalScope = context.getScope(); - let variable = globalScope.set.get('Buffer'); - if (variable) { - const fix = "const { Buffer } = require('buffer');"; - const msg = `Use ${fix} at the beginning of this file`; - variable.references.forEach(flagIt(msg, fix)); - } - variable = globalScope.set.get('URL'); - if (variable) { - const fix = "const { URL } = require('url');"; - const msg = `Use ${fix} at the beginning of this file`; - variable.references.forEach(flagIt(msg, fix)); - } - variable = globalScope.set.get('URLSearchParams'); - if (variable) { - const fix = "const { URLSearchParams } = require('url');"; - const msg = `Use ${fix} at the beginning of this file`; - variable.references.forEach(flagIt(msg, fix)); - } - } - }; -}; |