Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

depcheck

depcheck3.9mMIT1.4.7TypeScript support: included

Check dependencies in your node module

check, unused, package, packages, depcheck, dependency, dependencies, devDependencies

readme

depcheck

Depcheck is a tool for analyzing the dependencies in a project to see: how each dependency is used, which dependencies are useless, and which dependencies are missing from package.json.

Status

Build Status Financial Contributors on Open Collective Build status codecov.io

Dependencies

Installation

npm install -g depcheck

Or simply using npx which is a package runner bundled in npm:

$ npx depcheck

Notice: depcheck needs node.js >= 10.

Syntax Support

Depcheck not only recognizes the dependencies in JavaScript files, but also supports these syntaxes:

To get the syntax support by external dependency, please install the corresponding package explicitly. For example, for TypeScript user, install depcheck with typescript package:

npm install -g depcheck typescript

Special

The special component is used to recognize the dependencies that are not generally used in the above syntax files. The following scenarios are supported by specials:

  • babel - Babel presets and plugins
  • bin - Dependencies used in npm commands, Travis scripts or other CI scripts
  • commitizen - Commitizen configuration adaptor
  • eslint - ESLint configuration presets, parsers and plugins
  • feross-standard - Feross standard format parser
  • gatsby - Gatsby configuration parser
  • gulp-load-plugins - Gulp-load-plugins lazy loaded plugins
  • husky - Husky configuration parser
  • istanbul - Istanbul nyc configuration extensions
  • jest - Jest properties in Jest Configuration
  • karma - Karma configuration frameworks, browsers, preprocessors and reporters
  • lint-staged - Lint-staged configuration parser
  • mocha - Mocha explicit required dependencies
  • prettier - Prettier configuration module
  • tslint - TSLint configuration presets, parsers and plugins
  • ttypescript - ttypescript transformers
  • webpack - Webpack loaders
  • serverless- Serverless plugins

The logic of a special is not perfect. There might be false alerts. If this happens, please open an issue for us.

Usage

depcheck [directory] [arguments]

The directory argument is the root directory of your project (where the package.json file is). If unspecified, defaults to current directory.

All of the arguments are optional:

--ignore-bin-package=[true|false]: A flag to indicate if depcheck ignores the packages containing bin entry. The default value is false.

--skip-missing=[true|false]: A flag to indicate if depcheck skips calculation of missing dependencies. The default value is false.

--json: Output results in JSON. When not specified, depcheck outputs in human friendly format.

--oneline: Output results as space separated string. Useful for copy/paste.

--ignores: A comma separated array containing package names to ignore. It can be glob expressions. Example, --ignores="eslint,babel-*".

--ignore-dirs: DEPRECATED, use ignore-patterns instead. A comma separated array containing directory names to ignore. Example, --ignore-dirs=dist,coverage.

--ignore-path: Path to a file with patterns describing files to ignore. Files must match the .gitignore spec. Example, --ignore-path=.eslintignore.

--ignore-patterns: Comma separated patterns describing files to ignore. Patterns must match the .gitignore spec. Example, --ignore-patterns=build/Release,dist,coverage,*.log.

--quiet: Suppress the "No depcheck issue" log. Useful in a monorepo with multiple packages to focus only on packages with issues.

--help: Show the help message.

--parsers, --detectors and --specials: These arguments are for advanced usage. They provide an easy way to customize the file parser and dependency detection. Check the pluggable design document for more information.

--config=[filename]: An external configuration file (see below).

Usage with a configuration file

Depcheck can be used with an rc configuration file. In order to do so, create a .depcheckrc file in your project's package.json folder, and set the CLI keys in YAML, JSON, and JavaScript formats. For example, the CLI arguments --ignores="eslint,babel-*" --skip-missing=true would turn into:

.depcheckrc

ignores: ["eslint", "babel-*"]
skip-missing: true

Important: if provided CLI arguments conflict with configuration file ones, the CLI ones will take precedence over the rc file ones.

The rc configuration file can also contain the following extensions: .json, .yaml, .yml.

API

Similar options are provided to depcheck function for programming:

import depcheck from 'depcheck';

