Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/guide/monorepo.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export default defineConfig({
overrides: [
{
files: ['apps/web/**', 'packages/ui/**'],
plugins: ['typescript', 'react'],
plugins: ['react'],
rules: {
'react/self-closing-comp': 'error',
},
Expand All @@ -40,9 +40,9 @@ export default defineConfig({
},
{
files: ['**/*.test.ts', '**/*.spec.ts'],
plugins: ['typescript', 'vitest'],
plugins: ['vitest'],
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'typescript/no-explicit-any': 'off',
'vitest/no-disabled-tests': 'error',
},
},
Expand All @@ -54,7 +54,7 @@ export default defineConfig({
Globs are resolved from the root `vite.config.ts`, so use workspace paths such as `apps/web/**`, `apps/api/**`, and `packages/ui/**`.

::: tip
When a `lint.overrides` entry sets `plugins`, that list replaces the base `lint.plugins` list for matched files. Include every plugin needed by that file group, such as `['typescript', 'react']`. Omit `plugins` only when the override should inherit the base list unchanged.
When a `lint.overrides` entry sets `plugins`, that list will be merged with the base `lint.plugins` list for matched files. Omit `plugins` only when the override should inherit the base list unchanged.
:::

## Format Overrides
Expand Down
6 changes: 6 additions & 0 deletions packages/cli/snap-tests/lint-override-semantic/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "lint-override-semantic",
"version": "1.0.0",
"private": true,
"type": "module"
}
36 changes: 36 additions & 0 deletions packages/cli/snap-tests/lint-override-semantic/snap.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[1]> vp lint src # extends rules are preserved when a file override adds Vue rules

× eslint(no-console): Unexpected console statement.
╭─[src/example.js:1:1]
1 │ console.log();
· ───────────
╰────
help: Delete this console statement.

× vue(no-export-in-script-setup): <script setup>` cannot contain ES module exports.
╭─[src/example.vue:8:16]
7 │
8 │ export default {};
· ──
9 │ </script>
╰────

× vue(no-export-in-script-setup): <script setup>` cannot contain ES module exports.
╭─[src/example.vue:8:8]
7 │
8 │ export default {};
· ───────
9 │ </script>
╰────

× eslint(no-console): Unexpected console statement.
╭─[src/example.vue:6:1]
5 │ <script lang="ts" setup>
6 │ console.log();
· ───────────
7 │
╰────
help: Delete this console statement.

Found 0 warnings and 4 errors.
Finished in <variable>ms on 2 files with <variable> rules using <variable> threads.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log();
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<template>
<div></div>
</template>

<script lang="ts" setup>
console.log();

export default {};
</script>
3 changes: 3 additions & 0 deletions packages/cli/snap-tests/lint-override-semantic/steps.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"commands": ["vp lint src # extends rules are preserved when a file override adds Vue rules"]
}
17 changes: 17 additions & 0 deletions packages/cli/snap-tests/lint-override-semantic/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { defineConfig } from 'vite-plus';

export default defineConfig({
lint: {
rules: { 'no-console': 'error' },
plugins: ['unicorn', 'eslint'],
overrides: [
{
files: ['**/*.vue'],
plugins: ['vue'],
rules: {
'vue/no-export-in-script-setup': 'error',
},
},
],
},
});
Loading