@manuth/eslint-plugin-typescript
Version:
A set of personal eslint-rulesets for TypeScript-projects
68 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GenerateConfiguration = GenerateConfiguration;
const merge = require("lodash.merge");
const rule_configs_cjs_1 = require("../rule-configs.cjs");
/**
* Generates an `eslint`-configuration.
*
* @param weak
* A value indicating whether a weak ruleset should be generated.
*
* @param typeChecking
* A value indicating whether a ruleset for a workspace with type-checking should be generated.
*
* @returns
* The configuration.
*/
function GenerateConfiguration(weak, typeChecking) {
var _a;
let configs = [
rule_configs_cjs_1.weak
];
let rules = {};
let overrides = [];
let plugins = [
"@stylistic" /* ESLintPlugin.Stylistic */,
"@typescript-eslint" /* ESLintPlugin.TypeScriptESLint */,
"@eslint-community/eslint-comments" /* ESLintPlugin.ESLintComments */,
"import" /* ESLintPlugin.Import */,
"import-x" /* ESLintPlugin.ImportX */,
"jsdoc" /* ESLintPlugin.JSDoc */,
"n" /* ESLintPlugin.Node */
];
if (!weak) {
configs.push(rule_configs_cjs_1.recommended);
}
if (typeChecking) {
configs.push(rule_configs_cjs_1.weakWithTypeChecking);
if (!weak) {
configs.push(rule_configs_cjs_1.recommendedWithTypeChecking);
}
}
for (let candidate of configs) {
rules = merge(rules, candidate.config);
for (let override of ((_a = candidate.overrides) !== null && _a !== void 0 ? _a : [])) {
overrides.push({
files: override.include,
excludedFiles: override.exclude,
rules: override.config
});
}
}
return {
parser: "@typescript-eslint/parser",
plugins,
extends: [
"eslint:recommended",
`plugin:${"@stylistic" /* ESLintPlugin.Stylistic */}/disable-legacy`,
`plugin:${"@stylistic" /* ESLintPlugin.Stylistic */}/recommended-extends`,
`plugin:${"@typescript-eslint" /* ESLintPlugin.TypeScriptESLint */}/eslint-recommended`,
`plugin:${"@typescript-eslint" /* ESLintPlugin.TypeScriptESLint */}/recommended`,
`plugin:${"import-x" /* ESLintPlugin.ImportX */}/typescript`
],
rules,
overrides
};
}
//# sourceMappingURL=GenerateConfiguration.cjs.map