0.1.10 • Published 8 years ago

grunt-import-clean v0.1.10

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

grunt-import-clean

Identify unused imports in ES6 modules.

Overview

grunt-import-clean is a simple plugin that identifies imports that are never referenced in modules utilizing the new ES6 syntax:

import {
  $_is,
  $_slice,
  $_shift,
  $_pop,
  $_forEach,
  $_length
} from 'static/shared';

export default function Constructor() {
  // ...
}

Constructor.prototype = {
  // ...
};

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-import-clean --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks( 'grunt-import-clean' );

The import-clean task

Overview

In your project's Gruntfile, add a section named 'import-clean' to the data object passed into grunt.initConfig().

grunt.initConfig({
  'import-clean': {
  target: [ /* target-specific file paths or patters go here. */ ],
  },
});

Options

PropertyTypeDefaultDescription
forceBooleanfalseA boolean value indicating whether grunt should continue if unused imports are detected.
ignoreString or Array of String[]The name(s) of unused imports to ignore. If ignored unused imports are detected, they will still be reported on with a warning. If only ignored unused imports are detected, grunt will continue.
testBooleanfalseA boolean value indicating whether unit tests should be run.

Usage Examples

In this example, 'import-clean:all' validates imports in all source files, while 'import-clean:some' validates only specific files.

Configuration

grunt.initConfig({
  'import-clean': {
  all: 'src/*.js',
  some: [ 'src/controller.js' , 'src/service.js' ]
  },
});

Output

# success

Validating imports in 5 files... ✓ OK
# error

Validating imports in 5 files...

"controller.js": [
  "$_is",
  "$_forEach"
],
"service.js": [
  "$_isArray"
]

Warning: found 3 unused imports in 2 files. Use --force to continue.

Configuration with ignore option

grunt.initConfig({
  'import-clean': {
    all: 'src/*.js',
    some: [ 'src/Component.jsx' , 'src/service.js' ],
    options: {
      ignore: ['React']  // OR simply ignore: 'React', OR to ignore multiple imports ['React', 'SomethingElse']
    }
  },
});

Output with ignore option

# success (only ignored unused imports found, grunt continues)

Validating imports in 5 files...

"Component.jsx": [
  "React   (IGNORED)"
]

Warning: found 1 unused imports in 1 files (1 IGNORED). Use --force to continue.
# error (ignored and non-ignored unused imports found, grunt stops)

Validating imports in 5 files...

"Component.jsx": [
  "React   (IGNORED)",
  "$_forEach"
],
"service.js": [
  "$_isArray"
]

Warning: found 3 unused imports in 2 files (1 IGNORED). Use --force to continue.
0.1.10

8 years ago

0.1.9

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago