<h2 align="center">resolve-dependencies</h2>
---
npm i resolve-dependencies
resolve-dependencies is the very originally named bundler for nexe. It wasn't our intention to build a bundler but that is kind of what this is.
Options: _Object | string_ -- the entry to start from (if string)entries: _string[]_ -- a list of entrypoints to traverse, resolved against cwdcwd: _string_ -- the base directory that the resolution occurs fromloadContent: _boolean_ -- indicates that the content should be included int he FileMap (this may be unreasonable for large dependency trees)files: _({ [key: string]: File | null })[]_ -- a cache of already resolved filesexpand: _'all' | 'none' | 'variable'_ -- how module contexts should be expanded to include extra filesAll options are deeply merged, string options are added as entries
Result returns a Promise of a result object:
- Result: _Object_
- entries: _{ [key: entry]: File }_ - all the entries as provided to the resolve method and the tree of connected files
- files: _{ [key: absPath]: File }_ - all resolved files keyed by their absolute path
- warnings: _string[]_ - an array warnings generated while processing the files
A File has the following shape
- File: _Object_ -- An object representing a file
- size: _number_ -- file size of the link or file
- absPath: _string_ -- absolute path to the file
- moduleRoot: _string | undefined_ -- Directory containing a modules package.json
- package: _any | undefined_
- deps: _{ [key: request]: File | null }_ -- Dependencies identified in the file, keyed by request
- belongsTo: _File | undefined_ -- The main file of the owning module
- realSize: _number | undefined_ -- set to the realfile size if the absPath is a symlink
- realPath: _string | undefined_ -- set to the realpath if the absPath is a symlink
- contents: _string | null_
- contextExpanded: _boolean_
- variableImports: _boolean_
``javascript
import resolveDependencies from 'resolve-dependencies'
const { entries, files } = resolveDependencies('./entry-file.js')
console.log(entries['./entry-file.js'])
// {
// absPath: "/path/to/entry-file.js",
// contents: "console.log('hello world')",
// realSize: 26,
// realPath: "/path/to/entry/lib/file.js"
// size: 12
// variableImports: false,
// deps: {
// "./dependency": {
// absPath: "/path/to/dependency.js"
// ...
// },
// path: null, //node builtin does not resolve
// mkdirp: {
// absPath: "/path/to/node_modules/mkdirp/index.js",
// modulePath: "/path/to/node_modules/mkdirp",
// package: {
// name: "mkdirp"
// ...
// }
// }
// }
// }
// files is a similar structure to entries, but ``
// is flat and keyed by the file's absolute path.