@jimmy.codes/eslint-config
Version:
A simple, modern ESLint config that covers most use cases.
81 lines (78 loc) • 2.24 kB
JavaScript
import {
interopDefault
} from "./chunk-72FT76PY.js";
import {
GLOB_E2E,
GLOB_TESTS
} from "./chunk-N5KZEOXT.js";
// src/rules/jest.ts
var jestRules = async () => {
const jestPlugin = await interopDefault(import("eslint-plugin-jest"));
return {
...jestPlugin.configs["flat/recommended"].rules,
...jestPlugin.configs["flat/style"].rules,
"jest/consistent-test-it": [
"error",
{
fn: "test",
withinDescribe: "it"
}
],
"jest/expect-expect": "error",
"jest/no-alias-methods": "error",
"jest/no-commented-out-tests": "error",
"jest/no-conditional-in-test": "error",
"jest/no-confusing-set-timeout": "error",
"jest/no-duplicate-hooks": "error",
"jest/no-hooks": "off",
"jest/no-large-snapshots": "off",
"jest/no-restricted-jest-methods": "off",
"jest/no-restricted-matchers": "off",
"jest/no-test-return-statement": "error",
"jest/no-untyped-mock-factory": "off",
// requires typescript
"jest/prefer-called-with": "error",
"jest/prefer-comparison-matcher": "error",
"jest/prefer-each": "error",
"jest/prefer-equality-matcher": "error",
"jest/prefer-expect-assertions": "off",
"jest/prefer-expect-resolves": "error",
"jest/prefer-hooks-in-order": "error",
"jest/prefer-hooks-on-top": "error",
"jest/prefer-lowercase-title": "off",
"jest/prefer-mock-promise-shorthand": "error",
"jest/prefer-snapshot-hint": "error",
"jest/prefer-spy-on": "off",
"jest/prefer-strict-equal": "error",
"jest/prefer-todo": "warn",
"jest/require-hook": "error",
"jest/require-to-throw-message": "error",
"jest/require-top-level-describe": "off",
"jest/unbound-method": "off",
// requires typescript
"jest/valid-title": [
"error",
{
mustMatch: {
it: "^should"
}
}
]
};
};
// src/configs/jest.ts
async function jestConfig() {
const jestPlugin = await interopDefault(import("eslint-plugin-jest"));
return [
{
files: GLOB_TESTS,
ignores: GLOB_E2E,
...jestPlugin.configs["flat/recommended"],
name: "jimmy.codes/jest",
rules: await jestRules()
}
];
}
export {
jestConfig as default
};