const options = {
  ignoreBinPackage: false, // ignore the packages with bin entry
  skipMissing: false, // skip calculation of missing dependencies
  ignorePatterns: [
    // files matching these patterns will be ignored
    'sandbox',
    'dist',
    'bower_components',
  ],
  ignoreMatches: [
    // ignore dependencies that matches these globs
    'grunt-*',
  ],
  parsers: {
    // the target parsers
    '**/*.js': depcheck.parser.es6,
    '**/*.jsx': depcheck.parser.jsx,
  },
  detectors: [
    // the target detectors
    depcheck.detector.requireCallExpression,
    depcheck.detector.importDeclaration,
  ],
  specials: [
    // the target special parsers
    depcheck.special.eslint,
    depcheck.special.webpack,
  ],
  package: {
    // may specify dependencies instead of parsing package.json
    dependencies: {
      lodash: '^4.17.15',
    },
    devDependencies: {
      eslint: '^6.6.0',
    },
    peerDependencies: {},
    optionalDependencies: {},
  },
};

depcheck('/path/to/your/project', options).then((unused) => {
  console.log(unused.dependencies); // an array containing the unused dependencies
  console.log(unused.devDependencies); // an array containing the unused devDependencies
  console.log(unused.missing); // a lookup containing the dependencies missing in `package.json` and where they are used
  console.log(unused.using); // a lookup indicating each dependency is used by which files
  console.log(unused.invalidFiles); // files that cannot access or parse
  console.log(unused.invalidDirs); // directories that cannot access
});

Example

The following example checks the dependencies under /path/to/my/project folder:

$> depcheck /path/to/my/project
Unused dependencies
* underscore
Unused devDependencies
* jasmine
Missing dependencies
* lodash

It figures out:

  • The dependency underscore is declared in the package.json file, but not used by any code.
  • The devDependency jasmine is declared in the package.json file, but not used by any code.
  • The dependency lodash is used somewhere in the code, but not declared in the package.json file.

Please note that, if a subfolder has a package.json file, it is considered another project and should be checked with another depcheck command.

The following example checks the same project, however, outputs as a JSON blob. Depcheck's JSON output is in one single line for easy pipe and computation. The json command after the pipe is a node.js program to beautify the output.

$> depcheck /path/to/my/project --json | json
{
  "dependencies": [
    "underscore"
  ],
  "devDependencies": [
    "jasmine"
  ],
  "missing": {
    "lodash": [
      "/path/to/my/project/file.using.lodash.js"
    ]
  },
  "using": {
    "react": [
      "/path/to/my/project/file.using.react.jsx",
      "/path/to/my/project/another.file.using.react.jsx"
    ],
    "lodash": [
      "/path/to/my/project/file.using.lodash.js"
    ]
  },
  "invalidFiles": {
    "/path/to/my/project/file.having.syntax.error.js": "SyntaxError: <call stack here>"
  },
  "invalidDirs": {
    "/path/to/my/project/folder/without/permission": "Error: EACCES, <call stack here>"
  }
}
  • The dependencies, devDependencies and missing properties have the same meanings in the previous example.
  • The using property is a lookup indicating each dependency is used by which files.
  • The value of missing and using lookup is an array. It means the dependency may be used by many files.
  • The invalidFiles property contains the files having syntax error or permission error. The value is the error details. However, only one error is stored in the lookup.
  • The invalidDirs property contains the directories having permission error. The value is the error details.

False Alert

Depcheck just walks through all files and tries to find the dependencies according to some predefined rules. However, the predefined rules may not be enough or may even be wrong.

There may be some cases in which a dependency is being used but is reported as unused, or a dependency is not used but is reported as missing. These are false alert situations.

If you find that depcheck is reporting a false alert, please open an issue with the following information to let us know:

  • The output from depcheck --json command. Beautified JSON is better.
  • Which dependencies are considered as false alert?
  • How are you using those dependencies, what do the files look like?

Changelog

We use the GitHub release page to manage changelog.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

MIT License.

changelog

Changelog

v1.4.6 (2023-09-11)

Full Changelog

Closed issues:

  • Add explicitResourceManagement to default TS babel config #833
  • Flag to make logs readable and less verbose #759

Merged pull requests:

  • Add explicitResourceManagement to TypeScript babel settings #834 (jtbandes)
  • Support projects field in jest configuration #831 (dobesv)
  • Handle scoped package bin with default name #830 (dobesv)
  • feat: add --quiet flag to suppress No depcheck issue messages #829 (openam)
  • fix(sass): don't detect transitive dependencies #827 (miluoshi)
  • feat(tsconfig): support tsconfig.json files with comments #826 (miluoshi)
  • fix(storybook): parse package names out of addons array #825 (miluoshi)

