organize-js-imports

    1.2.1 • Public • Published

    organize-js-imports

    Orders and justifies the imports in ES2015+ code

    Features

    • Orders the imports by distance
    • Orders the imports alphabetically by library and names
    • Combines imports that refer to the same library
    • Adds padding to keep froms below each other (can be disabled)

    Changelog

    Install

    $ npm install organize-js-imports
    $ node ./node_modules/organize-js-imports -dry-run
    

    Usage

    organize-js-imports <options>
    Possible arguments (dashed possible: -max-names-length, -dry-run):
    -maxNamesLength (default:30) Name padding max. Set to 0 for no padding.
    -path[s]        (default:**/*.js) One or more globs for files to process.
    -git[Modified]  Overrides -path to only process the modified files according to git.
    -exclude[s]     (default:**/node_modules/** **/jspm_package/**)
                    One or more globs for files to exclude.
    -encoding       (default:utf8) Encoding for reading and writing files.
    -recent [n] [p] Only process files altered in the recent n (def=1) period.
                    Period is one of milliseconds/ms, seconds/s, hours/h,
                    minutes/m, days/d(def), weeks/w, months/M, quarters/Q, years/y.
    -older n [p]    Only process files altered at least n p ago.
                    The n and p like -recent.
    -depthSort      Imports will be sorted on their depth (deepest first).
    -quiet          Don't print anything except errors.
    -verbose        Print the name of each scanned file.
    -debug          Print the name and altered imports of each scanned file.  
    -dryRun         Files will not be altered.
    -validate       Exits 10 when files need organizing. Files will not be altered.
    

    For example

    $ organize-js-imports -paths src/foo/**/*.js src/bar/bar.js -maxNamesLength 40 -verbose
    

    Example

    Input

    import 'b'
    import {c} from 'libc'
    import {o} from './../opq'
    import d from './libd'
    import j, { k,l,m } from 'foo'
    import {p} from '../opq';
    import 'a'
    import 'w'
    import {q} from '../opq';
    import r from '../rst'
    import {x,y} from './xy'

    Organized

    import 'a';
    import 'b';
    import 'w';
     
    import j, {k, l, m} from 'foo';
    import {c}          from 'libc';
     
    import {o, p, q}    from '../opq';
    import r            from '../rst';
     
    import d            from './libd';
    import {x, y}       from './xy';

    License

    MIT (C) Nicolas de Jong

    Install

    npm i organize-js-imports

    DownloadsWeekly Downloads

    17

    Version

    1.2.1

    License

    MIT

    Last publish

    Collaborators

    • nicolasdejong