eslint-plugin-jsdoc: - install eslint-plugin-jsdoc - config file - fix lint/style errors JSDoc: - add JSDoc as a dev dependency - get everything rendering nicely with JSDoc - config, build command + ignores
91 lines
2.2 KiB
YAML
91 lines
2.2 KiB
YAML
extends:
|
|
- standard
|
|
- prettier
|
|
- plugin:jsdoc/recommended
|
|
|
|
env:
|
|
node: true
|
|
mocha: true
|
|
|
|
parserOptions:
|
|
# Override eslint-config-standard, which incorrectly sets this to "module",
|
|
# though that setting is only for ES6 modules, not CommonJS modules.
|
|
sourceType: 'script'
|
|
|
|
overrides:
|
|
- files:
|
|
- gatsby-browser.js
|
|
parserOptions:
|
|
sourceType: 'module'
|
|
- files:
|
|
- 'core/base-service/**/*.js'
|
|
- 'services/**/*.js'
|
|
rules:
|
|
sort-class-members/sort-class-members:
|
|
[
|
|
'error',
|
|
{
|
|
order:
|
|
[
|
|
'name',
|
|
'category',
|
|
'isDeprecated',
|
|
'route',
|
|
'auth',
|
|
'examples',
|
|
'_cacheLength',
|
|
'defaultBadgeData',
|
|
'render',
|
|
'constructor',
|
|
'fetch',
|
|
'transform',
|
|
'handle',
|
|
],
|
|
},
|
|
]
|
|
|
|
plugins:
|
|
- chai-friendly
|
|
- jsdoc
|
|
- mocha
|
|
- no-extension-in-require
|
|
- sort-class-members
|
|
|
|
rules:
|
|
# Disable some rules from eslint:recommended.
|
|
no-console: 'off'
|
|
no-empty: ['error', { 'allowEmptyCatch': true }]
|
|
# Allow unused parameters. In callbacks, removing them seems to obscure
|
|
# what the functions are doing.
|
|
no-unused-vars: ['error', { 'args': 'none' }]
|
|
|
|
# These should be disabled by eslint-config-prettier, but are not.
|
|
spaced-comment: 'off'
|
|
standard/object-curly-even-spacing: 'off'
|
|
one-var: 'off'
|
|
|
|
# Shields additions.
|
|
no-var: 'error'
|
|
prefer-const: 'error'
|
|
strict: 'error'
|
|
arrow-body-style: ['error', 'as-needed']
|
|
no-extension-in-require/main: 'error'
|
|
object-shorthand: ['error', 'properties']
|
|
prefer-template: 'error'
|
|
promise/prefer-await-to-then: 'error'
|
|
func-style: ['error', 'declaration', { 'allowArrowFunctions': true }]
|
|
new-cap: ['error', { 'capIsNew': true }]
|
|
import/order: ['error', { 'newlines-between': 'never' }]
|
|
|
|
# Mocha-related.
|
|
mocha/no-exclusive-tests: 'error'
|
|
mocha/no-mocha-arrows: 'error'
|
|
mocha/prefer-arrow-callback: 'error'
|
|
|
|
# Chai friendly.
|
|
no-unused-expressions: 'off'
|
|
chai-friendly/no-unused-expressions: 'error'
|
|
|
|
# Disable some rules from jsdoc/recommended.
|
|
jsdoc/require-jsdoc: 0
|