module-grouping-cli
A simple cli tool for sorting imported modules without configuration based on import-sort and import-sort-style-module-grouping
Grouping Rules:
Running this package will groups the es6 imports based on the following order:
- Absolute path dependencies in the following order
- javascript (.js, .jsx, .es6, .es) modules
- typescript (.ts, .tsx) modules
- styles (.css, .scss, .less) modules
- any other type of modules
- type imports (import type ... from '...';)
- Relative path dependencies in the following order
- javascript (.js, .jsx, .es6, .es) modules
- Relative typescript (.ts, .tsx) modules
- Relative styles (.css, .scss, .less) modules
- Relative any other type of modules
- Relative type imports (import type ... from './..';)
Sample
When a file imports packages in the following order:
;;;;;;;;;
The result will be:
;; ; ; ;; ;; ;
Run on git pre-commit
yarn add lint-staged husky --dev
// OR
npm install --save-dev lint-staged husky
// package.json
Install
yarn install module-grouping-cli --dev
Or
npm onstall module-grouping-cli --save-dev
Usage
Running the following command will display the result of changes after sorting ES2015 imports:
npx module-grouping-cli **/*.js
Use --write
to update files in-place
npx module-grouping-cli **/*.js --write
Installing and running this command it is exactly the same as installing these dependencies and running this configuration for import-sort.