https://github.com/seamapi/deeper
Easily clone, modify and make contributions to upstream npm dependencies
https://github.com/seamapi/deeper
Last synced: 5 months ago
JSON representation
Easily clone, modify and make contributions to upstream npm dependencies
- Host: GitHub
- URL: https://github.com/seamapi/deeper
- Owner: seamapi
- Created: 2023-07-22T20:55:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-27T07:23:27.000Z (7 months ago)
- Last Synced: 2025-01-28T03:13:07.121Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 69.3 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Deeper
## Introduction
Deeper is a command-line utility for managing your npm dependencies more intimately. It allows you to replace any installed npm dependency in your project with a linked, git-cloned, and self-built version of that dependency.
This is great for multi-repo development where you might want to quickly edit and PR for a dependency.
The typical usage flow is:
1. Find issue with ``
2. Run `deeper `
3. Make some changes in `.deeper/`
4. Run `deeper sync`
5. Test Changes (repeat 3-4 as needed)## Installation
`deeper` and `yalc` should be installed as a global dependency
```bash
npm install -g @seveibar/deeper yalc
```## Usage
Deeper is invoked from the command line as follows:
```bash
deeper
```Replace `` with the name of the dependency you want to replace with a checked out and self-built version from the repository.
If a git repository for the dependency already exists in `~/.deeper/`, you will be asked if you want to update it and discard any local changes. The default answer is 'no'. If you choose to discard changes, they will be saved in a branch named `deeper-stash-`.
### Re-syncing
Run `deeper sync` to build and sync all the packages inside `.deeper`
### Cleaning Up
Run `deeper clean` to make everything tidy again.
> NOTE: The .deeper directory is left behind to avoid ever losing your changes,
> but is automatically added to `.gitignore`