https://github.com/mrmaxie/list-node-modules
Enables listing of all installed dependencies in selected directory, including nested ones, in Node projects
https://github.com/mrmaxie/list-node-modules
Last synced: 30 days ago
JSON representation
Enables listing of all installed dependencies in selected directory, including nested ones, in Node projects
- Host: GitHub
- URL: https://github.com/mrmaxie/list-node-modules
- Owner: MrMaxie
- License: apache-2.0
- Created: 2024-03-21T22:03:29.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-22T00:48:05.000Z (about 1 year ago)
- Last Synced: 2025-03-28T17:25:39.470Z (about 1 month ago)
- Language: TypeScript
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# list-node-modules
Enables listing of all installed dependencies in selected directory, including nested ones, in Node projects
## Installation
```bash
npm install list-node-modules
```## Usage
```ts
import { listNodeModules } from 'list-node-modules';// Then, you can call listNodeModules with an optional Options object:
const modules = listNodeModules({
path: 'path/to/directory', // Optional. Defaults to process.cwd()
excludeNames: ['exclude-module'], // Optional. Defaults to []
excludeFiles: ['exclude-file.js'], // Optional. Defaults to []
panicOnError: true, // Optional. Defaults to false
filters: ['node_modules/**/package.json'], // Optional. Defaults to ['node_modules/**/package.json']
});console.log(modules);
```## Options
The `listNodeModules` function accepts an `Options` object with the following properties:
- `path`: The path to search for node modules. Defaults to `process.cwd()`.
- `excludeNames`: An array of module names to exclude from the list. Defaults to `[]`.
- `excludeFiles`: An array of file names to exclude from the list. Used in glob `ignore` option. Defaults to `[]`.
- `panicOnError`: Specifies whether to throw an error if an error occurs during the listing process. Defaults to `false`.
- `filters`: An array of filters to apply when listing node modules. Accepts glob patterns, so you can even define negated patterns like `!node_modules/**/package.json` to exclude certain files. Defaults to `['node_modules/**/package.json']`.## Examples
List all node modules packages from current working directory `node_modules` and all nested directories:
```javascript
const modules = listNodeModules();
console.log(modules); // ['list-node-modules', 'glob', ...] and so on
```List node modules in a specified directory, excluding specific modules:
```javascript
const modules = listNodeModules({
path: 'other/module',
excludeNames: ['exclude-this-module'],
});
console.log(modules); // everyting used in 'other/module' except 'exclude-this-module'
```## License
This package is licensed under the terms specified in the [LICENSE](./LICENSE) file.
For more information on licensing, please refer to the license file.