v1.4.5 (2023-08-21)

Full Changelog

v1.4.4 (2023-08-21)

Full Changelog

Fixed bugs:

  • Next.js webpack configuration detection failed #805
  • Missing = Using #794
  • Breaks when using satisfies operator in TypeScript #768
  • Unable to analyze next.config.js in a ESM package #762
  • Suddenly stopped working #750
  • mjs and cjs extensions not detected by default #733
  • Unexpected token '.' #715
  • Depcheck started returning incorrect unused dependencies without any changes #687
  • [false positives] SCSS variables are tracked as packages, while they are not #633

Closed issues:

  • Upcoming releases #799
  • Add an option to clear the cache #755
  • Support babel config that exports a function #723
  • Support graphql imports #722
  • Support typescript "extends" and "types" fields #720
  • Support babel preset scope shorthand #719
  • Allow marking a directory to pass the isModule check #711
  • Support React 17 #697

Merged pull requests:

1.4.3 (2022-01-09)

Full Changelog

Fixed bugs:

  • Different results when running depcheck from npm install -g vs npx #689
  • Fails with Top-Level Await #671

Closed issues:

  • false alert on file src/server.js #655
  • Svelte Support #650
  • False positive: types-only dependencies #568

Merged pull requests:

1.4.2 (2021-06-08)

Full Changelog

Fixed bugs:

  • Fails to parse serverless.yml if it contains certain CloudFormation syntax #639

Closed issues:

  • False positive: eslint overrides #570

Merged pull requests:

1.4.1 (2021-05-11)

Full Changelog

Fixed bugs:

  • punycode being listed as unused, although the built in version is deprecated #628
  • Not working with Vue3 #610

Merged pull requests:

1.4.0 (2021-02-16)

Full Changelog

Fixed bugs:

  • updating from 1.2.0 to 1.3.1 parsers glob stopped working #606
  • 非常差劲 导致我项目启动不了了!!!!误报非常的多 提issue 都不可能提的过来 #604
  • False positive: eslint-import-resolver-typescript #603
  • Depcheck Fails Incorrectly at "=" sign starting v1.3.0 #601
  • False positive in Next.js Config file: next.config.js #583

Closed issues:

  • Different output when invoking from shell script #617
  • How to disable a special when using the API? #614

Merged pull requests:

1.3.1 (2020-11-09)

Full Changelog

Merged pull requests:

  • Fix extracting dependencies from webpack #602 (rumpl)

1.3.0 (2020-11-09)

Full Changelog

Fixed bugs:

  • False positive: eslint import resolvers #571

Closed issues:

  • false alert for React 17 #591
  • false alert with typescript path aliases #590
  • Allow to define patterns against absolute file path (again) #589
  • Can't read property 'name' of undefined #579
  • Support .*ignore files #497

Merged pull requests:

  • Update dependencies #599 (rumpl)
  • Support webpack's oneOf in rules #598 (rumpl)
  • Fix eslint when eslint-plugin-import is used #597 (rumpl)
  • The error thrown is not always a YAML error #596 (rumpl)
  • Support parser patterns based on file paths #595 (rumpl)
  • Support react >= 17.0.0 that doesn't need to be imported #594 (rumpl)
  • Use the promise version of the api in the example #593 (rumpl)
  • Add option to run depcheck through npx #586 (elrumordelaluz)
  • fix(sass-parser): ignore local import in scss #581 (YonatanKra)
  • Improved webpack support #580 (cwillisf)

1.2.0 (2020-08-12)

Full Changelog

Closed issues:

  • Sass 'use' syntax not working #576
  • depcheck should ignore depcheck by default #565
  • False unused dev dependencies report #560
  • False alert for eslint packages #554
  • Bug: specials are not working #551
  • depcheck should ignore hidden folders and files #543
  • ignore-patterns option from readme description is not supported in latest release #537
  • Option to exit without error code (when running via "npm run depcheck") #533
  • babelrc format #527
  • Support Gatsby plugins with resolve #525

Merged pull requests:

  • fix: now supports multi ignore in ignorePattern #578 (YonatanKra)
  • feat(sass parser): support @use and namespace syntax #577 (YonatanKra)
  • Add resolve and nested dependency check for Gatsby #573 (nagygergo)
  • fix: support eslint config that needs to be required #561 (znarf)
  • Feat: Special for serverless config #559 (mzl-md)
  • Add node 14.x to the matrix #557 (rumpl)
  • Try to parse JSON5 babelrc files #556 (rumpl)
  • chore: update all dependencies (July 2020) #555 (znarf)

