11use std:: path:: PathBuf ;
22
33use bpaf:: Bpaf ;
4- use oxc_linter:: { AllowWarnDeny , BuiltinLintPlugins , FixKind } ;
4+ use oxc_linter:: { AllowWarnDeny , BuiltinLintPlugins , FixKind , LintPlugins } ;
55
66use crate :: output_formatter:: OutputFormat ;
77
@@ -327,24 +327,26 @@ impl OverrideToggle {
327327}
328328
329329impl 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) ) ;
344346
345347 // Without this, jest plugins adapted to vitest will not be enabled.
346348 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 ) ;
348350 }
349351 }
350352}
@@ -381,22 +383,24 @@ pub struct InlineConfigOptions {
381383
382384#[ cfg( test) ]
383385mod plugins {
384- use oxc_linter:: BuiltinLintPlugins ;
386+ use rustc_hash:: FxHashSet ;
387+
388+ use oxc_linter:: { BuiltinLintPlugins , LintPlugins } ;
385389
386390 use super :: { EnablePlugins , OverrideToggle } ;
387391
388392 #[ test]
389393 fn test_override_default ( ) {
390- let mut plugins = BuiltinLintPlugins :: default ( ) ;
394+ let mut plugins = LintPlugins :: default ( ) ;
391395 let enable = EnablePlugins :: default ( ) ;
392396
393397 enable. apply_overrides ( & mut plugins) ;
394- assert_eq ! ( plugins, BuiltinLintPlugins :: default ( ) ) ;
398+ assert_eq ! ( plugins, LintPlugins :: default ( ) ) ;
395399 }
396400
397401 #[ test]
398402 fn test_overrides ( ) {
399- let mut plugins = BuiltinLintPlugins :: default ( ) ;
403+ let mut plugins = LintPlugins :: default ( ) ;
400404 let enable = EnablePlugins {
401405 react_plugin : OverrideToggle :: Enable ,
402406 unicorn_plugin : OverrideToggle :: Disable ,
@@ -407,16 +411,18 @@ mod plugins {
407411 . difference ( BuiltinLintPlugins :: UNICORN ) ;
408412
409413 enable. apply_overrides ( & mut plugins) ;
410- assert_eq ! ( plugins, expected) ;
414+ assert_eq ! ( plugins, LintPlugins :: new ( expected, FxHashSet :: default ( ) ) ) ;
411415 }
412416
413417 #[ test]
414418 fn test_override_vitest ( ) {
415- let mut plugins = BuiltinLintPlugins :: default ( ) ;
419+ let mut plugins = LintPlugins :: default ( ) ;
416420 let enable =
417421 EnablePlugins { vitest_plugin : OverrideToggle :: Enable , ..EnablePlugins :: default ( ) } ;
418- let expected =
419- BuiltinLintPlugins :: default ( ) | BuiltinLintPlugins :: VITEST | BuiltinLintPlugins :: JEST ;
422+ let expected = LintPlugins :: new (
423+ BuiltinLintPlugins :: default ( ) | BuiltinLintPlugins :: VITEST | BuiltinLintPlugins :: JEST ,
424+ FxHashSet :: default ( ) ,
425+ ) ;
420426
421427 enable. apply_overrides ( & mut plugins) ;
422428 assert_eq ! ( plugins, expected) ;
0 commit comments