@jimmy.codes/eslint-config
Version:
A simple, modern ESLint config that covers most use cases.
32 lines (31 loc) • 1.25 kB
JavaScript
import { GLOB_E2E, GLOB_TESTS } from "./globs.mjs";
import { n as extractOptions, t as unwrapDefault } from "./interop-default-CAdBatTA.mjs";
import { t as rebrand } from "./rebrand-h7fk1Gdd.mjs";
//#region src/rules/testing-library.ts
const testingLibraryRules = async (options) => {
const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom-ya"), unwrapDefault(import("eslint-plugin-testing-library"))]);
return {
...testingLibrary.configs["flat/react"].rules,
...rebrand(jestDom.configs["flat/recommended"].rules, "jest-dom-ya", "jest-dom"),
"testing-library/no-test-id-queries": "error",
...options?.overrides
};
};
//#endregion
//#region src/configs/testing-library.ts
async function testingLibraryConfig(options) {
const extractedOptions = extractOptions(options);
const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom-ya"), unwrapDefault(import("eslint-plugin-testing-library"))]);
return [{
files: GLOB_TESTS,
ignores: GLOB_E2E,
name: "jimmy.codes/testing-library",
plugins: {
"jest-dom": jestDom,
"testing-library": testingLibrary
},
rules: await testingLibraryRules(extractedOptions)
}];
}
//#endregion
export { testingLibraryConfig as default };