UNPKG

@manuth/eslint-plugin-typescript

Version:

A set of personal eslint-rulesets for TypeScript-projects

68 lines 2.4 kB
"use strict"; 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