Returns an unordered array of local paths to dependencies of a Node ES module JavaScript file.
- See also:
dependency-treefor the CommonJS version.
This is used by Eleventy to find dependencies of a JavaScript file to watch for changes to re-run Eleventy’s build.
npm install --save-dev @11ty/dependency-tree-esm
- Ignores bare specifiers (e.g.
import "my-package") - Ignores Node’s built-ins (e.g.
import "path") - Handles circular dependencies
- Returns an empty set if the file does not exist.
// my-file.js
// if my-local-dependency.js has dependencies, it will include those too
import "./my-local-dependency.js";
// ignored, is a built-in
import path from "path";import { find } from "@11ty/dependency-tree-esm";
// CommonJS is fine too
// const { find } = require("@11ty/dependency-tree-esm");
await find("./my-file.js");
// returns ["./my-local-dependency.js"]Return a dependency-graph instance:
import { findGraph } from "@11ty/dependency-tree-esm";
// CommonJS is fine too
// const { find } = require("@11ty/dependency-tree-esm");
(await findGraph("./my-file.js")).overallOrder();
// returns ["./my-local-dependency.js", "./my-file.js"]