15.01.2022 Upgrade - Now works also with import
as module.
Easy repetable shell commands... just to save time.. for mulitpleOSes See examples below..
This Nexss Programmer's plugin is the effect of the refactoring the Nexss Programmer @nexssp/cli which development has been started in 2018. Now this module can be also used as separate program without the Nexss Programmer.
You can do very easy backup of your commands and share as files are *.yml format.
# adds command to the current folder config file
nexssp-command add npmup "npm version patch && git push && npm publish"
# adds to the global commands
nexssp-command add npmup "npm version patch && git push && npm publish" -g
# adds to the global commands for platform linux
nexssp-command add npmup "npm version patch && git push && npm publish" --plaform=linux -g
# it automatically recognizes platforms
nexssp-command npmup # runs command
nexssp-command npmup -g # runs global command
nexssp-command list # list commands
nexssp-command list # list global commands
nexssp-command delete npmup # delete command
nexssp-command delete npmup -g # delete global command
npm i -g @nexssp/command
Now you can use nexssp-command
.
Let say you wrote some big command and you do it everyday,.. just very often
echo 'myexample command which is long and repeatable' && ls && mkdir abc && cd abc && ls && echo 'this can be loooooong..'
# Below is the same as nexss programmer's `nexss cmd add nameOfCommand "echo ....`
nexssp-command add nameOfCommand "echo 'myexample command which is long and repeatable' && ls && mkdir abc && cd abc && ls && echo 'this can be loooooong..'"
nexssp-command nameOfCommand
nexss cmd nameOfCommand # in the Nexss Programmer
This is OS dependent. Please see advanced example below. You can specify different commands for different OSes. @nexssp/commands also recognize the different distros..
nexssp-command list # this will display list of available commands
nexss cmd list # in the Nexss Programmer
nexssp-command delete # this will display list of available commands
nexss cmd delete # in the Nexss Programmer
As you can see below you can specify different commands OS and even distro name and version dependent,
name: Advanced Example of @nexssp/commands
commands:
win32:
- name: init
command: scoop install xpdf-tools
linux:
- name: init
command-ALPINE3: apt-get -y install poppler-utils # specific distro (Alpine 3) more here: https://www.npmjs.com/package/@nexssp/os#distros-list
command-ARCH: pacman -S --noconfirm xpdf # Like for every version of Arch
command-UBUNTU: apt install xpdf # specific like below are always first, then global ones.
command-UBUNTU18: apt install xpdfA
command-UBUNTU20: apt install xpdfB
command: apt-get -y install xpdf # this will be correct for distro with xpdf package. For eg. arch will be like above.
darwin:
- name: init
command: brew install xpdf
There are 2 kinds of commands. Global and local.
Global commands are stored in your home directory. ~/.nexss/_nexss_global.yml
on Linux and C:\Users\USER\.nexss\_nexss_global.yml
.
Local are stored in the current folder or the first parent folder which contains _nexss.yml
file
You can specify custom global file by --global=myfilename