1.0.0 (2020-05-14)

Full Changelog

Closed issues:

  • Error when running from script #531
  • Missing Changelog for 0.9.2 #521
  • Depcheck should only process files that are relevant to depcheck #420
  • False positive when using inline Webpack loader #236
  • Dependencies out of date #273
  • Add support for @types declaration packages #163
  • Improvements for CI use #162

Merged pull requests:

0.9.2 (2020-01-30)

Full Changelog

Closed issues:

  • Use Cosmiconfig #516
  • Feature: add special parser for Istanbul.js #508
  • New mocha configuration file not seen #507
  • False positive with @types/mocha #504
  • Error: ENFILE: file table overflow (macOS) #501
  • eslint: dependency wrongly mark as unused #500
  • special/eslint: bad calculation of preset dependencies #476
  • Load ignore rules from a lines separated file #409
  • Improvements for CI use #162

Merged pull requests:

  • Review special documentation #515 (sveyret)
  • Add Istanbul special parser #514 (sveyret)
  • Refactor: read content only when needed #513 (znarf)
  • Add debug package and messages to the project #512 (znarf)
  • Support for more decorators #511 (micky2be)
  • Improve recursive work of eslint configuration check #506 (sveyret)
  • Improvements for mocha #505 (sveyret)
  • Support webpack styleguidist configuration #503 (znarf)
  • Use a single promise to read a given file #502 (znarf)
  • Support for next.js webpack configuration #496 (znarf)
  • Rename 'linters' and fix babel config file detection #495 (znarf)
  • Suppress unnecessary fileContent #494 (znarf)
  • Update travis commands and reference #493 (znarf)
  • Add eslint-plugin-mocha and lint test directory #492 (znarf)
  • Better prettier configuration #490 (znarf)
  • Remove remaining dev option #489 (znarf)
  • chore: remove editorconfig file #488 (rumpl)
  • Update babel target to node 10, use prettier plugin #487 (rumpl)
  • chore(deps): Update all dependencies to latest #486 (rumpl)
  • Do not calculate expensive dep differences when skipMissing is active #485 (dword-design)
  • Adjust babel special to eslint implementation #484 (dword-design)
  • Add deps parameter to detectors #482 (dword-design)
  • Activating Open Collective #481 (monkeywithacupcake)
  • Document and provide types for the API's package option #479 (edsrzf)
  • Try to load eslint.js modules without a module.exports wrapper #478 (rjatkins)
  • special/eslint: corrections on dependencies resolver #477 (sveyret)
  • chore: add changelog file #475 (rumpl)
  • Support loading configuration from a config file. #408 (Urik)

0.9.1 (2019-11-08)

Full Changelog

Closed issues:

  • Core packages are labeled as unused #462
  • Packages used inside package.json are not detected #461
  • False positives when using multiple package.json files #441
  • Use prettier #431
  • Incorrect unused dependencies in react-ace #414
  • option --json changes return status #407
  • False positive: eslint-config-eslint:all #404
  • False positive: eslint-config-prettier #330
  • False Alert with pre-commit module #320
  • False positiv husky #315
  • False positive tslint-plugin-prettier, tslint-react, tslint-sonarts #314
  • False dependency when using ESLint vue plugin #239
  • False positive when using vue-sticky in a vue component #238
  • devDependencies defined in package scripts not detected. #200
  • Support ESLint YAML and JS config. #150

Merged pull requests:

0.9.0 (2019-11-01)

Full Changelog

Closed issues:

  • special/webpack: babel-loader presets are not detected #448
  • special/webpack: entries should also be scanned #446
  • TypeScript: false positive for node built-in module types #444
  • False alert: TypeScript import type not detected #438
  • Node modules may be in parent directories #436
  • 12x more useful if Missing dependencies includes the file it was found it #428
  • body-parser #423

Merged pull requests:

  • special/webpack: Use tryRequire to load configuration file #451 (sveyret)
  • chore: Remove the deprecated flag #450 (rumpl)
  • special/webpack improvements #449 (sveyret)
  • Add code of conduct #447 (rumpl)
  • TypeScript: detect node built-in type usage #445 (sveyret)
  • Add stale robot #443 (rumpl)
  • Drop support for node 8 #442 (rumpl)
  • Add a detector for typescript import type #439 (sveyret)
  • special/bin: climb up directories to find binary module #437 (sveyret)
  • Add paths for missing dependencies #433 (rumpl)

