This package is special – it is designed for easy installing of any Node modules inside the plugin directory, exposing their binaries via shims (i.e.: forwarder scripts) created automatically by Bin-Gem-Node annex.
The Node module(s) to install are specified by the param'MOD → {module1}; MOD2 → {module2}; …'
ice. The name of the plugin will be {module1}
, unless id-as''
ice will be provided, or the IDAS
param will be set (i.e.: param'IDAS → my-plugin; MOD → …'
).
A few example invocations:
# Install `coffee-script' module and call the plugin with the same name
zi pack param='MOD → coffee-script' for any-node
# Install `remark' Markdown processor and call the plugin: remark
zi id-as=remark pack param='MOD → remark-man; MOD2 → remark-cli' for any-node
# Install `pen' Markdown previewer and call the plugin: my-pen
zi pack param='IDAS → my-pen; MOD → pen' for any-node
The only profile that does all the magic. It relies on the %PARAM%
keywords, which are substituted with the value
from the ice param'PARAM → value; …'
.
The ZI command executed will be equivalent to:
zi lucid id-as="${${:-%IDAS%}:-%MOD%}" as=null \
node="%MOD%;%MOD2%;%MOD3%;%MOD4%;%MOD5%;%MOD6%;%MOD7%;%OTHER%" \
sbin="n:node_modules/.bin/*" for \
z-shell/null
This repository compatible with ZI
The ZI package that uses the zsh-string-lib to automatically:
- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in profiles; there's at least one profile, default,
- the ices can be selectively overridden.