Skip to content
This repository has been archived by the owner on Mar 5, 2022. It is now read-only.
/ gpm.js Public archive

💎Git Package Manager, make you manage the repository easier, Power by Typescript & Nodejs

License

Notifications You must be signed in to change notification settings

gpmer/gpm.js

Repository files navigation

The project is no longer maintained, moved to axetroy/gpm.rs

gpm.js

Greenkeeper badge Build Status Dependency License Prettier Node npm version Size

Git Package Manager, make you manage the repository easier

sceenshot

Documentation

简体中文

English

Features

  • support Github, Gitlab, etc
  • add, remove, clean, cache, list commands
  • score, humanize, easier to manager
  • plugin support, more hook, it can help you do more thing
  • support i18n
  • add repository in multi directories

Installation

npm install @axetroy/gpm -g

Supports

  • Windows
  • Linux
  • MacOS

Usage

$ gpm --help

   gpm 8.1.0 - Git Package Manager, make you manage the repository easier
     
   USAGE

     gpm <command> [options]

   COMMANDS

     add <repo>                         Add a repository to gpm.                                                                
     remove [owner] [repo]              Remove a repository from registry and disk.                                             
     list [key]                         Display the all repositories in registry.                                               
     clean                              Clear the cache, locate in /home/axetroy/.gpm/temp.                                     
     prune                              Remove the file or dir you don't really need id, like node_modules                      
     find                               Find repository by a key, You can get all about the repository info.                    
     relink                             Relink the base directory and gpm registry, like Angular, trigger the $digest in manual.
     config <action> [key] [value]      A series handler of configurations.                                                     
     runtime                            Print the program runtime, useful for submit issue.                                     
     help <command>                     Display help for a specific command                                                     

   GLOBAL OPTIONS

     -h, --help         Display help                                      
     -V, --version      Display version                                   
     --no-color         Disable colors                                    
     --quiet            Quiet mode - only displays warn and error messages
     -v, --verbose      Verbose mode - will also output debug messages

Plugin

Plugin system have been remove after gpm: ^7.1.0

Structure

.
├── github.com
│   ├── axetroy
│   │   ├── aabbcc
│   │   ├── build-cli -> /home/axetroy/develop/build-cli
│   │   ├── commander.dart
│   │   ├── contributors-stat
│   │   ├── event-emitter.dart
│   │   ├── event-emitter.js
│   │   ├── git-url-parse
│   │   ├── gpm.dart
│   │   ├── gpm.go
│   │   ├── labrador-cli
│   │   ├── labrador-demo
│   │   ├── ng-promise -> /home/axetroy/develop/ng-promise
│   │   ├── nmr
│   │   ├── protocols
│   │   ├── songojs -> /home/axetroy/develop/songojs
│   │   ├── url-parser
│   │   ├── wechatapp-dev-tool-linux
│   │   ├── wxapp-socket
│   │   └── ymli
│   ├── chentsulin
│   │   └── electron-react-boilerplate
│   ├── electron
│   │   └── electron-quick-start -> /home/axetroy/develop/electron-quick-start
│   ├── fenivana
│   │   └── wx-mina-html-view
│   ├── geeeeeeeeek
│   │   └── electronic-wechat -> /home/axetroy/develop/electronic-wechat
│   ├── gpmer
│   │   ├── gpm.js
│   │   └── gpm.ruby
│   ├── lidong1665
│   │   └── WeiXinProject
│   ├── maichong
│   │   └── labrador-demo
│   ├── zarknight
│   │   └── wx-falls-layout
│   └── zeit
│       └── nextgram
└── xxx.net(private git server)
    ├── axetroy
    │   ├── xxx
    │   ├── xxx -> /home/axetroy/develop/xxx
    │   ├── xxx -> /home/axetroy/develop/xxx
    │   ├── xxx
    │   ├── xxx -> /home/axetroy/develop/xxx
    │   ├── xxx -> /home/axetroy/develop/xxx
    │   └── xxx
    ├── xxx
    │   └── xxx
    └── xxx
        ├── xxx -> /home/axetroy/develop/xxx
        ├── xxx -> /home/axetroy/develop/xxx
        └── xxx -> /home/axetroy/develop/xxx

Example

gpm add https://github.com/zeit/release.git
gpm add https://github.com/axetroy/gpm.git
gpm add https://github.com/axetroy/ymli.git

gpm ls

# print out
github.com: 
  axetroy: 
    gpm:  /home/axetroy/gpm/github.com/axetroy/gpm
    ymli: /home/axetroy/gpm/github.com/axetroy/ymli
  zeit: 
    release: /home/axetroy/gpm/github.com/zeit/release

Related

https://github.com/axetroy/vscode-gpm

Contributing

git clone https://github.com/gpmer/gpm.js.git
cd ./gpm.js
yarn
./bin/gpm

You can flow Contribute Guide

Contributors


Axetroy

💻 🔌 ⚠️ 🐛 🎨

Windom Z

💻 📖

License

The MIT License