0.1.10 • Published 10 years ago

grunt-import-clean v0.1.10

Weekly downloads
1
License
MIT
Repository
github
Last release
10 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

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

11 years ago