@phanect/lint-vue
v2025.11.29
Published
@phanect's personal ESLint config for Vue.js & Nuxt projects
Readme
@phanect/lint[-vue|-svelte|-astro]
ESLint config for my own projects.
Install
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro@phanect/lint-* packages are the linter configs for the specific frameworks. Install them if you use them.
Usage
Create an eslint.config.ts like following on the project root.
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";
const configs = defineConfig([
globalIgnores([
"path/to/ignore/**",
]),
// If the project includes TypeScript files...
{
// Do not add `files: [ "*" ],` here.
extends: [
core,
nuxt,
],
languageOptions: {
parserOptions: {
tsconfigRootDir: import.meta.dirname,
},
},
// If the repository is monorepo and one of the workspaces is Next.js project...
settings: {
next: {
rootDir: "workspaces/my-project/",
},
},
},
]);
export default configs;Supported configs:
@phanect/lintcorenodejsunbundled- Use this rules in addition to the above rules if the project depends on package.json's
dependencieson production i.e. npm packages and backend Node.js app without bundling.
- Use this rules in addition to the above rules if the project depends on package.json's
@phanect/lint-reactreactnextjs
@phanect/lint-vuevuenuxt
@phanect/lint-sveltesvelte
@phanect/lint-astroastro
Test with realworld projects
1. Generate npm package
$ cd /path/to/misc
$ pnpm pack2. Install new package on a realworld project
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz3. Test
# $ cd /path/to/target/project
$ pnpm lint