Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eslint-config-adidas-typescript: disable valid-jsdoc #32

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

guoyunhe
Copy link
Contributor

In TypeScript project, sometimes the function can explain itself very well and here is no need to document parameters and returns:

/**
 * ID should only contain letters, numbers, dashes and dots
 */
export function validateId(id: string): boolean | undefined {
  if (id.length === 0) {
    return
  }

  const match = id.match(/[A-Za-z0-9\-.]*/)

  if (match && match.length && match[0] === id) {
    return true
  }

  return false
}

In TypeScript project, sometimes the function can explain itself very well and here is no need to document parameters and returns:

```ts
/**
 * ID should only contain letters, numbers, dashes and dots
 */
export function validateId(id: string): boolean | undefined {
  if (id.length === 0) {
    return
  }

  const match = id.match(/[A-Za-z0-9\-.]*/)

  if (match && match.length && match[0] === id) {
    return true
  }

  return false
}
```
@RecuencoJones
Copy link
Member

Hi @guoyunhe, I would keep this rule as we would prefer to have JS and TS rulesets the most similar as possible.

If you check the configuration for the rule on eslint-config-adidas-es5, we are providing a rather large configuration object which – unfortunately – would require users to copy and paste in their configurations to have the same.

I find it easier to disable this in project level but have as default. What do you think @moelders?

@moelders
Copy link
Contributor

Hi @guoyunhe, in this case, the rule I agree with @RecuencoJones of keeping this rule enable has more benefits globally, and you have the flexibility to modify it for your own project.

This rule comes from eslint-config-adidas-es5 package:

I would propose that you can overwrite valid-jsdoc (see valid-jsdoc options). In your case, just disabling some forced rules should be good:

{
  extends: [
    'adidas-typescript'
  ],
  rules: {
    'valid-jsdoc': [
      'error', {
        prefer: {
          return: 'returns'
        },
        preferType: {
          array: 'Array',
          Boolean: 'boolean',
          Number: 'number',
          String: 'string'
        },
        requireParamDescription: false,
        requireReturn: false,
        requireReturnDescription: false
      }
    ]
  }
}

I hope that this solution fits well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants