Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Easily get a list of all Node subdependencies for your top-level dependencies
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'])
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'])
})
]
}
In many cases, you likely don't want to use DATWD. Instead, rely on the dependency tree from yarn list
or npm ls
.
Please open a discussion if you've found DATWD useful in other situations!
FAQs
Get all Node dependencies required by a subset of top-level dependencies
The npm package datwd receives a total of 4 weekly downloads. As such, datwd popularity was classified as not popular.
We found that datwd demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.