0.8.4 (2019-10-29)

Full Changelog

Security fixes:

Closed issues:

  • depcheck false alert (svg-sprite-loader, svgo-loader) #425
  • False alert: dep imported in d.ts file #421
  • False Alert for "fs" #412
  • Github dependencies not recursing? #410
  • show react jsx file by #405
  • Typescript @types false positive #402
  • false report on dependency #401
  • Add support for @types declaration packages #163

Merged pull requests:

0.8.3 (2019-07-09)

Full Changelog

Closed issues:

  • False alert on vue-click-outside #361
  • Invalid files caused by flow type annotations? #353

Merged pull requests:

0.8.2 (2019-07-03)

Full Changelog

Closed issues:

  • False positive when only importing typescript interfaces (so no runtime code) from a package #359
  • Add support for Jest #285
  • Find a solution to declare peer dependencies #130

Merged pull requests:

  • fix: Fix vue integration #362 (rumpl)
  • Fixing Issue #200: packages with bin that haven't been detected #358 (2roy999)

0.8.1 (2019-05-25)

Full Changelog

Closed issues:

  • Monorepo support? #349
  • peerDepdencies of a used package not considered #341
  • false alert on mocha-jenkins-reporter (cant seem to add help wanted label) #287
  • Symlinked files are ignored #256

Merged pull requests:

0.8.0 (2019-05-08)

Full Changelog

Fixed bugs:

  • The cli option --ignore-dirs seems not to work #331
  • False positive eslint-config-prettier eslint-plugin-prettier #316

Closed issues:

  • scss dependency false report #322
  • requires using template literals report as missing dependencies #243

Merged pull requests:

0.7.2 (2019-02-28)

Full Changelog

Closed issues:

  • Support .depcheckrc or depcheck.config.js config file #318

Merged pull requests:

0.7.1 (2019-01-27)

Full Changelog

Fixed bugs:

  • unused dependency "querystring" : false positive #170

Closed issues:

  • False alert for ejs package using expressjs #289

0.7.0 (2019-01-26)

Full Changelog

Fixed bugs:

  • Error: toString failed #100

Closed issues:

  • 0.7.0-beta.1 is older than 0.7.0-alpha.1 #304
  • Check child_processes #302
  • False alert: babel-preset-expo #301
  • onlyMatch #298
  • Bug report template contains an error #296
  • doesn't seem to detect require('os') in source #294
  • No dependencies are detected in files using optional chaining #291
  • depcheck error for workbox-build #290
  • Implement a test using only production dependencies #281
  • TypeError: Cannot read property 'ModuleKind' of null #280
  • Dependencies out of date #273
  • False "unused dependencies" for export ... from ... #262
  • False positive when using vuegister with mocha #241
  • Doesn't appear to work 0.6.7 #220
  • For most of the modules I use in my gruntfile.js are showing as Unused devDependencies, why? #214
  • Unused devDependencies with Karma #188
  • Unused url dependency #187
  • better --ignores documentation #164
  • False unused alert for local CLI tools/ binaries. #145
  • Add scenario test infrastructure. #128

Merged pull requests:

0.6.11 (2018-08-23)

Full Changelog

0.6.10 (2018-08-23)

Full Changelog

Closed issues:

  • Deploy failed (invalid NPM token?) #275
  • Next Release (0.6.10) #265

Merged pull requests:

0.6.10-beta.2 (2018-08-23)

Full Changelog

Closed issues:

  • error ELIFECYCLE #221
  • @types packages causing false positives #210
  • depcheck not triggering fail from bashscript- #171

Merged pull requests:

  • Fix error when Typescript is not installed #282 (mnkhouri)
  • Enable the plugins for Typescript parser, too #258 (cdagli)

0.6.10-beta.1 (2018-08-20)

Full Changelog

Closed issues:

  • False 'unused dependency' for asyncawait. #259
  • Is it good to run at pre-commit level #208
  • False positives produced by deduping #126

Merged pull requests:

0.6.10-beta.0 (2018-08-13)

Full Changelog

Closed issues:

Merged pull requests:

0.6.9 (2018-02-12)

