UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

64 lines (59 loc) 3.68 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var nestJsTyped = require('@elsikora/eslint-plugin-nestjs-typed'); var compat = require('@eslint/compat'); require('eslint/use-at-your-own-risk'); var formatConfig_utility = require('../utility/format-config.utility.js'); var formatPluginName_utility = require('../utility/format-plugin-name.utility.js'); var formatRuleName_utility = require('../utility/format-rule-name.utility.js'); var ngModuleSort = require('eslint-plugin-ng-module-sort'); var tseslint = require('typescript-eslint'); // @ts-ignore /** * Loads the ESLint configuration for NestJS applications * @returns {Array<Linter.Config>} An array of ESLint configurations for NestJS */ function loadConfig() { return [ { files: ["**/*.ts"], languageOptions: { parser: tseslint.parser, parserOptions: { projectService: true, }, }, plugins: { // eslint-disable-next-line @elsikora/typescript/no-unsafe-member-access,@elsikora/typescript/no-unsafe-argument [formatPluginName_utility.formatPluginName("nestjs-typed")]: formatConfig_utility.formatConfig([nestJsTyped.plugin])[0], [formatPluginName_utility.formatPluginName("ng-module-sort")]: compat.fixupPluginRules(ngModuleSort), }, rules: { [formatRuleName_utility.formatRuleName("nestjs-typed/all-properties-are-whitelisted")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/all-properties-have-explicit-defined")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/api-enum-property-best-practices")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/api-method-should-specify-api-operation")]: "off", [formatRuleName_utility.formatRuleName("nestjs-typed/api-method-should-specify-api-response")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/api-methods-should-be-guarded")]: "off", [formatRuleName_utility.formatRuleName("nestjs-typed/api-property-matches-property-optionality")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/api-property-returning-array-should-set-array")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/controllers-should-supply-api-tags")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/no-duplicate-decorators")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/param-decorator-name-matches-route-param")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/provided-injected-should-match-factory-parameters")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/should-specify-forbid-unknown-values")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/sort-module-metadata-arrays")]: "off", [formatRuleName_utility.formatRuleName("nestjs-typed/validate-nested-of-array-should-set-each")]: "error", [formatRuleName_utility.formatRuleName("nestjs-typed/validated-non-primitive-property-needs-type-decorator")]: "error", [formatRuleName_utility.formatRuleName("ng-module-sort/decorator-array-items")]: [ "error", { reverseSort: false, }, ], }, }, ]; } exports.default = loadConfig; //# sourceMappingURL=nest.js.map