Add JSDoc linting rules

Many of our engineers use and rely on JSDocs in code, for better documentation and even autocompletion support in IDEs.

ESLint used to bundle JSDoc linting rules, but removed them. Their suggested replacement is https://github.com/gajus/eslint-plugin-jsdoc.

Implementation plan

  • Add eslint-plugin-jsdoc as a dependency
  • Enable the recommended set of rules by default (and any others we think would be useful)
    • On second thought, the recommended set of rules includes require-jsdoc, which requires all function and class declarations to have JSDocs; it's highly unlikely we'll be able to/want to enable that rule!
Edited by Mark Florian