47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
|
# dependency-tree
|
|||
|
|
|||
|
Returns an unordered array of local paths to dependencies of a node JavaScript file (everything it or any of its dependencies `require`s).
|
|||
|
|
|||
|
Reduced feature (faster) alternative to the [`dependency-tree` package](https://www.npmjs.com/package/dependency-tree) that only works with stock node JS. This is used by Eleventy to find dependencies of a JavaScript file to watch for changes to re-run Eleventy’s build.
|
|||
|
|
|||
|
## Installation
|
|||
|
|
|||
|
```
|
|||
|
npm install --save-dev @11ty/dependency-tree
|
|||
|
```
|
|||
|
|
|||
|
## Features
|
|||
|
|
|||
|
* Ignores `node_modules`
|
|||
|
* Ignores Node’s built-ins (e.g. `path`)
|
|||
|
* Handles circular dependencies (Node does this too)
|
|||
|
|
|||
|
## Usage
|
|||
|
|
|||
|
```js
|
|||
|
// my-file.js
|
|||
|
|
|||
|
// if my-local-dependency.js has dependencies, it will include those too
|
|||
|
const test = require("./my-local-dependency.js");
|
|||
|
|
|||
|
// ignored, is a built-in
|
|||
|
const path = require("path");
|
|||
|
```
|
|||
|
|
|||
|
```js
|
|||
|
const DependencyTree = require("@11ty/dependency-tree");
|
|||
|
|
|||
|
DependencyTree("./my-file.js");
|
|||
|
// returns ["./my-local-dependency.js"]
|
|||
|
```
|
|||
|
|
|||
|
### `allowNotFound`
|
|||
|
|
|||
|
```js
|
|||
|
const DependencyTree = require("@11ty/dependency-tree");
|
|||
|
|
|||
|
DependencyTree("./this-does-not-exist.js"); // throws an error
|
|||
|
|
|||
|
DependencyTree("./this-does-not-exist.js", { allowNotFound: true });
|
|||
|
// returns []
|
|||
|
```
|