From af2b3f379fe0317b99cfd318528834adf401384b Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 13:59:28 +0800 Subject: [PATCH 1/6] feat(check): support `--no-error-on-unmatched-pattern` flag In `--fix` mode with file paths, implicitly suppress "no matching files" errors for both fmt and lint. This fixes the lint-staged use case where staged files may be excluded by ignorePatterns (e.g. package-lock.json excluded by fmt ignorePatterns). Also expose `--no-error-on-unmatched-pattern` as an explicit CLI flag for non-fix use cases. oxfmt supports this flag natively; for oxlint (which does not), vp check handles it by treating unparseable lint output as a pass when the flag is active. Closes #1210 --- crates/vite_global_cli/src/help.rs | 4 ++ packages/cli/binding/src/check/mod.rs | 44 ++++++++++++++----- packages/cli/binding/src/cli/mod.rs | 18 +++++++- packages/cli/binding/src/cli/types.rs | 3 ++ .../command-check-help/snap.txt | 27 +++++++----- .../check-fix-no-error-unmatched/package.json | 5 +++ .../check-fix-no-error-unmatched/snap.txt | 16 +++++++ .../src/ignored/index.js | 2 + .../check-fix-no-error-unmatched/steps.json | 8 ++++ .../vite.config.ts | 8 ++++ rfcs/check-command.md | 5 ++- 11 files changed, 114 insertions(+), 26 deletions(-) create mode 100644 packages/cli/snap-tests/check-fix-no-error-unmatched/package.json create mode 100644 packages/cli/snap-tests/check-fix-no-error-unmatched/snap.txt create mode 100644 packages/cli/snap-tests/check-fix-no-error-unmatched/src/ignored/index.js create mode 100644 packages/cli/snap-tests/check-fix-no-error-unmatched/steps.json create mode 100644 packages/cli/snap-tests/check-fix-no-error-unmatched/vite.config.ts diff --git a/crates/vite_global_cli/src/help.rs b/crates/vite_global_cli/src/help.rs index e3e1e956f8..1933a1cf43 100644 --- a/crates/vite_global_cli/src/help.rs +++ b/crates/vite_global_cli/src/help.rs @@ -759,6 +759,10 @@ fn delegated_help_doc(command: &str) -> Option { row("--fix", "Auto-fix format and lint issues"), row("--no-fmt", "Skip format check"), row("--no-lint", "Skip lint check"), + row( + "--no-error-on-unmatched-pattern", + "Do not exit with error when pattern is unmatched", + ), row("-h, --help", "Print help"), ], ), diff --git a/packages/cli/binding/src/check/mod.rs b/packages/cli/binding/src/check/mod.rs index d166723e19..7a07ab7cd0 100644 --- a/packages/cli/binding/src/check/mod.rs +++ b/packages/cli/binding/src/check/mod.rs @@ -22,6 +22,7 @@ pub(crate) async fn execute_check( fix: bool, no_fmt: bool, no_lint: bool, + no_error_on_unmatched_pattern: bool, paths: Vec, envs: &Arc, Arc>>, cwd: &AbsolutePathBuf, @@ -37,14 +38,20 @@ pub(crate) async fn execute_check( let mut status = ExitStatus::SUCCESS; let has_paths = !paths.is_empty(); + // In --fix mode with file paths (the lint-staged use case), implicitly suppress + // "no matching files" errors. This is also available as an explicit flag for + // non-fix use cases. + let suppress_unmatched = no_error_on_unmatched_pattern || (fix && has_paths); let mut fmt_fix_started: Option = None; let mut deferred_lint_pass: Option<(String, String)> = None; let resolved_vite_config = resolver.resolve_universal_vite_config().await?; if !no_fmt { let mut args = if fix { vec![] } else { vec!["--check".to_string()] }; - if has_paths { + if suppress_unmatched { args.push("--no-error-on-unmatched-pattern".to_string()); + } + if has_paths { args.extend(paths.iter().cloned()); } let fmt_start = Instant::now(); @@ -87,11 +94,17 @@ pub(crate) async fn execute_check( )); } None => { - print_error_block( - "Formatting could not start", - &combined_output, - "Formatting failed before analysis started", - ); + if suppress_unmatched && status == ExitStatus::SUCCESS { + // No files matched fmt patterns — treat as pass when + // --no-error-on-unmatched-pattern is active (explicit or + // implicit via --fix with paths). + } else { + print_error_block( + "Formatting could not start", + &combined_output, + "Formatting failed before analysis started", + ); + } } } } @@ -177,11 +190,18 @@ pub(crate) async fn execute_check( )); } None => { - output::error("Linting could not start"); - if !combined_output.trim().is_empty() { - print_stdout_block(&combined_output); + if suppress_unmatched { + // oxlint does not support --no-error-on-unmatched-pattern natively, + // so we handle it here: when all files are excluded by ignorePatterns + // and the flag is active, treat it as a pass instead of an error. + status = ExitStatus::SUCCESS; + } else { + output::error("Linting could not start"); + if !combined_output.trim().is_empty() { + print_stdout_block(&combined_output); + } + print_summary_line("Linting failed before analysis started"); } - print_summary_line("Linting failed before analysis started"); } } if status != ExitStatus::SUCCESS { @@ -193,8 +213,10 @@ pub(crate) async fn execute_check( // (e.g. the curly rule adding braces to if-statements) if fix && !no_fmt && !no_lint { let mut args = Vec::new(); - if has_paths { + if suppress_unmatched { args.push("--no-error-on-unmatched-pattern".to_string()); + } + if has_paths { args.extend(paths.into_iter()); } let captured = resolve_and_capture_output( diff --git a/packages/cli/binding/src/cli/mod.rs b/packages/cli/binding/src/cli/mod.rs index 5811ef75bc..f94443964b 100644 --- a/packages/cli/binding/src/cli/mod.rs +++ b/packages/cli/binding/src/cli/mod.rs @@ -63,9 +63,23 @@ async fn execute_direct_subcommand( let cwd_arc: Arc = cwd.clone().into(); let status = match subcommand { - SynthesizableSubcommand::Check { fix, no_fmt, no_lint, paths } => { + SynthesizableSubcommand::Check { + fix, + no_fmt, + no_lint, + no_error_on_unmatched_pattern, + paths, + } => { return crate::check::execute_check( - &resolver, fix, no_fmt, no_lint, paths, &envs, cwd, &cwd_arc, + &resolver, + fix, + no_fmt, + no_lint, + no_error_on_unmatched_pattern, + paths, + &envs, + cwd, + &cwd_arc, ) .await; } diff --git a/packages/cli/binding/src/cli/types.rs b/packages/cli/binding/src/cli/types.rs index 6e408460b6..8764d001a4 100644 --- a/packages/cli/binding/src/cli/types.rs +++ b/packages/cli/binding/src/cli/types.rs @@ -93,6 +93,9 @@ pub enum SynthesizableSubcommand { /// Skip lint check #[arg(long = "no-lint")] no_lint: bool, + /// Do not exit with error when pattern is unmatched + #[arg(long = "no-error-on-unmatched-pattern")] + no_error_on_unmatched_pattern: bool, /// File paths to check (passed through to fmt and lint) #[arg(trailing_var_arg = true)] paths: Vec, diff --git a/packages/cli/snap-tests-global/command-check-help/snap.txt b/packages/cli/snap-tests-global/command-check-help/snap.txt index acfb446b24..830728f645 100644 --- a/packages/cli/snap-tests-global/command-check-help/snap.txt +++ b/packages/cli/snap-tests-global/command-check-help/snap.txt @@ -6,10 +6,11 @@ Usage: vp check [OPTIONS] [PATHS]... Run format, lint, and type checks. Options: - --fix Auto-fix format and lint issues - --no-fmt Skip format check - --no-lint Skip lint check - -h, --help Print help + --fix Auto-fix format and lint issues + --no-fmt Skip format check + --no-lint Skip lint check + --no-error-on-unmatched-pattern Do not exit with error when pattern is unmatched + -h, --help Print help Examples: vp check @@ -27,10 +28,11 @@ Usage: vp check [OPTIONS] [PATHS]... Run format, lint, and type checks. Options: - --fix Auto-fix format and lint issues - --no-fmt Skip format check - --no-lint Skip lint check - -h, --help Print help + --fix Auto-fix format and lint issues + --no-fmt Skip format check + --no-lint Skip lint check + --no-error-on-unmatched-pattern Do not exit with error when pattern is unmatched + -h, --help Print help Examples: vp check @@ -48,10 +50,11 @@ Usage: vp check [OPTIONS] [PATHS]... Run format, lint, and type checks. Options: - --fix Auto-fix format and lint issues - --no-fmt Skip format check - --no-lint Skip lint check - -h, --help Print help + --fix Auto-fix format and lint issues + --no-fmt Skip format check + --no-lint Skip lint check + --no-error-on-unmatched-pattern Do not exit with error when pattern is unmatched + -h, --help Print help Examples: vp check diff --git a/packages/cli/snap-tests/check-fix-no-error-unmatched/package.json b/packages/cli/snap-tests/check-fix-no-error-unmatched/package.json new file mode 100644 index 0000000000..b0aa60f883 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-no-error-unmatched/package.json @@ -0,0 +1,5 @@ +{ + "name": "check-fix-no-error-unmatched", + "version": "0.0.0", + "private": true +} diff --git a/packages/cli/snap-tests/check-fix-no-error-unmatched/snap.txt b/packages/cli/snap-tests/check-fix-no-error-unmatched/snap.txt new file mode 100644 index 0000000000..cffc37c6d2 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-no-error-unmatched/snap.txt @@ -0,0 +1,16 @@ +> vp check --fix src/ignored/index.js # all files excluded by ignorePatterns, should pass in --fix mode +pass: Formatting completed for checked files (ms) +pass: Found no warnings or lint errors in 0 files (ms, threads) + +> vp check --no-error-on-unmatched-pattern src/ignored/index.js # explicit flag without --fix, should also pass +pass: Found no warnings or lint errors in 0 files (ms, threads) + +> vp check --fix --no-error-on-unmatched-pattern src/ignored/index.js # both flags set, should pass +pass: Formatting completed for checked files (ms) +pass: Found no warnings or lint errors in 0 files (ms, threads) + +[2]> vp check src/ignored/index.js # without --fix or explicit flag, should exit non-zero +error: Formatting could not start +Expected at least one target file + +Formatting failed before analysis started diff --git a/packages/cli/snap-tests/check-fix-no-error-unmatched/src/ignored/index.js b/packages/cli/snap-tests/check-fix-no-error-unmatched/src/ignored/index.js new file mode 100644 index 0000000000..ed0c6f4959 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-no-error-unmatched/src/ignored/index.js @@ -0,0 +1,2 @@ +// This file is excluded by both fmt and lint ignorePatterns. +export const hello = 'world'; diff --git a/packages/cli/snap-tests/check-fix-no-error-unmatched/steps.json b/packages/cli/snap-tests/check-fix-no-error-unmatched/steps.json new file mode 100644 index 0000000000..71394e3264 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-no-error-unmatched/steps.json @@ -0,0 +1,8 @@ +{ + "commands": [ + "vp check --fix src/ignored/index.js # all files excluded by ignorePatterns, should pass in --fix mode", + "vp check --no-error-on-unmatched-pattern src/ignored/index.js # explicit flag without --fix, should also pass", + "vp check --fix --no-error-on-unmatched-pattern src/ignored/index.js # both flags set, should pass", + "vp check src/ignored/index.js # without --fix or explicit flag, should exit non-zero" + ] +} diff --git a/packages/cli/snap-tests/check-fix-no-error-unmatched/vite.config.ts b/packages/cli/snap-tests/check-fix-no-error-unmatched/vite.config.ts new file mode 100644 index 0000000000..2f7870dfd7 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-no-error-unmatched/vite.config.ts @@ -0,0 +1,8 @@ +export default { + fmt: { + ignorePatterns: ['src/ignored/**/*'], + }, + lint: { + ignorePatterns: ['src/ignored/**/*'], + }, +}; diff --git a/rfcs/check-command.md b/rfcs/check-command.md index 58916604a5..9e5cb87435 100644 --- a/rfcs/check-command.md +++ b/rfcs/check-command.md @@ -53,6 +53,7 @@ vp check --no-type-check | `--lint` / `--no-lint` | ON | Run lint check (`vp lint`) | | `--type-aware` / `--no-type-aware` | ON | Enable type-aware lint rules (oxlint `--type-aware`) | | `--type-check` / `--no-type-check` | ON | Enable TypeScript type checking (oxlint `--type-check`) | +| `--no-error-on-unmatched-pattern` | OFF | Do not exit with error when pattern is unmatched | **Flag dependency:** `--type-check` requires `--type-aware` as a prerequisite. @@ -73,8 +74,9 @@ vp check --fix src/index.ts src/utils.ts When file paths are provided: -- `--no-error-on-unmatched-pattern` is automatically added to `fmt` args (prevents errors when paths don't match fmt patterns) - Paths are appended to both `fmt` and `lint` sub-commands +- In `--fix` mode, `--no-error-on-unmatched-pattern` is implicitly enabled for both `fmt` and `lint`, preventing errors when all provided paths are excluded by ignorePatterns. This is the common lint-staged use case where staged files may not match tool-specific patterns. +- Without `--fix`, unmatched patterns are reported as errors unless `--no-error-on-unmatched-pattern` is explicitly passed. Note that oxfmt supports this flag natively, while oxlint does not — `vp check` handles the lint side by treating unparseable lint output as a pass when the flag is active. This enables lint-staged integration: @@ -208,6 +210,7 @@ Options: --lint Run lint check [default: true] --type-aware Enable type-aware linting [default: true] --type-check Enable TypeScript type checking [default: true] + --no-error-on-unmatched-pattern Do not exit with error when no files match -h, --help Print help ``` From d7db5884b2c7475453a8525fe6074046bfee9961 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 14:04:21 +0800 Subject: [PATCH 2/6] refactor(check): improve clarity of suppress_unmatched branches Invert the empty if-branch into a negated guard condition. Improve comments to explain the asymmetry between fmt and lint None arms: oxfmt handles the flag natively (exits 0), while oxlint does not (exits non-zero), requiring an explicit status override. --- packages/cli/binding/src/check/mod.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/cli/binding/src/check/mod.rs b/packages/cli/binding/src/check/mod.rs index 7a07ab7cd0..9c53018fc3 100644 --- a/packages/cli/binding/src/check/mod.rs +++ b/packages/cli/binding/src/check/mod.rs @@ -94,11 +94,11 @@ pub(crate) async fn execute_check( )); } None => { - if suppress_unmatched && status == ExitStatus::SUCCESS { - // No files matched fmt patterns — treat as pass when - // --no-error-on-unmatched-pattern is active (explicit or - // implicit via --fix with paths). - } else { + // oxfmt handles --no-error-on-unmatched-pattern natively and + // exits 0 when no files match, so we only need to guard + // against the edge case where output is unparseable but the + // process still succeeded. + if !(suppress_unmatched && status == ExitStatus::SUCCESS) { print_error_block( "Formatting could not start", &combined_output, @@ -191,9 +191,9 @@ pub(crate) async fn execute_check( } None => { if suppress_unmatched { - // oxlint does not support --no-error-on-unmatched-pattern natively, - // so we handle it here: when all files are excluded by ignorePatterns - // and the flag is active, treat it as a pass instead of an error. + // oxlint does not support --no-error-on-unmatched-pattern natively + // and exits non-zero when no files match, so we must override the + // status here (unlike fmt, where oxfmt handles the flag and exits 0). status = ExitStatus::SUCCESS; } else { output::error("Linting could not start"); From 32b2b004390a4ae69327a455c748c593695275a0 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 14:05:12 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20correct=20typo=20`unparseable`=20?= =?UTF-8?q?=E2=86=92=20`unparsable`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/cli/binding/src/check/mod.rs | 2 +- rfcs/check-command.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/binding/src/check/mod.rs b/packages/cli/binding/src/check/mod.rs index 9c53018fc3..a242373a06 100644 --- a/packages/cli/binding/src/check/mod.rs +++ b/packages/cli/binding/src/check/mod.rs @@ -96,7 +96,7 @@ pub(crate) async fn execute_check( None => { // oxfmt handles --no-error-on-unmatched-pattern natively and // exits 0 when no files match, so we only need to guard - // against the edge case where output is unparseable but the + // against the edge case where output is unparsable but the // process still succeeded. if !(suppress_unmatched && status == ExitStatus::SUCCESS) { print_error_block( diff --git a/rfcs/check-command.md b/rfcs/check-command.md index 9e5cb87435..c442c5767b 100644 --- a/rfcs/check-command.md +++ b/rfcs/check-command.md @@ -76,7 +76,7 @@ When file paths are provided: - Paths are appended to both `fmt` and `lint` sub-commands - In `--fix` mode, `--no-error-on-unmatched-pattern` is implicitly enabled for both `fmt` and `lint`, preventing errors when all provided paths are excluded by ignorePatterns. This is the common lint-staged use case where staged files may not match tool-specific patterns. -- Without `--fix`, unmatched patterns are reported as errors unless `--no-error-on-unmatched-pattern` is explicitly passed. Note that oxfmt supports this flag natively, while oxlint does not — `vp check` handles the lint side by treating unparseable lint output as a pass when the flag is active. +- Without `--fix`, unmatched patterns are reported as errors unless `--no-error-on-unmatched-pattern` is explicitly passed. Note that oxfmt supports this flag natively, while oxlint does not — `vp check` handles the lint side by treating unparsable lint output as a pass when the flag is active. This enables lint-staged integration: From 231cfd725814039f123797559898b6dbf27313b8 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 14:53:52 +0800 Subject: [PATCH 4/6] fix(check): avoid swallowing real lint errors when suppress_unmatched is active Only suppress lint errors when the output is empty (no files to lint). If oxlint produced error output (config error, crash, etc.), surface it even when --no-error-on-unmatched-pattern is active. --- packages/cli/binding/src/check/mod.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli/binding/src/check/mod.rs b/packages/cli/binding/src/check/mod.rs index a242373a06..2f81d89ee7 100644 --- a/packages/cli/binding/src/check/mod.rs +++ b/packages/cli/binding/src/check/mod.rs @@ -190,10 +190,10 @@ pub(crate) async fn execute_check( )); } None => { - if suppress_unmatched { - // oxlint does not support --no-error-on-unmatched-pattern natively - // and exits non-zero when no files match, so we must override the - // status here (unlike fmt, where oxfmt handles the flag and exits 0). + // Only suppress when the output is empty (no files to lint). + // If oxlint produced error output (config error, crash, etc.), + // surface it even when suppress_unmatched is active. + if suppress_unmatched && combined_output.trim().is_empty() { status = ExitStatus::SUCCESS; } else { output::error("Linting could not start"); From 190e498578dd1dd033e8d3a773514fd4ea472bfe Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 14:55:37 +0800 Subject: [PATCH 5/6] test(check): verify real lint errors are not swallowed by suppress_unmatched Add snap test that runs `vp check --fix` with paths (activating suppress_unmatched) on a file with a real lint error, confirming the error is still surfaced and the command exits non-zero. --- .../.oxlintrc.json | 5 +++++ .../check-fix-lint-error-not-swallowed/package.json | 5 +++++ .../check-fix-lint-error-not-swallowed/snap.txt | 12 ++++++++++++ .../check-fix-lint-error-not-swallowed/src/index.js | 6 ++++++ .../check-fix-lint-error-not-swallowed/steps.json | 5 +++++ 5 files changed, 33 insertions(+) create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/package.json create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/snap.txt create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/src/index.js create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/steps.json diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json new file mode 100644 index 0000000000..d71deeeee8 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json @@ -0,0 +1,5 @@ +{ + "rules": { + "no-eval": "error" + } +} diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/package.json b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/package.json new file mode 100644 index 0000000000..efa7212f3f --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/package.json @@ -0,0 +1,5 @@ +{ + "name": "check-fix-lint-error-not-swallowed", + "version": "0.0.0", + "private": true +} diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/snap.txt b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/snap.txt new file mode 100644 index 0000000000..a9604d89a4 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/snap.txt @@ -0,0 +1,12 @@ +[1]> vp check --fix src/index.js # real lint error with --fix and paths (suppress_unmatched active), error must not be swallowed +error: Lint issues found +× eslint(no-eval): eval can be harmful. + ╭─[src/index.js:2:3] + 1 │ function hello() { + 2 │ eval("code"); + · ──── + 3 │ return "hello"; + ╰──── + help: Avoid eval(). For JSON parsing use JSON.parse(); for dynamic property access use bracket notation (obj[key]); for other cases refactor to avoid evaluating strings as code. + +Found 1 error and 0 warnings in 1 file (ms, threads) diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/src/index.js b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/src/index.js new file mode 100644 index 0000000000..e916f931f1 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/src/index.js @@ -0,0 +1,6 @@ +function hello() { + eval("code"); + return "hello"; +} + +export { hello }; diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/steps.json b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/steps.json new file mode 100644 index 0000000000..1905b1a113 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/steps.json @@ -0,0 +1,5 @@ +{ + "commands": [ + "vp check --fix src/index.js # real lint error with --fix and paths (suppress_unmatched active), error must not be swallowed" + ] +} From 10b0678f7665b545f8fe63957eb07eeb8906dc02 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 10 Apr 2026 15:02:30 +0800 Subject: [PATCH 6/6] test(check): use vite.config.ts instead of .oxlintrc.json for lint rules Replace .oxlintrc.json with vite.config.ts in the check-fix-lint-error-not-swallowed snap test to match the preferred configuration style used across other snap tests. --- .../check-fix-lint-error-not-swallowed/.oxlintrc.json | 5 ----- .../check-fix-lint-error-not-swallowed/vite.config.ts | 7 +++++++ 2 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json create mode 100644 packages/cli/snap-tests/check-fix-lint-error-not-swallowed/vite.config.ts diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json deleted file mode 100644 index d71deeeee8..0000000000 --- a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/.oxlintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "no-eval": "error" - } -} diff --git a/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/vite.config.ts b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/vite.config.ts new file mode 100644 index 0000000000..96170b5f50 --- /dev/null +++ b/packages/cli/snap-tests/check-fix-lint-error-not-swallowed/vite.config.ts @@ -0,0 +1,7 @@ +export default { + lint: { + rules: { + "no-eval": "error", + }, + }, +};