zoukankan      html  css  js  c++  java
  • [AST Eslint] No Console allowed

    // eslint exercise 1 (no-console)
    // When you're finished with this exercise, run
    //   "npm start exercise.eslint.2"
    //   to move on to the next exercise
    
    module.exports = {
      create(context) {
        return {
          CallExpression(node) {
            if (hasIdentifierObjectAsConsole(node) && hasPropertyWithInvalidMethods(node)) {
              context.report({
                node,
                message: 'Using console is not allowed',
              })
            }
          },
        }
      },
    }
    
    function hasPropertyWithInvalidMethods (node) {
        return (
          node.callee.property && 
          ['warn', 'log', 'info'].includes(node.callee.property.name)
      )
    }
    
    function hasIdentifierObjectAsConsole(node) {
      return node.callee.object && 
        node.callee.object.type === "Identifier" && 
        node.callee.object.name === "console";
    }
    // eslint exercise 1 (no-console)
    // When you're finished with this exercise, run
    //   "npm start exercise.eslint.2"
    //   to move on to the next exercise
    
    const {RuleTester} = require('eslint')
    const rule = require('./no-console')
    
    const ruleTester = new RuleTester()
    ruleTester.run('no-console', rule, {
      valid: ['info()', 'console', 'console.log', 'console.baz()'],
      invalid: [
        invalid('console.log()'),
        invalid('console.info()'),
        invalid('console.warn()'),
      ],
    })
    
    function invalid(code) {
      return {
        code,
        errors: [{message: 'Using console is not allowed'}],
      }
    }
  • 相关阅读:
    ListView 分页显示(转载+修改)下
    ListView 分页显示(转载+修改)上
    Android_开发片段(Part 1)
    JSCH执行linux命令
    linux运行wkhtmltopdf
    Apache HttpClient
    JDK自带的URLConnection
    java poi读取excel
    CXF webservice完整例子
    Oracle 常用初始化命令
  • 原文地址:https://www.cnblogs.com/Answer1215/p/12231325.html
Copyright © 2011-2022 走看看