Blame view

node_modules/eslint/lib/rules/no-buffer-constructor.js 1.28 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  /**
   * @fileoverview disallow use of the Buffer() constructor
   * @author Teddy Katz
   */
  "use strict";
  
  //------------------------------------------------------------------------------
  // Rule Definition
  //------------------------------------------------------------------------------
  
  module.exports = {
      meta: {
          docs: {
              description: "disallow use of the `Buffer()` constructor",
              category: "Node.js and CommonJS",
              recommended: false,
              url: "https://eslint.org/docs/rules/no-buffer-constructor"
          },
          schema: [],
          messages: {
              deprecated: "{{expr}} is deprecated. Use Buffer.from(), Buffer.alloc(), or Buffer.allocUnsafe() instead."
          }
      },
  
      create(context) {
  
          //----------------------------------------------------------------------
          // Public
          //----------------------------------------------------------------------
  
          return {
              "CallExpression[callee.name='Buffer'], NewExpression[callee.name='Buffer']"(node) {
                  context.report({
                      node,
                      messageId: "deprecated",
                      data: { expr: node.type === "CallExpression" ? "Buffer()" : "new Buffer()" }
                  });
              }
          };
      }
  };