renke / import-sort

Sort ES2015 (aka ES6) imports. Both JavaScript and TypeScript are supported.
ISC License
466 stars 73 forks source link

Breaks TypeScript module declarations #152

Open flying-sheep opened 2 years ago

flying-sheep commented 2 years ago

Hi! Thanks for the work, this is pretty nice!

There’s an edge case where it breaks code though:

I have the file react-app-env.d.ts. It has the following content:

declare module '@okta/okta-signin-widget' {
  import { OktaAuth, OktaAuthOptions, Tokens } from '@okta/okta-auth-js'
  ...
}

declare module 'axios/lib/helpers/isAxiosError' {
  import { AxiosError } from 'axios'
  export default function isAxiosError(error: unknown): error is AxiosError
}

Running this plugin (“module” style) generates the following broken code:

declare module '@okta/okta-signin-widget' {
  import { OktaAuth, OktaAuthOptions, Tokens } from '@okta/okta-auth-js'
  import { AxiosError } from 'axios'
  ...
}

declare module 'axios/lib/helpers/isAxiosError' {
  export default function isAxiosError(error: unknown): error is AxiosError
}