Full Changelog

Closed issues:

  • Consider dependencies used when used in scripts #222
  • npm install runs prepublish #217
  • Publish new release #213

Merged pull requests:

0.6.8 (2017-10-10)

Full Changelog

Closed issues:

  • Outdated dependencies #215
  • Question: Create new npm module for plugin? #202
  • False Alert: Firefox Addons "chrome" and "sdk" #169
  • False positive when requiring files from modules directly: #147

Merged pull requests:

0.6.7 (2016-12-08)

Full Changelog

Closed issues:

  • ignoreMatches does not work on missing dependencies #190

Merged pull requests:

  • ignoreMatches works on missing dependencies. Fixes depcheck/depcheck#190 #191 (goloroden)
  • Pull out the E2E test to another project. #186 (lijunle)

0.6.6 (2016-11-29)

Full Changelog

Fixed bugs:

  • Installed peer dependencies are marked as unused #181
  • Find peer dependencies from string array dependencies case. #185 (lijunle)

Closed issues:

  • False unused alert for webpack-and babel plugins #143

Merged pull requests:

0.6.5 (2016-11-18)

Full Changelog

Fixed bugs:

Closed issues:

  • Allow scoped packages for special ESLint #174
  • False Alert #172

Merged pull requests:

0.6.4 (2016-07-24)

Full Changelog

Fixed bugs:

  • Exit code from depcheck executable #140
  • Fix the exit code. #151 (lijunle)

Closed issues:

  • Support (package.json).eslintConfig.extends for special.eslint #154
  • Depcheck should return a promise #146
  • new release time? #160

Merged pull requests:

0.6.3 (2016-04-01)

Full Changelog

Merged pull requests:

0.6.2 (2016-03-27)

Full Changelog

Closed issues:

  • Remove the withoutDev parameter #117
  • Support for commitizen modules #119
  • Deprecate the withoutDev parameter #114
  • False Positives with gulp-load-plugins && gulp-jshint #18

Merged pull requests:

  • Update README to mention new features in next release. #129 (lijunle)
  • Support gulp plugins loaded by gulp-load-plugins. #127 (lijunle)
  • Mark the peer dependencies as dev dependencies too. #125 (lijunle)
  • Resolve arrow function ESLint warning violation #124 (lijunle)
  • Resolve ESLint pin on 2.2.0. #123 (lijunle)
  • Add commitizen support #122 (LinusU)
  • Deprecate the dev option #120 (lijunle)

0.6.1 (2016-03-19)

Full Changelog

Fixed bugs:

  • Missing dependencies result is not handled peer and optional dependencies #115
  • Pin ESLint to 2.2.0. #109 (lijunle)
  • Fix the logic about calculate missing dependencies #118 (lijunle)

Closed issues:

  • Support feross/standard custom parser #110
  • doesn't work with CSS dependencies #99
  • TypeScript support. #46

Merged pull requests:

0.7.0-beta.1 (2016-03-10)

Full Changelog

Closed issues:

  • Allow to define patterns against absolute file path #107

0.6.0 (2016-02-24)

Full Changelog

Fixed bugs:

  • Bug with subdirectories? #81

Closed issues:

  • Find dependencies which aren't listed in package.json #83
  • Implement mocha.opts special parser. #76
  • Recognize babel-plugin-react-transform transformers. #45
  • vice versa function #41

Merged pull requests:

  • Update the README file. #102 (lijunle)
  • Update dependencies. #101 (lijunle)
  • Account for io being async #98 (gtanner)
  • Refactor getScript logic to a single file. #97 (lijunle)
  • Implement the dependencies used in mocha opts #96 (lijunle)
  • Upgrade devDependencies to newest version. #95 (lijunle)
  • Build using dependencies in JSON view #94 (lijunle)
  • Build missing dependencies lookup in JSON view. #93 (lijunle)
  • Convert the spec to JavaScript file. #92 (lijunle)
  • Implement missing dependencies feature #90 (lijunle)
  • Refactor the main logic. #89 (lijunle)
  • Recognize tranforms used in babel-plugin-react-transform #88 (lijunle)
  • Detect dependencies in default mocha opts file. #87 (lijunle)
  • Mention node.js version requirement in README. #86 (lijunle)
  • Specify node engine version in package.json. #85 (lijunle)
  • Fix peer dependencies from nested files not detected. #82 (lijunle)
  • Add version CLI argument. #80 (lijunle)
  • Show call stack for error in JSON view. #79 (lijunle)
  • Integrate depcheck web service #78 (lijunle)

