@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
33 lines (30 loc) • 1.62 kB
JavaScript
import 'eslint/use-at-your-own-risk';
import { formatConfig } from '../utility/format-config.utility.js';
import { formatRuleName } from '../utility/format-rule-name.utility.js';
import sonarjs from 'eslint-plugin-sonarjs';
const congnitiveComplexity = 100;
const duplicateStringThreshold = 10;
/**
* Loads the ESLint configuration for SonarJS rules
* @returns {Array<Linter.Config>} An array of ESLint configurations for SonarJS
*/
function loadConfig() {
return [
{
...formatConfig([sonarjs.configs.recommended])[0],
files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"],
},
{
files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"],
rules: {
[]: "error", // Require default values for boolean parameters to improve readability.
[]: ["error", congnitiveComplexity], // Set a high threshold for cognitive complexity to allow complex but manageable functions.
[]: ["error", { threshold: duplicateStringThreshold }], // Flag strings duplicated more than 10 times to encourage the use of constants for maintainability.
[]: "off", // Prevent empty test files from being committed.
[]: "warn", // Flag to do comments to ensure they are addressed.
},
},
];
}
export { loadConfig as default };
//# sourceMappingURL=sonar.js.map