Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

module-grouping-cli

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

module-grouping-cli

A simple cli tool for sorting imported modules without configuration based on [import-sort](https://www.npmjs.com/package/import-sort) and [import-sort-style-module-grouping](https://www.npmjs.com/package/import-sort-style-module-grouping)

  • 0.2.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
increased by100%
Maintainers
1
Weekly downloads
 
Created
Source

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:

import React from 'react';
import Redux from 'redux';
import type {Node} from 'react';
import theme from 'mdc/index.scss';
import css from './button.module.css';
import css from './dropdown.module.css';
import {ReactComponent} from './logo.svg';
import Button from './button';
import DropDown from './dropdown';

The result will be:

import React from 'react';
import Redux from 'redux';

import theme from 'mdc/index.scss';

import type {Node} from 'react';

import Button from './button';
import DropDown from './dropdown';

import css from './button.module.css';
import css from './dropdown.module.css';

import {ReactComponent} from './logo.svg';

Run on git pre-commit

yarn add lint-staged husky --dev
// OR
npm install --save-dev lint-staged husky
// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.js": [
      "module-grouping --write",
      "git add"
    ],
    "yarn.lock": [
      "git rm --cached"
    ]
  }
}

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.

FAQs

Package last updated on 14 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc