https://github.com/imcuttle/lerna-gpm
Lerna command extensions for Git Package Manager
https://github.com/imcuttle/lerna-gpm
Last synced: 4 months ago
JSON representation
Lerna command extensions for Git Package Manager
- Host: GitHub
- URL: https://github.com/imcuttle/lerna-gpm
- Owner: imcuttle
- License: mit
- Created: 2021-04-01T10:01:31.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-10T10:21:40.000Z (almost 2 years ago)
- Last Synced: 2025-09-03T13:43:56.610Z (10 months ago)
- Language: JavaScript
- Homepage:
- Size: 492 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: License
Awesome Lists containing this project
README
# lerna-gpm
[](https://github.com/imcuttle/lerna-gpm/actions)
[](https://codecov.io/github/imcuttle/lerna-gpm?branch=master)
[](https://lernajs.io/)
[](https://prettier.io/)
[](https://conventionalcommits.org)
> Lerna command extensions for **G**it **P**ackage **M**anager
## Why use GPM?
Use git for sharing node package, which integrated with lerna (lerna.json)
```bash
npm i lerna-cli lerna-command-preset-gpm -D
```
```json5
{
packages: ['packages/*'],
extendCommands: ['lerna-command-preset-gpm'],
command: {},
gpm: {
'packages/shared-lib': {
branch: 'master',
url: 'git-url',
remote: 'origin',
checkout: 'commit-sha'
}
}
}
```
After executing `lerna gpm-update`, the files are as following.
```text
lerna.json
.gitignore # `/packages/shared-lib` will be appended here
packages/
shared-lib/
.git/
...
```
## Packages
- [lerna-command-gpm-alias](packages/gpm-alias) - Alias GPM Package
- [lerna-command-gpm-check](packages/gpm-check) - gpm check command
- [lerna-command-gpm-import](packages/gpm-import) - import git repo like git submodule
- [lerna-command-gpm-lock](packages/gpm-lock) - gpm lock version command
- [lerna-command-gpm-pull](packages/gpm-pull) - gpm pull command
- [lerna-command-gpm-push](packages/gpm-push) - gpm push command
- [lerna-command-gpm-update](packages/gpm-update) - update git repo
- [lerna-command-preset-gpm](packages/preset-gpm) - gpm commands preset
- [lerna-utils-git-command](packages/git-command) - Internal Package: Git Utils (eg. clone/fetch/pull/checkout/compare)
- [lerna-utils-globs-command](packages/globs-command) - Internal Package: GPM basic class for lerna command, with globs options, check remote version, concurrency.
- [lerna-utils-gpm](packages/gpm) - Internal Package: GPM common utils
## Contributing
- Fork it!
- Create your new branch:\
`git checkout -b feature-new` or `git checkout -b fix-which-bug`
- Start your magic work now
- Make sure npm test passes
- Commit your changes:\
`git commit -am 'feat: some description (close #123)'` or `git commit -am 'fix: some description (fix #123)'`
- Push to the branch: `git push`
- Submit a pull request :)
## Authors
This library is written and maintained by imcuttle, imcuttle@163.com.
## License
MIT - [imcuttle](https://github.com/imcuttle) 🐟