diff --git a/eslint.config.mjs b/eslint.config.mjs
index 4b8958ef0..ceaf375cb 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -65,5 +65,14 @@ export default defineConfig([
],
},
},
+ // Vitest tests often intentionally place imports after `vi.mock(...)` to ensure
+ // modules under test see the mocked dependencies. `import/order` can't safely
+ // auto-fix those cases, so disable it for test files.
+ {
+ files: ["src/**/*.test.{js,jsx}", "src/**/*.spec.{js,jsx}"],
+ rules: {
+ "import/order": "off",
+ },
+ },
globalIgnores(["./config/", "./.venv/", "./.next/", "./site/"]),
]);
diff --git a/src/widgets/linkwarden/component.test.jsx b/src/widgets/linkwarden/component.test.jsx
index 9b565a6ae..5cb0ba6c5 100644
--- a/src/widgets/linkwarden/component.test.jsx
+++ b/src/widgets/linkwarden/component.test.jsx
@@ -53,12 +53,7 @@ describe("widgets/linkwarden/component", () => {
useWidgetAPI.mockImplementation((_widget, endpoint) => {
if (endpoint === "collections") {
return {
- data: [
- // eslint-disable-next-line no-underscore-dangle
- { _count: { links: 2 } },
- // eslint-disable-next-line no-underscore-dangle
- { _count: { links: 3 } },
- ],
+ data: [{ _count: { links: 2 } }, { _count: { links: 3 } }],
error: undefined,
};
}
diff --git a/src/widgets/mjpeg/component.test.jsx b/src/widgets/mjpeg/component.test.jsx
index 1246d9b89..dcbf355c0 100644
--- a/src/widgets/mjpeg/component.test.jsx
+++ b/src/widgets/mjpeg/component.test.jsx
@@ -7,6 +7,8 @@ import { describe, expect, it, vi } from "vitest";
vi.mock("next/image", () => ({
default: (props) => {
const { src, alt, objectFit, className, onError } = props;
+ // This is a unit-test stub for next/image; using
is intentional here.
+ // eslint-disable-next-line @next/next/no-img-element
return
;
},
}));