@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
60 lines (57 loc) • 3.12 kB
JavaScript
import nestJsTyped from '@elsikora/eslint-plugin-nestjs-typed';
import { fixupPluginRules } from '@eslint/compat';
import 'eslint/use-at-your-own-risk';
import { formatConfig } from '../utility/format-config.utility.js';
import { formatPluginName } from '../utility/format-plugin-name.utility.js';
import { formatRuleName } from '../utility/format-rule-name.utility.js';
import ngModuleSort from 'eslint-plugin-ng-module-sort';
import tseslint from '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
[]: formatConfig([nestJsTyped.plugin])[0],
[]: fixupPluginRules(ngModuleSort),
},
rules: {
[]: "error",
[]: "error",
[]: "error",
[]: "off",
[]: "error",
[]: "off",
[]: "error",
[]: "error",
[]: "error",
[]: "error",
[]: "error",
[]: "error",
[]: "error",
[]: "off",
[]: "error",
[]: "error",
[]: [
"error",
{
reverseSort: false,
},
],
},
},
];
}
export { loadConfig as default };
//# sourceMappingURL=nest.js.map