Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
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
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"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[[case]]
name = "lint_override_semantic"
vp = "local"
steps = [
{ argv = ["vp", "lint", "src/example.js"], comment = "base lint rules apply to JavaScript", continue-on-failure = true },
{ argv = ["vp", "lint", "src/example.vue"], comment = "base lint rules are preserved when a file override adds Vue rules", continue-on-failure = true },
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# lint_override_semantic

## `vp lint src/example.js`

base lint rules apply to JavaScript

**Exit code:** 1

```

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

Found 0 warnings and 1 error.
Finished in <duration> on 1 file with <n> rules using <n> threads.
```

## `vp lint src/example.vue`

base lint rules are preserved when a file override adds Vue rules

**Exit code:** 1

```

× 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 3 errors.
Finished in <duration> on 1 file with <n> rules using <n> 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>
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',
},
},
],
},
});
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.
Comment thread
fengmk2 marked this conversation as resolved.
:::

## Format Overrides
Expand Down
Loading