ussr

0.0.2 • Public • Published

USSR

Universal Strategical Script Runner

IN ACTIVE DEVELOPMENT, DONT TOUCH

Install

If you have NPM:

  npm i -g ussr # don't forget about `sudo`, it's a global module 

If you don't have NPM:

  wget something here
  # And then make this module global 
  # For example on my Mac it looks like: 
  # sudo mv ./ussr /usr/bin/ussr 

USSR is pkg'ed, so you download a binary executable.

Usage

  ussr init
  # inits ussr.json file with commands and env vars from your package.json 
  # If you don't use Node, make a PR to add a support for your language. 
  ussr alias <name_of_your_alias> <real command with env vars>
  ussr alias run_dev HELLO=WOLRD npm run dev
  ussr alias run_another_dev ROOT=РУТ NOOP=НИЧЕГО node ./script.js
  ussr alias run_other_dev HELLO=ПРИВЕТ WORLD=МИР python ./script.py
  # creates alias for your command with env vars 
  # then you can run your alias: 
  ussr run run_dev
  ussr run_dev # Yes, this syntax is supported too 
  ussr info
  # prints info about all registered with USSR commands and env vars 
  # e.g. output looks like 
  ussr docs md
  ussr docs html
  # Generates file with info from ussr.json 
  # You can include it in your README.md 
  ussr list envs
  ussr list alias
  # print 
 
  # `ls` - is an alias for list   
  ussr ls env
  ussr ls alias
 

Development

Code is readable, even person who isn't familiar with CLI development understand what is going on inside. Every contribution, issue, pull request or just a feedback are highly appreciated.

How can I help?

Just check github project. You can find current tasks. Thank you.

Motivation

Have you ever run command like this?

ROOT_DOMAIN=xx-xxxx-x.amazonaws.com/xxxxxx-xxxxxxx BASE_API=https://xxxxx.example.com/api/v1 OLD_API=https://xxxxx.notanexample.com/api/v1 STATIC_URL=https://xx-xxxx-x.amazonaws.com/xxxxxx-xxxxxxx/static OPTIONAL_ARG=xxxxxxxxxxxx I_DONT_KNOW_THIS_ARG=xxxxxxxxxxxx GOOGLE_ANALYTICS_ID=UA-xxxxxxxx-y WHERE_DO_WE_USE_THIS_VAR=xxxxxxx USE_ENCRYPTION=xxxxxxx SENTRY_ID=https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@sentry.io/xxxxxxx npm run start

Do you always know what THIS_ENV_VAR does? Do you always know which command accept certain ENV_VAR?

I have 10 commands with 25 params in my work project that looks like this. And I can't use aliases, default fallbacks and other stuff.

Comparison

https://www.npmjs.com/package/config - https://github.com/sindresorhus/conf

License

MIT

Author

Vladimir Metnew vladimirmetnew@gmail.com

Package Sidebar

Install

npm i ussr

Weekly Downloads

1

Version

0.0.2

License

MIT

Last publish

Collaborators

  • metnew