Skip to content

Commit dfed22e

Browse files
committed
feat(linter/plugins): move custom JS plugin config to jsPlugins
1 parent a1bf721 commit dfed22e

File tree

42 files changed

+372
-427
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+372
-427
lines changed

apps/oxlint/src/command/lint.rs

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::path::PathBuf;
22

33
use bpaf::Bpaf;
4-
use oxc_linter::{AllowWarnDeny, BuiltinLintPlugins, FixKind, LintPlugins};
4+
use oxc_linter::{AllowWarnDeny, FixKind, LintPlugins};
55

66
use crate::output_formatter::OutputFormat;
77

@@ -378,27 +378,25 @@ impl OverrideToggle {
378378

379379
impl EnablePlugins {
380380
pub fn apply_overrides(&self, plugins: &mut LintPlugins) {
381-
self.react_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::REACT, yes));
382-
self.unicorn_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::UNICORN, yes));
383-
self.oxc_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::OXC, yes));
384-
self.typescript_plugin
385-
.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::TYPESCRIPT, yes));
386-
self.import_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::IMPORT, yes));
387-
self.jsdoc_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JSDOC, yes));
388-
self.jest_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JEST, yes));
389-
self.vitest_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::VITEST, yes));
390-
self.jsx_a11y_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::JSX_A11Y, yes));
391-
self.nextjs_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::NEXTJS, yes));
392-
self.react_perf_plugin
393-
.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::REACT_PERF, yes));
394-
self.promise_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::PROMISE, yes));
395-
self.node_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::NODE, yes));
396-
self.regex_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::REGEX, yes));
397-
self.vue_plugin.inspect(|yes| plugins.builtin.set(BuiltinLintPlugins::VUE, yes));
381+
self.react_plugin.inspect(|yes| plugins.set(LintPlugins::REACT, yes));
382+
self.unicorn_plugin.inspect(|yes| plugins.set(LintPlugins::UNICORN, yes));
383+
self.oxc_plugin.inspect(|yes| plugins.set(LintPlugins::OXC, yes));
384+
self.typescript_plugin.inspect(|yes| plugins.set(LintPlugins::TYPESCRIPT, yes));
385+
self.import_plugin.inspect(|yes| plugins.set(LintPlugins::IMPORT, yes));
386+
self.jsdoc_plugin.inspect(|yes| plugins.set(LintPlugins::JSDOC, yes));
387+
self.jest_plugin.inspect(|yes| plugins.set(LintPlugins::JEST, yes));
388+
self.vitest_plugin.inspect(|yes| plugins.set(LintPlugins::VITEST, yes));
389+
self.jsx_a11y_plugin.inspect(|yes| plugins.set(LintPlugins::JSX_A11Y, yes));
390+
self.nextjs_plugin.inspect(|yes| plugins.set(LintPlugins::NEXTJS, yes));
391+
self.react_perf_plugin.inspect(|yes| plugins.set(LintPlugins::REACT_PERF, yes));
392+
self.promise_plugin.inspect(|yes| plugins.set(LintPlugins::PROMISE, yes));
393+
self.node_plugin.inspect(|yes| plugins.set(LintPlugins::NODE, yes));
394+
self.regex_plugin.inspect(|yes| plugins.set(LintPlugins::REGEX, yes));
395+
self.vue_plugin.inspect(|yes| plugins.set(LintPlugins::VUE, yes));
398396

399397
// Without this, jest plugins adapted to vitest will not be enabled.
400398
if self.vitest_plugin.is_enabled() && self.jest_plugin.is_not_set() {
401-
plugins.builtin.set(BuiltinLintPlugins::JEST, true);
399+
plugins.set(LintPlugins::JEST, true);
402400
}
403401
}
404402
}
@@ -435,9 +433,7 @@ pub struct InlineConfigOptions {
435433

436434
#[cfg(test)]
437435
mod plugins {
438-
use rustc_hash::FxHashSet;
439-
440-
use oxc_linter::{BuiltinLintPlugins, LintPlugins};
436+
use oxc_linter::LintPlugins;
441437

442438
use super::{EnablePlugins, OverrideToggle};
443439

@@ -458,23 +454,19 @@ mod plugins {
458454
unicorn_plugin: OverrideToggle::Disable,
459455
..EnablePlugins::default()
460456
};
461-
let expected = BuiltinLintPlugins::default()
462-
.union(BuiltinLintPlugins::REACT)
463-
.difference(BuiltinLintPlugins::UNICORN);
457+
let expected =
458+
LintPlugins::default().union(LintPlugins::REACT).difference(LintPlugins::UNICORN);
464459

465460
enable.apply_overrides(&mut plugins);
466-
assert_eq!(plugins, LintPlugins::new(expected, FxHashSet::default()));
461+
assert_eq!(plugins, expected);
467462
}
468463

469464
#[test]
470465
fn test_override_vitest() {
471466
let mut plugins = LintPlugins::default();
472467
let enable =
473468
EnablePlugins { vitest_plugin: OverrideToggle::Enable, ..EnablePlugins::default() };
474-
let expected = LintPlugins::new(
475-
BuiltinLintPlugins::default() | BuiltinLintPlugins::VITEST | BuiltinLintPlugins::JEST,
476-
FxHashSet::default(),
477-
);
469+
let expected = LintPlugins::default() | LintPlugins::VITEST | LintPlugins::JEST;
478470

479471
enable.apply_overrides(&mut plugins);
480472
assert_eq!(plugins, expected);

apps/oxlint/src/snapshots/_-c fixtures__print_config__ban_rules__eslintrc.json -A all -D eqeqeq --print-config@oxlint.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ working directory:
1111
"typescript",
1212
"oxc"
1313
],
14+
"jsPlugins": null,
1415
"categories": {},
1516
"rules": {
1617
"eqeqeq": [

apps/oxlint/src/snapshots/fixtures_-A all --print-config@oxlint.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ working directory: fixtures
1111
"typescript",
1212
"oxc"
1313
],
14+
"jsPlugins": null,
1415
"categories": {},
1516
"rules": {},
1617
"settings": {

apps/oxlint/test/fixtures/basic_custom_plugin/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"rules": {
44
"basic-custom-plugin/no-debugger": "error"
55
}

apps/oxlint/test/fixtures/basic_custom_plugin_many_files/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"rules": {
44
"basic-custom-plugin/no-debugger": "error"
55
}

apps/oxlint/test/fixtures/basic_custom_plugin_multiple_rules/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"rules": {
44
"basic-custom-plugin/no-debugger": "error",
55
"basic-custom-plugin/no-debugger-2": "error",

apps/oxlint/test/fixtures/basic_custom_plugin_warn_severity/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"rules": {
44
"basic-custom-plugin/no-debugger": "warn"
55
}

apps/oxlint/test/fixtures/context_properties/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"categories": { "correctness": "off" },
44
"rules": {
55
"context-plugin/log-context": "error"

apps/oxlint/test/fixtures/createOnce/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"categories": { "correctness": "off" },
44
"rules": {
55
"create-once-plugin/always-run": "error",

apps/oxlint/test/fixtures/custom_plugin_disable_directives/.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["./plugin.js"],
2+
"jsPlugins": ["./plugin.js"],
33
"categories": { "correctness": "off" },
44
"rules": {
55
"test-plugin/no-var": "error",

0 commit comments

Comments
 (0)