ESLint代码检查系列 ——插件篇

插件开发流程

  1. 创建项目文件夹:新增以eslint-plugin-开头的文件夹

  2. 初始化项目:npm init

  3. 创建自定义规则:rules,可以使用mocha做单元测试

    • AST语法结构可以参考网址:https://astexplorer.net
    • 新建规则文件:
      • attr-length.js:检查length属性拼写问题
      • no-alert.js:检查alert语法
    // attr-length.js
    module.exports = {
         
      meta: {
         
        type: 'problem',
        docs: {
         
          description: "wwv eslint plugin length",
          recommended: true
        },
        fixable: null
      },
      create(context) {
         
        return {
         
          MemberExpression(node) {
         
            const name = (node.property || {
         }).name
            console.log('property.name:', name)
            const attrMap = ['lenght', 'lenth', 'lengh', 'leght'];
            const isAttrLen = (name.slice(0,2) === 'le' && name !== 'length')
            if (name && (isAttrLen || attrMap.includes(name))) {
         
              context.report({
         
                node,
                message: '检查属性length是否拼写错误',
              });
            }
          }
        };
      },
    };
    
    // no-alert.js
    module.exports = {
         
      meta: {
         
        type: 

你可能感兴趣的:(nodejs,webpack,前端,npm,webpack,前端,vue,javascript)