Skip to content

Commit

Permalink
feat(linter): add eslint/sort-imports rule
Browse files Browse the repository at this point in the history
  • Loading branch information
mysteryven committed Jun 9, 2024
1 parent f0b689d commit f97b6bf
Show file tree
Hide file tree
Showing 4 changed files with 1,047 additions and 0 deletions.
16 changes: 16 additions & 0 deletions crates/oxc_ast/src/ast/js.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3068,6 +3068,22 @@ pub enum ImportDeclarationSpecifier<'a> {
ImportNamespaceSpecifier(Box<'a, ImportNamespaceSpecifier<'a>>),
}

impl<'a> ImportDeclarationSpecifier<'a> {
pub fn name(&self) -> CompactStr {
match self {
ImportDeclarationSpecifier::ImportSpecifier(specifier) => {
specifier.local.name.to_compact_str()
}
ImportDeclarationSpecifier::ImportNamespaceSpecifier(specifier) => {
specifier.local.name.to_compact_str()
}
ImportDeclarationSpecifier::ImportDefaultSpecifier(specifier) => {
specifier.local.name.to_compact_str()
}
}
}
}

// import {imported} from "source"
// import {imported as local} from "source"
#[visited_node]
Expand Down
2 changes: 2 additions & 0 deletions crates/oxc_linter/src/rules.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ mod eslint {
pub mod radix;
pub mod require_await;
pub mod require_yield;
pub mod sort_imports;
pub mod symbol_description;
pub mod unicode_bom;
pub mod use_isnan;
Expand Down Expand Up @@ -490,6 +491,7 @@ oxc_macros::declare_all_lint_rules! {
eslint::radix,
eslint::require_yield,
eslint::symbol_description,
eslint::sort_imports,
eslint::unicode_bom,
eslint::use_isnan,
eslint::valid_typeof,
Expand Down
Loading

0 comments on commit f97b6bf

Please sign in to comment.