omarsotillo / spm

The only package-manager you will ever need πŸ’

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SPM introduction

Last version Travis (.com) Dependency status Dev Dependencies Status NPM Status

  • Resolve conflicts with shared libraries in a interactive cli
  • General commands: forget about the implementation of each package manager
  • Accept flags from each command
  • Support npm, yarn, pnpm, bundler, cargo, composer

Installation

yarn global add @omarsotillo/spm

Usage (--help)

    Usage ⚑️
      $ spm install                  - install all libraries in project package-managers
      $ spm add <library/es>         - add new library/es to the project-managers
      $ spm update <library/es>      - update library/es to the project-managers
      $ spm run <command>            - run a command in the projects package-manager
      $ spm delete <library/es>      - delete a library in the projects package-manager
      $ spm outdated                 - check outdates libraries
      $ spm list                     - list all libraries in all the projects

    Options πŸ—ƒ (all command accepts specific manager flags)
      --print, -p        - Will print the command but not execute it
      --global, -g       - Global mode installation. Commands like add will be converted to global
      --dev, -d  - Add the command in development mode
      --backend, -b      - Run command in backend package manager only
      --frontend, -f     - Run command in frontend package manager only

    Examples πŸŽ‰
      $ spm add react
      πŸ“ Add library in the package-managers that register a react package/library

Package managers supported

Package manager Install Add Update Global Dev() Delete
yarn(js) βœ… βœ… βœ… βœ… βœ… βœ…
npm(js) βœ… βœ… βœ… βœ… βœ… βœ…
pnpm(js) βœ… βœ… βœ… βœ… βœ… βœ…
bundler(ruby) βœ… βœ… βœ… βœ… βœ… βœ…
cargo - cargo-edit(rust) βœ… βœ… βœ… βœ… βœ… βœ…
pip(python) ❌ ❌ ❌ ❌ ❌ ❌
composer(php) βœ… βœ… βœ… βœ… βœ… βœ…

Contributing

You need (ts-node)[https://github.com/TypeStrong/ts-node]. Please, follow the instructions

yarn install
yarn run start
ts-node dist/index.js <command> <options> // e.g ts-node dist/index.js add react

About

The only package-manager you will ever need πŸ’

License:MIT License


Languages

Language:TypeScript 99.6%Language:JavaScript 0.4%