.eslintrc.json
{
"extends": ["eslint:recommended", "plugin:prettier/recommended"],
"rules": {
"mocha/no-exclusive-tests": "error",
"mocha/no-skipped-tests": "warn",
"jsdoc/check-param-names": "error",
"jsdoc/check-tag-names": "error",
"jsdoc/check-types": "error",
"jsdoc/newline-after-description": "error",
"jsdoc/no-undefined-types": "off",
"jsdoc/require-description-complete-sentence": "off",
"jsdoc/require-example": "off",
"jsdoc/require-hyphen-before-param-description": "off",
"jsdoc/require-param": "error",
"jsdoc/require-param-description": "off",
"jsdoc/require-param-name": "error",
"jsdoc/require-param-type": "error",
"jsdoc/require-returns-description": "off",
"jsdoc/require-returns-type": "error",
"jsdoc/valid-types": "error",
"valid-jsdoc": "off",
"no-case-declarations": "off"
},
"ignorePatterns": ["lib/**/*.js"],
"settings": {
"jsdoc": {
"tagNamePreference": {
"augments": "extends"
}
}
},
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "script"
},
"plugins": ["mocha", "jsdoc"],
"env": {
"node": true,
"mocha": true,
"es6": true,
"es2020": true
},
"overrides": [
{
"files": ["src/**/*.ts"],
"extends": [
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" },
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["jsdoc", "@typescript-eslint"],
"rules": {
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-empty-function": "off"
}
}
]
}