无法在Ember类,道具,动作上留下eslint就没有jsDoc发出警告

时间:2019-02-21 02:34:16

标签: javascript ember.js eslint jsdoc

我要在余烬项目中设置eslint。我要强制所有功能,类,操作和属性都用jsDoc记录。

我面临的问题是我似乎无法让强制执行作用于操作,组件声明或对象属性。

我最初尝试使用“ require-jsdoc”,但也注意到此规则已被弃用。然后,我使用以下配置安装了eslint-plugin-jsdoc:

rules: [
  ...
  'jsdoc/check-examples': 0,
  'jsdoc/check-param-names': 1,
  'jsdoc/check-tag-names': 1,
  'jsdoc/check-types': 1,
  'jsdoc/newline-after-description': 1,
  'jsdoc/no-undefined-types': 1,
  'jsdoc/require-description': 1,
  'jsdoc/require-description-complete-sentence': 1,
  'jsdoc/require-example': 1,
  'jsdoc/require-hyphen-before-param-description': 1,
  'jsdoc/require-param': 1,
  'jsdoc/require-param-description': 1,
  'jsdoc/require-param-name': 1,
  'jsdoc/require-param-type': 1,
  'jsdoc/require-returns': 1,
  'jsdoc/require-returns-check': 1,
  'jsdoc/require-returns-description': 1,
  'jsdoc/require-returns-type': 1,
]

仍然没有运气。知道如何使以下功能正常工作吗?

// throw eslint warning if not documented
export default Component.extend({
  someProp: false, // throw eslint warning if not documented
  actions: {
    someAction() {} // throw eslint warning if not documented
  }
});

所有其他自然函数定义均按预期工作,只是试图使这些情况起作用。谢谢!

1 个答案:

答案 0 :(得分:1)

不推荐使用require-jsdoc,检查类声明和函数上JSDoc注释是否正确的正确方法是安装eslint-plugin-jsdoc插件并使用jsdoc/require-jsdoc规则。

一旦拥有:

rules: [
  ...
  'jsdoc/require-jsdoc': 1,
  ...
]

ESLint将开始警告有关缺少评论的信息。如果您包含一些注释,则将强制执行所有其他规则,例如jsdoc/require-descriptionjsdoc/require-param

请注意,jsdoc/require-jsdoc规则不仅需要函数声明,还需要一些配置。例如:

rules: [
  ...
  'jsdoc/require-jsdoc': [1, {'require': {
    FunctionExpression: true,
    ClassDeclaration: true
  }}],
  ...
]