An open API service indexing awesome lists of open source software.

https://github.com/timeraa/autopm

Simple module to detect unused dependencies and missing dependencies and functions to automatically install/remove those.
https://github.com/timeraa/autopm

dependencies typescript

Last synced: 6 months ago
JSON representation

Simple module to detect unused dependencies and missing dependencies and functions to automatically install/remove those.

Awesome Lists containing this project

README

        

# Auto Package Manager

Simple module to detect unused dependencies and missing dependencies and functions to automatically install/remove those.

## Compatability

Uses yarn if you have yarn. (Detected by project's `yarn.lock`)

AutoPM is run by default in [DevScript](https://www.npmjs.com/package/ts-devscript).

## Installation

```bash
# global
npm i -g autopm

# npm
npm i autopm

# yarn
yarn add autopm
```

## Usage

```TypeScript
import AutoPM from "autopm";

//* Automatically checks the process.cwd() if not specified
const aPM = new AutoPM();

//* Console log all used dependencies.
console.log(aPM.usedModules);

//* Console log all unused dependencies.
//* (Installed but never imported / required.)
console.log(aPM.unusedModules);

//* Console log all imported dependencies that dont exist at all.
//* (Imported / required but they don't exist on NPM.)
console.log(aPM.unknownModules);

//* Console log all missing dependencies.
//* (Imported / required but they aren't installed.)
console.log(aPM.missingModules);

//* Console log all outdated dependencies.
console.log(aPM.outdatedModules);

//* Console log all deprecated dependencies.
console.log(aPM.deprecatedModules);

//* Promise Re-check the folder
aPM.recheck();

//* Promise Installs missing dependencies.
aPM.installMissing();

//* Promise Uninstalls unused dependencies.
aPM.uninstallUnused();

//* Promise Upgrades given dependencies to given versions.
//* (First array is normal dependencies, second array is devDependencies.)
aPM.upgradeModulesToVersions([
{
module: "axios",
version: "0.21.0"
}
], [
{
module: "@types/chrome",
version: "0.0.100"
}
]);

//* Promise Upgrades all outdated dependencies to the latest version.
aPM.upgradeAllOutdatedToLatest();

//* Promise Upgrades all deprecated dependencies to the latest version.
aPM.upgradeAllDeprecatedToLatest();

//* Console logs all changed dependencies between now and the last recheck.
console.log(aPM.changedModules);
```

## Settings

Simply include the setting while creating the AutoPM instance.

```Typescript
const aPM = new AutoPM({ path: "D:\Coding\AutoPM", exclude: ["@types/chrome"] });
```

| Settings | Type | Description | Default |
| -------- | ------------- | -------------------------------------- | ------------- |
| path | string | Path to the directory. | process.cwd() |
| exclude | Array | Modules to exlcude from unusedModules. | |