Skip to content

Commit

Permalink
[INTERNAL] Add common + specific ESLint configs
Browse files Browse the repository at this point in the history
+ Update deps to newer version
  • Loading branch information
maxreichmann committed Aug 5, 2024
1 parent caf9ba4 commit 4faa449
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 113 deletions.
16 changes: 0 additions & 16 deletions .eslintignore

This file was deleted.

86 changes: 0 additions & 86 deletions .eslintrc.cjs

This file was deleted.

99 changes: 99 additions & 0 deletions eslint.common.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
import jsdoc from "eslint-plugin-jsdoc";
import ava from "eslint-plugin-ava";
import globals from "globals";
import js from "@eslint/js";
import google from "eslint-config-google";

export default [{
ignores: [ // Common ignore patterns across all tooling repos
"**/coverage/",
"test/tmp/",
"test/expected/",
"test/fixtures/",
"**/docs/",
"**/jsdocs/",
],
}, js.configs.recommended, google, ava.configs["flat/recommended"], {
name: "Common ESLint config used for all tooling repos",

plugins: {
jsdoc,
},

languageOptions: {
globals: {
...globals.node,
},

ecmaVersion: 2023,
sourceType: "module",
},

settings: {
jsdoc: {
mode: "jsdoc",

tagNamePreference: {
return: "returns",
augments: "extends",
},
},
},

rules: {
"indent": ["error", "tab"],
"linebreak-style": ["error", "unix"],

"quotes": ["error", "double", {
allowTemplateLiterals: true,
}],

"semi": ["error", "always"],
"no-negated-condition": "off",
"require-jsdoc": "off",
"no-mixed-requires": "off",

"max-len": ["error", {
code: 120,
ignoreUrls: true,
ignoreRegExpLiterals: true,
}],

"no-implicit-coercion": [2, {
allow: ["!!"],
}],

"comma-dangle": "off",
"no-tabs": "off",
"no-console": 2, // Disallow console.log()
"no-eval": 2,
// The following rule must be disabled as of ESLint 9.
// It's removed and causes issues when present
// https://eslint.org/docs/latest/rules/valid-jsdoc
"valid-jsdoc": 0,
"jsdoc/check-examples": 0,
"jsdoc/check-param-names": 2,
"jsdoc/check-tag-names": 2,
"jsdoc/check-types": 2,
"jsdoc/no-undefined-types": 0,
"jsdoc/require-description": 0,
"jsdoc/require-description-complete-sentence": 0,
"jsdoc/require-example": 0,
"jsdoc/require-hyphen-before-param-description": 0,
"jsdoc/require-param": 2,
"jsdoc/require-param-description": 0,
"jsdoc/require-param-name": 2,
"jsdoc/require-param-type": 2,
"jsdoc/require-returns": 0,
"jsdoc/require-returns-description": 0,
"jsdoc/require-returns-type": 2,

"jsdoc/tag-lines": [2, "any", {
startLines: 1,
}],

"jsdoc/valid-types": 0,
"ava/assertion-arguments": 0,
},
}
];
12 changes: 12 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import eslintCommonConfig from "./eslint.common.config.js";

export default [
...eslintCommonConfig, // Load common ESLint config
{
// Add project-specific ESLint config rules here
// in order to override common config
ignores: [
"lib/middleware/testRunner/",
]
}
];
34 changes: 24 additions & 10 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@
"yesno": "^0.4.0"
},
"devDependencies": {
"@eslint/js": "^9.8.0",
"@istanbuljs/esm-loader-hook": "^0.2.0",
"@ui5/project": "^4.0.2",
"ava": "^6.1.3",
Expand All @@ -147,9 +148,10 @@
"docdash": "^2.0.2",
"eslint": "^9.8.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-ava": "^14.0.0",
"eslint-plugin-ava": "^15.0.1",
"eslint-plugin-jsdoc": "^48.11.0",
"esmock": "^2.6.7",
"globals": "^15.9.0",
"jsdoc": "^4.0.3",
"nyc": "^17.0.0",
"open-cli": "^8.0.0",
Expand Down

0 comments on commit 4faa449

Please sign in to comment.