summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/eslint-rules/require-buffer.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/eslint-rules/require-buffer.js b/tools/eslint-rules/require-buffer.js
index c9818cb758..c6040b43a1 100644
--- a/tools/eslint-rules/require-buffer.js
+++ b/tools/eslint-rules/require-buffer.js
@@ -1,10 +1,26 @@
'use strict';
+const BUFFER_REQUIRE = 'const { Buffer } = require(\'buffer\');\n';
module.exports = function(context) {
+
function flagIt(reference) {
const msg = 'Use const Buffer = require(\'buffer\').Buffer; ' +
'at the beginning of this file';
- context.report(reference.identifier, msg);
+
+ 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], BUFFER_REQUIRE);
+ }
+ });
}
return {