Files
homebox/frontend/eslint.config.mjs
Tonya d4e28e6f3b Upgrade frontend deps, including nuxt (#982)
* feat: begin upgrading deps, still very buggy

* feat: progress

* feat: sort all type issues

* fix: sort type issues

* fix: import sonner styles

* fix: nuxt is the enemy

* fix: try sorting issue with workflows

* fix: update vitest config for dynamic import of path and defineConfig

* fix: add missing import

* fix: add time out to try and fix issues

* fix: add ui:ci:preview task for frontend build in CI mode

* fix: i was silly

* feat: add go:ci:with-frontend task for CI mode and remove ui:ci:preview from e2e workflow

* fix: update baseURL in Playwright config for local testing to use port 7745

* fix: update E2E_BASE_URL and remove wait for timeout in login test for smoother execution
2025-09-04 09:00:25 +01:00

73 lines
1.8 KiB
JavaScript

import withNuxt from "./.nuxt/eslint.config.mjs";
import tailwind from "eslint-plugin-tailwindcss";
import prettier from "eslint-plugin-prettier";
import { includeIgnoreFile } from "@eslint/compat";
import { fileURLToPath } from "node:url";
const gitignorePath = fileURLToPath(new URL("../.gitignore", import.meta.url));
export default withNuxt([
includeIgnoreFile(gitignorePath, "Imported ../.gitignore patterns"),
...tailwind.configs["flat/recommended"],
{
plugins: {
prettier,
},
rules: {
"vue/no-undef-components": [
"error",
{
// ignore anything that start with a lowercase letter or #composables
ignorePatterns: [
"^i18n",
"ClientOnly",
"Html",
"Link",
"Meta",
"NuxtLayout",
"NuxtPage",
"NuxtLink",
"Title",
],
},
],
"no-console": 0,
"no-unused-vars": "off",
"vue/multi-word-component-names": "off",
"vue/no-setup-props-destructure": 0,
"vue/no-multiple-template-root": 0,
"vue/no-v-model-argument": 0,
"vue/no-v-html": 0,
"vue/html-self-closing": 0,
"tailwindcss/no-custom-classname": "warn",
"@typescript-eslint/no-unused-vars": [
"error",
{
ignoreRestSiblings: true,
destructuredArrayIgnorePattern: "_",
caughtErrors: "none",
},
],
"@typescript-eslint/no-invalid-void-type": "off",
"prettier/prettier": [
"warn",
{
arrowParens: "avoid",
semi: true,
tabWidth: 2,
useTabs: false,
vueIndentScriptAndStyle: true,
singleQuote: false,
trailingComma: "es5",
printWidth: 120,
},
],
},
},
]);