datwd

0.2.0 • Public • Published

Dependencies All the Way Down 🐢🐢🐢🐢🐢🐢🐢🐢🐢🌀

Easily get a list of all Node subdependencies for your top-level dependencies

Get Started

Install:

yarn add --dev datwd or npm install --dev datwd

Make sure the npm CLI is available and your dependencies are all installed. Then:

const getDependencies = require('datwd')
const allDeps = getDependencies(['some-package', '@another/package'])

Why?

webpack-node-externals

The primary use case this was built for was to support easier configuration for webpack-node-externals. The allowList property in nodeExternals will whitelist top-level Node dependencies but will ignore subdependencies down the tree (see: Stack Overflow question, webpack-node-externals issue #72. Consequently, by default, your package might ship with missing subdependencies you depend on.

Rather than manually whitelist dependencies and subdependencies (and sub-subdependencies...), use DATWD:

// webpack.config.js
const nodeExternals = require('webpack-node-externals')
const includeSubdependencies = require('datwd')

module.exports = {
  // ...
  externals: [
    nodeExternals({
      // Will include "cookies" and its dependencies; for example:
      // `['cookies', 'depd', 'keygrip', 'tsscmp']`
      allowlist: includeSubdependencies(['cookies'])
    })
  ]
}

Use NPM or Yarn

In many cases, you likely don't want to use DATWD. Instead, rely on the dependency tree from yarn list or npm ls.

Other use cases?

Please open a discussion if you've found DATWD useful in other situations!

Readme

Keywords

none

Package Sidebar

Install

npm i datwd

Weekly Downloads

2

Version

0.2.0

License

MIT

Unpacked Size

7.81 kB

Total Files

5

Last publish

Collaborators

  • kmjennison