eslint-plugin-orion-os

最后更新: 2020/1/10

更新日志

版本号版本说明问题类型
0.6.0项目直接引用NativeModules检查错误
0.5.0orionos-eve-core引用模块使用绝对路径检查错误
0.4.0Touchable*组件设置唯一标识检查警告
0.3.6箭头函数重写react Component生命周期函数检查错误
react Component render方法中使用箭头函数检查警告
定时器移除检查错误
时间监听移除检查错误
自定义基类的子类调用父类super方法检查错误
mobx autorun方法释放检查错误

使用说明

1.下载

命令行进入项目目录执行

npm install eslint-plugin-orion-os

2.使用

项目目录下.eslintrc.js修改:

在plugins加入"orionos-cli";

rules中加入对应配置项;

完整eslintrc代码:

module.exports = {

root: true,

extends: ['plugin:@typescript-eslint/recommended', 'koot'],

plugins: [

  'orion-os'

],

rules: {

  'no-use-before-define': ['error', {

    variables: false

  }],

  'no-constructor-vars': false,

  'semi': [1, 'always'],

  'orion-os/lifecycle-no-arrow-function': 'error',

  'orion-os/render-with-arrow-function': 'warn',

  'orion-os/timer-clear': 'error',

  'orion-os/listener-remove': [

    'error',

    'always',

    [{

      obj: 'DeviceEventEmitter',

      add: 'addListener',

      remove: 'removeListener',

      assignRemove: 'remove'

    },

    {

      obj: 'DataCenterUtils.getInstance',

      add: 'registerListener',

      remove: 'unRegisterListener'

    },

    {

      superClass: 'TextListener',

      assignRemove: 'removeListener'

    },

    ]

  ],

  'orion-os/super-method': [

    'error',

    'always',

    [{

      superClass: 'BaseComponent',

      methods: [

        'constructor',

        'componentDidMount',

        'componentWillUnmount'

      ]

    }]

  ],

  'orion-os/autorun-remove': 'error',

  'orion-os/touchable-label': 'error',

  'orion-os/core-subdirs': [
     'error',
     'always',
     [
       'orionos-eve-core'
     ]
   ],

   'orion-os/no-native-modules': 'error'

  }

};

然后在项目目录中命令行输入以下代码即可查看结果

node_modules\.bin\eslint app\**\*.{js,ts,tsx}