mirror of
https://github.com/warkanum/monorepo-dep-checker.git
synced 2026-10-31 14:18:58 +00:00
Added linting, changed to esm loading
This commit is contained in:
1 parent
78e54af042
commit
44ff9878dd
5 files changed
+184
-5
No files matched your search
@@ -1,2 +1,152 @@
|
||||
# monorepo-dep-checker
|
||||
A CLI tool to check and manage dependencies across packages in a monorepo
|
||||
|
||||
A powerful CLI tool for managing and checking dependencies across packages in a monorepo. Helps you identify version mismatches, missing dependencies, and maintain consistency across your workspace packages.
|
||||
|
||||
## Features
|
||||
|
||||
- 🔍 Check for version differences across packages
|
||||
- ⚠️ Identify missing dependencies between your main app and packages
|
||||
- 🔄 Update dependencies to the highest compatible version
|
||||
- 🏗️ Full workspace package support
|
||||
- 📊 Clear, actionable summaries
|
||||
- 🚀 Fast, zero-config setup
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# Global installation
|
||||
npm install -g @warkypublic/monorepo-dep-checker
|
||||
|
||||
# Or locally in your project
|
||||
npm install --save-dev @warkypublic/monorepo-dep-checker
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
Basic usage with default paths (assumes `./package.json` for main app and `./packages` for workspace packages):
|
||||
|
||||
```bash
|
||||
dep-check
|
||||
```
|
||||
|
||||
## Usage Examples
|
||||
|
||||
### 1. Check Version Differences
|
||||
|
||||
Find packages using different versions of the same dependency:
|
||||
|
||||
```bash
|
||||
dep-check --check-versions
|
||||
|
||||
# Output example:
|
||||
react:
|
||||
Difference (major):
|
||||
^17.0.2 vs ^18.0.0
|
||||
|
||||
Packages using ^17.0.2:
|
||||
- my-app (package.json)
|
||||
- components (packages/components/package.json)
|
||||
|
||||
Packages using ^18.0.0:
|
||||
- new-feature (packages/new-feature/package.json)
|
||||
|
||||
Recommended action:
|
||||
⚠️ Major version difference - Manual review recommended
|
||||
```
|
||||
|
||||
### 2. Check Missing Dependencies
|
||||
|
||||
Find dependencies that exist in packages but are missing from the main app:
|
||||
|
||||
```bash
|
||||
dep-check --check-missing
|
||||
|
||||
# Output example:
|
||||
Summary:
|
||||
Packages with dependency mismatches: 2
|
||||
Unique dependencies missing from main app: 1
|
||||
lodash
|
||||
Unique unused dependencies from main app: 1
|
||||
axios
|
||||
```
|
||||
|
||||
### 3. Update Dependencies
|
||||
|
||||
Update all dependencies to their highest compatible version:
|
||||
|
||||
```bash
|
||||
# Dry run - show what would be updated
|
||||
dep-check --update --dry-run
|
||||
|
||||
# Actually perform the updates
|
||||
dep-check --update
|
||||
```
|
||||
|
||||
### 4. Custom Paths
|
||||
|
||||
Specify custom paths for your main app and packages:
|
||||
|
||||
```bash
|
||||
dep-check --app ../my-app/package.json --packages ../my-app/packages
|
||||
```
|
||||
|
||||
### 5. JSON Output
|
||||
|
||||
Get results in JSON format for further processing:
|
||||
|
||||
```bash
|
||||
dep-check --check-versions --format json
|
||||
```
|
||||
|
||||
## Command Line Options
|
||||
|
||||
```bash
|
||||
Options:
|
||||
--app, -a Path to main app package.json [default: "./package.json"]
|
||||
--packages, -p Path to packages directory [default: "./packages"]
|
||||
--update, -u Update dependencies to highest compatible version
|
||||
--dry-run, -d Show what would be updated without making changes
|
||||
--check-versions Check for version differences between packages
|
||||
--check-missing Check for dependencies missing between app and packages
|
||||
--format Output format (text or json) [default: "text"]
|
||||
--help Show help
|
||||
--version Show version number
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
### Workspace Support
|
||||
|
||||
- Automatically detects and handles workspace dependencies
|
||||
- Ignores `workspace:*` protocol dependencies
|
||||
- Properly manages workspace package references
|
||||
- Supports npm, yarn, and pnpm workspaces
|
||||
|
||||
### Version Analysis
|
||||
|
||||
- Identifies major, minor, and patch version differences
|
||||
- Provides clear upgrade recommendations
|
||||
- Shows detailed package locations
|
||||
- Helps prevent dependency conflicts
|
||||
|
||||
### Missing Dependency Detection
|
||||
|
||||
- Finds dependencies used in packages but missing from main app
|
||||
- Identifies unused main app dependencies
|
||||
- Shows unique missing dependencies to avoid duplication
|
||||
- Excludes workspace packages from analysis
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. Run `--check-versions` before updates to identify potential breaking changes
|
||||
2. Use `--dry-run` before applying updates
|
||||
3. Review major version differences manually
|
||||
4. Keep workspace dependencies consistent across packages
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please read our contributing guidelines for details.
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see LICENSE file for details
|
||||
Reference in new issue
Block a user