Skip to content

auto import exclude specific member from module #215

Open
@tjx666

Description

I use next-nprogress-bar in my next.js project, but ts will sometimes import useRouter from next-nprogress-bar which is not my expected:

import { useRouter } from 'next-nprogress-bar';

export function useRenderPageAsComp(pagePathname: string) {
  const { pathname } = useRouter();
  return pathname !== pagePathname;
}

Solution

depracetd old seeting suggestions.ignoreAutoImports" and extend it to `suggestions.autoImports":

"suggestions.autoImports": [
  {
    "modules": ["path"], // ignore path, but not path/posix or path/win32 modules,
    "members": []
  }
  {
    "modules": ["next-nprogress-bar"],
    "excludeMembers": ["useRouter"] // will exclude useRouter from next-nprogress-bar
  },
  {
    "modules": ["@mui/material"],
    "excludeMembers": ["SxProps"] // will exclude type SxProps from @mui/material
  },
  {
    "modules": ["@mui/system"],
    "members": ["SystemCssProperties"], will exclude all other members except for `SystemCssProperties`
  }
]

Maybe you can get some inspiration from https://eslint.org/docs/latest/rules/no-restricted-imports

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions