https://github.com/fsmaia/import-sort-style-module-alias
*import-sort-style-module* with relative modules aliases
https://github.com/fsmaia/import-sort-style-module-alias
codestyle import-sort import-sort-style sort sort-style
Last synced: 6 months ago
JSON representation
*import-sort-style-module* with relative modules aliases
- Host: GitHub
- URL: https://github.com/fsmaia/import-sort-style-module-alias
- Owner: fsmaia
- Created: 2017-03-17T19:17:43.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T21:51:38.000Z (over 2 years ago)
- Last Synced: 2025-07-20T23:27:01.984Z (7 months ago)
- Topics: codestyle, import-sort, import-sort-style, sort, sort-style
- Language: TypeScript
- Size: 1.82 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# import-sort-style-module-alias





A style for [import-sort](https://github.com/renke/import-sort) that is focused
on modules with relative modules alias support.
## Options
| Name | Type | Description | Default value |
| ---------------------- | -------- | ----------------------------------------------------------------- | ------------- |
| alias | string[] | List of resolver aliases | [] |
| overrideBuiltInModules | boolean | Whether an alias should override a Node built-in module (e.g. fs) | true |
## Configuration
package.json:
```json
{
"importSort": {
".js, .jsx, .es6, .es": {
"parser": "babylon",
"style": "module-alias",
"options": {
"alias": ["components", "modules"],
"overrideBuiltinModules": true
}
},
".ts, .tsx": {
"parser": "typescript",
"style": "module-alias",
"options": {
"alias": ["components", "modules"]
}
}
}
}
```
or .importsortrc:
```json
{
".js, .jsx, .es6, .es": {
"parser": "babylon",
"style": "module-alias",
"options": {
"alias": ["components", "modules"]
}
},
".ts, .tsx": {
"parser": "typescript",
"style": "module-alias",
"options": {
"alias": ["components", "modules"]
}
}
}
```
## Result
```js
// Third-party modules with side effects (not sorted because order may matter)
import 'a';
import 'c';
import 'b';
// First-party alias modules with side effects (not sorted because order may matter)
import '{aliasA}';
import '{aliasC}';
import '{aliasB}';
// First-party relative modules with side effects (not sorted because order may matter)
import './a';
import './c';
import './b';
// Modules from the Node.js "standard" library sorted by name
import { readFile, writeFile } from 'fs';
import * as path from 'path';
// Third-party modules sorted by name
import aa from 'aa';
import bb from 'bb';
import cc from 'cc';
// First-party alias modules sorted by name
import aaa from '{aliasAAA}';
import bbb from '{aliasBBB}';
// First-party relative modules sorted by "relative depth" and then by name
import aaa from '../../aaa';
import bbb from '../../bbb';
import aaaa from '../aaaa';
import bbbb from '../bbbb';
import aaaaa from './aaaaa';
import bbbbb from './bbbbb';
```