Skip to content

Commit b20b56d

Browse files
committed
feat(linter): add vue/no-multiple-slot-args rule (#13579)
related #11440 https://eslint.vuejs.org/rules/no-multiple-slot-args.html The original rule starts from a `MemberExpression` and checks later if the parent is a `CallExpression`. This implementation checks for a `CallExpression` and tries to check `MemberExpression`. All 22 tests are getting diagnosed, even the weird use case: ``` let children children = this.$scopedSlots.foo if (children) children(...foo) ```
1 parent aafe08c commit b20b56d

File tree

4 files changed

+605
-0
lines changed

4 files changed

+605
-0
lines changed

crates/oxc_linter/src/generated/rule_runner_impls.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2445,6 +2445,10 @@ impl RuleRunner for crate::rules::vue::define_props_declaration::DefinePropsDecl
24452445
const NODE_TYPES: Option<&AstTypesBitset> = None;
24462446
}
24472447

2448+
impl RuleRunner for crate::rules::vue::no_multiple_slot_args::NoMultipleSlotArgs {
2449+
const NODE_TYPES: Option<&AstTypesBitset> = None;
2450+
}
2451+
24482452
impl RuleRunner for crate::rules::vue::valid_define_emits::ValidDefineEmits {
24492453
const NODE_TYPES: Option<&AstTypesBitset> = None;
24502454
}

crates/oxc_linter/src/rules.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,7 @@ pub(crate) mod node {
626626
pub(crate) mod vue {
627627
pub mod define_emits_declaration;
628628
pub mod define_props_declaration;
629+
pub mod no_multiple_slot_args;
629630
pub mod valid_define_emits;
630631
pub mod valid_define_props;
631632
}
@@ -1207,6 +1208,7 @@ oxc_macros::declare_all_lint_rules! {
12071208
vitest::require_local_test_context_for_concurrent_snapshots,
12081209
vue::define_emits_declaration,
12091210
vue::define_props_declaration,
1211+
vue::no_multiple_slot_args,
12101212
vue::valid_define_emits,
12111213
vue::valid_define_props,
12121214
}

0 commit comments

Comments
 (0)