|
1 | 1 | use std::path::PathBuf; |
2 | 2 |
|
3 | 3 | use bpaf::Bpaf; |
4 | | -use oxc_linter::{AllowWarnDeny, FixKind, BuiltinLintPlugins}; |
| 4 | +use oxc_linter::{AllowWarnDeny, BuiltinLintPlugins, FixKind, LintPlugins}; |
5 | 5 |
|
6 | 6 | use crate::output_formatter::OutputFormat; |
7 | 7 |
|
@@ -327,24 +327,26 @@ impl OverrideToggle { |
327 | 327 | } |
328 | 328 |
|
329 | 329 | impl EnablePlugins { |
330 | | - pub fn apply_overrides(&self, plugins: &mut BuiltinLintPlugins) { |
331 | | - self.react_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::REACT, yes)); |
332 | | - self.unicorn_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::UNICORN, yes)); |
333 | | - self.oxc_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::OXC, yes)); |
334 | | - self.typescript_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::TYPESCRIPT, yes)); |
335 | | - self.import_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::IMPORT, yes)); |
336 | | - self.jsdoc_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::JSDOC, yes)); |
337 | | - self.jest_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::JEST, yes)); |
338 | | - self.vitest_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::VITEST, yes)); |
339 | | - self.jsx_a11y_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::JSX_A11Y, yes)); |
340 | | - self.nextjs_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::NEXTJS, yes)); |
341 | | - self.react_perf_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::REACT_PERF, yes)); |
342 | | - self.promise_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::PROMISE, yes)); |
343 | | - self.node_plugin.inspect(|yes| plugins.set(BuiltinLintPlugins::NODE, yes)); |
| 330 | + pub fn apply_overrides(&self, plugins: &mut LintPlugins) { |
| 331 | + self.react_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::REACT, yes)); |
| 332 | + self.unicorn_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::UNICORN, yes)); |
| 333 | + self.oxc_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::OXC, yes)); |
| 334 | + self.typescript_plugin |
| 335 | + .inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::TYPESCRIPT, yes)); |
| 336 | + self.import_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::IMPORT, yes)); |
| 337 | + self.jsdoc_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JSDOC, yes)); |
| 338 | + self.jest_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JEST, yes)); |
| 339 | + self.vitest_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::VITEST, yes)); |
| 340 | + self.jsx_a11y_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JSX_A11Y, yes)); |
| 341 | + self.nextjs_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::NEXTJS, yes)); |
| 342 | + self.react_perf_plugin |
| 343 | + .inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::REACT_PERF, yes)); |
| 344 | + self.promise_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::PROMISE, yes)); |
| 345 | + self.node_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::NODE, yes)); |
344 | 346 |
|
345 | 347 | // Without this, jest plugins adapted to vitest will not be enabled. |
346 | 348 | if self.vitest_plugin.is_enabled() && self.jest_plugin.is_not_set() { |
347 | | - plugins.set(BuiltinLintPlugins::JEST, true); |
| 349 | + plugins.builtin.set(BuiltinLintPlugins::JEST, true); |
348 | 350 | } |
349 | 351 | } |
350 | 352 | } |
@@ -381,40 +383,47 @@ pub struct InlineConfigOptions { |
381 | 383 |
|
382 | 384 | #[cfg(test)] |
383 | 385 | mod plugins { |
384 | | - use oxc_linter::BuiltinLintPlugins; |
| 386 | + use rustc_hash::FxHashSet; |
| 387 | + |
| 388 | + use oxc_linter::{BuiltinLintPlugins, LintPlugins}; |
385 | 389 |
|
386 | 390 | use super::{EnablePlugins, OverrideToggle}; |
387 | 391 |
|
388 | 392 | #[test] |
389 | 393 | fn test_override_default() { |
390 | | - let mut plugins = BuiltinLintPlugins::default(); |
| 394 | + let mut plugins = LintPlugins::default(); |
391 | 395 | let enable = EnablePlugins::default(); |
392 | 396 |
|
393 | 397 | enable.apply_overrides(&mut plugins); |
394 | | - assert_eq!(plugins, BuiltinLintPlugins::default()); |
| 398 | + assert_eq!(plugins, LintPlugins::default()); |
395 | 399 | } |
396 | 400 |
|
397 | 401 | #[test] |
398 | 402 | fn test_overrides() { |
399 | | - let mut plugins = BuiltinLintPlugins::default(); |
| 403 | + let mut plugins = LintPlugins::default(); |
400 | 404 | let enable = EnablePlugins { |
401 | 405 | react_plugin: OverrideToggle::Enable, |
402 | 406 | unicorn_plugin: OverrideToggle::Disable, |
403 | 407 | ..EnablePlugins::default() |
404 | 408 | }; |
405 | | - let expected = |
406 | | - BuiltinLintPlugins::default().union(BuiltinLintPlugins::REACT).difference(BuiltinLintPlugins::UNICORN); |
| 409 | + |
| 410 | + let expected = BuiltinLintPlugins::default() |
| 411 | + .union(BuiltinLintPlugins::REACT) |
| 412 | + .difference(BuiltinLintPlugins::UNICORN); |
407 | 413 |
|
408 | 414 | enable.apply_overrides(&mut plugins); |
409 | | - assert_eq!(plugins, expected); |
| 415 | + assert_eq!(plugins, LintPlugins::new(expected, FxHashSet::default())); |
410 | 416 | } |
411 | 417 |
|
412 | 418 | #[test] |
413 | 419 | fn test_override_vitest() { |
414 | | - let mut plugins = BuiltinLintPlugins::default(); |
| 420 | + let mut plugins = LintPlugins::default(); |
415 | 421 | let enable = |
416 | 422 | EnablePlugins { vitest_plugin: OverrideToggle::Enable, ..EnablePlugins::default() }; |
417 | | - let expected = BuiltinLintPlugins::default() | BuiltinLintPlugins::VITEST | BuiltinLintPlugins::JEST; |
| 423 | + let expected = LintPlugins::new( |
| 424 | + BuiltinLintPlugins::default() | BuiltinLintPlugins::VITEST | BuiltinLintPlugins::JEST, |
| 425 | + FxHashSet::default(), |
| 426 | + ); |
418 | 427 |
|
419 | 428 | enable.apply_overrides(&mut plugins); |
420 | 429 | assert_eq!(plugins, expected); |
|
0 commit comments