// @ts-check import { base as baseConfig } from "./base.mjs"; import { defineConfig } from "eslint/config"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; import globals from "globals"; export { globals }; /** * @param {string} tsconfigRootDir * @param {Record} [overrides] * @returns {ReturnType} */ export function createNestjsConfig(tsconfigRootDir, overrides = {}) { return defineConfig( { ignores: ["eslint.config.mjs"] }, ...baseConfig, eslintPluginPrettierRecommended, { languageOptions: { globals: { ...globals.node, ...globals.jest, }, sourceType: "commonjs", parserOptions: { projectService: true, tsconfigRootDir, }, }, }, { rules: { "class-methods-use-this": "off", "@typescript-eslint/no-floating-promises": "warn", "@typescript-eslint/no-unsafe-argument": "warn", "prettier/prettier": ["error", { endOfLine: "auto" }], ...overrides, }, }, ); }