import-sort-style-custom
Version:
Sort your imports using import-sort with aliases and custom configurations
82 lines • 2.88 kB
TypeScript
import { IStyle } from 'import-sort-style';
import { CacheStrategyType } from 'tsconfig-resolver';
/**
* The aliased module configuration object.
*/
export interface CustomSettings {
/**
* When `true` will not search for any tsconfig.json. This might provide a slight performance boost.
*
* This options takes precedence over the other tsconfig options.
*/
ignoreTsConfig: boolean;
/**
* The name to use when searching for a TsConfig.
*
* @default 'tsconfig.json'
*/
tsconfigName: string;
/**
* A direct path to the tsconfig file relative to the `cwd`.
*/
tsconfigFilePath: string | undefined;
/**
* Determines how often to check for a new parent tsconfig file. By default it
* will check every time the directory changes. If you only have one
* tsconfig.json file for the whole project with consistent it makes sense to
* update this to 'never'.
*
* @default 'directory'
*/
cacheStrategy: CacheStrategyType;
/**
* When true will allow patterns which start with a `*` character.
*
* @default false
*/
wildcardAtStart: boolean;
/**
* Extra patterns that should be recognised as internal aliases.
*
* The pattern is the same as `tsconfig` files support supporting `*` as the
* wildcard character.
*/
extraAliases: string[];
/**
* When true this will insert a space after the alias section causing the
* relative imports to appear as a separate block.
*
* @default true
*/
spaceAfterAliases: boolean;
/**
* Ignore all paths that match this pattern. This takes preference over any
* matching aliases. If a module path matches the alias but doesn't
*
* The pattern is the same as `tsconfig` files support supporting `*` as the
* wildcard character.
*/
ignoredAliases: string[];
/**
* Files matching this pattern will be moved to a special group at the end of
* the imports.
*
* The pattern is the same as `tsconfig` files support supporting `*` as the
* wildcard character.
*/
bottomAliases: string[];
}
/**
* Sort the modules in the following order.
*
* - Imports with no members are left unsorted at the top of the file. These
* tend to have side effects and their order is important. `import 'tolu';`
* - Node module imports. `import { join } from 'path';`
* - Absolute module imports (but not aliased). `import main from 'main';`
* - Aliased imports taken from the `tsconfig.json`
* - Relative module imports
* - Bottom imports, which are set in the settings object as `bottomAliases`
*/
declare const sortStyleCustom: IStyle;
export default sortStyleCustom;
//# sourceMappingURL=index.d.ts.map