0.5.11 (2015-12-02)

Full Changelog

Closed issues:

  • Ignore doc folder in NPM deployment. #77
  • Output error call stack in JSON output. #75
  • Add --version parameter. #74
  • request support: -h/--help arguments #73
  • wrong repo link in published module #57

0.5.10 (2015-11-22)

Full Changelog

Closed issues:

  • eslint support issues #58
  • Peer dependencies and optional dependencies support. #54
  • eslint-config-airbnb does not depend on babel-eslint any more #50
  • Babel plugin support #44
  • Webpack loader support #42
  • npm scoped packages #32
  • includeDirs #31
  • support for multiple entry points #26
  • ES6 support? #21
  • add support for files with a node shebang #19
  • Support for coffee? #16

Merged pull requests:

  • Fix travis config #72 (lijunle)
  • Update documentations. #71 (lijunle)
  • Use patch-version package instead of local script. #70 (lijunle)
  • Fix JSON serialize issues. #69 (lijunle)
  • Revert the web report function from depcheck #68 (lijunle)
  • Enable ALL specials by default. #67 (lijunle)
  • Evaluate ESLint preset to get accurate dependencies. #66 (lijunle)
  • Improve detect Webpack loader function. #65 (lijunle)
  • Refine the bin special parser to be stable. #64 (lijunle)
  • Fix handling eslintrc non-standard JSON content. #63 (lijunle)
  • Fix regression: parse JSX in JS file by default. #62 (lijunle)
  • Improve ESLint special parser functions. #61 (lijunle)
  • Implement peer and optional dependencies discover. #60 (lijunle)
  • Remove babel runtime dep #59 (lijunle)
  • Implement basic Webpack loader #56 (lijunle)
  • Update Babylon parser to 6.x version. #53 (lijunle)
  • Support more ESLint configs. #52 (lijunle)
  • Update dependencies packages. #51 (lijunle)
  • Update to Babel 6 #49 (lijunle)
  • Run tests on node version 4 and 5. #48 (lijunle)
  • Fix file name handling in Babel special parser. #47 (lijunle)
  • Fix the type in babel special parser test case. #40 (lijunle)
  • Implement Babel plugin and presets support. #39 (lijunle)
  • Add test case to assert shebang is supported. #38 (lijunle)
  • Trivial changes #37 (lijunle)

0.5.9 (2015-11-04)

Full Changelog

Closed issues:

  • Question: Gulp support? #17

Merged pull requests:

0.5.8 (2015-10-29)

Full Changelog

0.5.7 (2015-10-26)

Full Changelog

0.5.6 (2015-10-20)

Full Changelog

0.5.5 (2015-10-15)

Full Changelog

0.5.3 (2015-10-03)

Full Changelog

0.5.2 (2015-09-24)

Full Changelog

0.5.1 (2015-09-21)

Full Changelog

Merged pull requests:

  • Allow passing ingores via the command line #34 (gtanner)

0.5.0 (2015-09-19)

Full Changelog

Closed issues:

  • dead project? #33
  • depcheck should accept metadata from options #14
  • Depcheck is busted #11
  • Clean install fails to run, missing dependency "optimist" #10
  • dependency-check comparison #9
  • don't change string prototype #7

Merged pull requests:

  • add --json flag to command line #22 (gtanner)
  • Don't throw error when module names are numbers #20 (dylang)
  • Resolving issue #14, dynamically passing the package.json metadata #15 (alanhoff)
  • recognize require('foo/bar') as a dependency on foo #13 (nigelzor)
  • don't throw error when esprima can't parse a file #12 (dylang)

0.4.0 (2014-06-14)

Full Changelog

Closed issues:

  • option to ignore directories #6

Merged pull requests:

0.3.1 (2014-06-09)

Full Changelog

Closed issues:

  • main should point to index.js, not the cli js #5

0.3.0 (2014-05-25)

Full Changelog

Closed issues:

  • List dependencies and devDependencies separetly #4
  • devDependencies by default #3
  • default to current directory when there is a package.json in that directory #2

Merged pull requests:

0.2.0 (2013-09-22)

Full Changelog

0.1.0 (2013-09-20)

Full Changelog

* This Changelog was automatically generated by github_changelog_generator