summaryrefslogtreecommitdiff
path: root/tools/eslint-rules/require-globals.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/eslint-rules/require-globals.js')
-rw-r--r--tools/eslint-rules/require-globals.js50
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));
- }
- }
- };
-};