@jimmy.codes/eslint-config
Version:
A simple, modern ESLint config that covers most use cases.
33 lines (30 loc) • 1.17 kB
JavaScript
import { l as GLOB_TESTS, r as GLOB_E2E } from "./globs-uKx5b8lV.mjs";
import { n as extractOptions, t as interopDefault } from "./interop-default-CKeWA-H9.mjs";
//#region src/rules/testing-library.ts
const testingLibraryRules = async (options) => {
const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom"), interopDefault(import("eslint-plugin-testing-library"))]);
return {
...testingLibrary.configs["flat/react"].rules,
...jestDom.configs["flat/recommended"].rules,
"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"), interopDefault(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 };