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.
- Host: GitHub
- URL: https://github.com/timeraa/autopm
- Owner: Timeraa
- License: mpl-2.0
- Created: 2021-01-12T22:46:55.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-10T14:18:19.000Z (over 2 years ago)
- Last Synced: 2024-11-25T14:02:47.965Z (7 months ago)
- Topics: dependencies, typescript
- Language: JavaScript
- Homepage:
- Size: 190 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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. | |