diff options
Diffstat (limited to 'plugins/yarn')
| -rw-r--r-- | plugins/yarn/README.md | 59 | ||||
| -rw-r--r-- | plugins/yarn/_yarn | 34 | ||||
| -rw-r--r-- | plugins/yarn/yarn.plugin.zsh | 7 | 
3 files changed, 69 insertions, 31 deletions
diff --git a/plugins/yarn/README.md b/plugins/yarn/README.md index 671a272d9..fd748b742 100644 --- a/plugins/yarn/README.md +++ b/plugins/yarn/README.md @@ -11,29 +11,36 @@ plugins=(... yarn)  ## Aliases -| Alias | Command                                   | Description                                                 | -|-------|-------------------------------------------|-------------------------------------------------------------| -| y     | `yarn`                                    | The Yarn command                                            | -| ya    | `yarn add`                                | Install a package in dependencies (`package.json`)          | -| yad   | `yarn add --dev`                          | Install a package in devDependencies (`package.json`)       | -| yap   | `yarn add --peer`                         | Install a package in peerDependencies (`package.json`)      | -| yb    | `yarn build`                              | Run the build script defined in `package.json`              | -| ycc   | `yarn cache clean`                        | Clean yarn's global cache of packages                       | -| yga   | `yarn global add`                         | Install packages globally on your operating system          | -| ygls  | `yarn global list`                        | Lists global installed packages                             | -| ygrm  | `yarn global remove`                      | Remove global installed packages from your OS               | -| ygu   | `yarn global upgrade`                     | Upgrade packages installed globally to their latest version | -| yh    | `yarn help`                               | Show help for a yarn command                                | -| yi    | `yarn init`                               | Interactively creates or updates a package.json file        | -| yin   | `yarn install`                            | Install dependencies defined in `package.json`              | -| yls   | `yarn list`                               | List installed packages                                     | -| yout  | `yarn outdated`                           | Check for outdated package dependencies                     | -| yp    | `yarn pack`                               | Create a compressed gzip archive of package dependencies    | -| yrm   | `yarn remove`                             | Remove installed packages                                   | -| yrun  | `yarn run`                                | Run a defined package script                                | -| ys    | `yarn serve`                              | Start the dev server                                        | -| yst   | `yarn start`                              | Run the start script defined in `package.json`              | -| yt    | `yarn test`                               | Run the test script defined in `package.json`               | -| yuc   | `yarn global upgrade && yarn cache clean` | Upgrade global packages and clean yarn's global cache       | -| yui   | `yarn upgrade-interactive`                | Prompt for which outdated packages to upgrade               | -| yup   | `yarn upgrade`                            | Upgrade packages to their latest version                    | +| Alias | Command                                   | Description                                                                   | +| ----- | ----------------------------------------- | ----------------------------------------------------------------------------- | +| y     | `yarn`                                    | The Yarn command                                                              | +| ya    | `yarn add`                                | Install a package in dependencies (`package.json`)                            | +| yad   | `yarn add --dev`                          | Install a package in devDependencies (`package.json`)                         | +| yap   | `yarn add --peer`                         | Install a package in peerDependencies (`package.json`)                        | +| yb    | `yarn build`                              | Run the build script defined in `package.json`                                | +| ycc   | `yarn cache clean`                        | Clean yarn's global cache of packages                                         | +| yd    | `yarn dev`                                | Run the dev script defined in `package.json`                                  | +| yga   | `yarn global add`                         | Install packages globally on your operating system                            | +| ygls  | `yarn global list`                        | Lists global installed packages                                               | +| ygrm  | `yarn global remove`                      | Remove global installed packages from your OS                                 | +| ygu   | `yarn global upgrade`                     | Upgrade packages installed globally to their latest version                   | +| yh    | `yarn help`                               | Show help for a yarn command                                                  | +| yi    | `yarn init`                               | Interactively creates or updates a package.json file                          | +| yin   | `yarn install`                            | Install dependencies defined in `package.json`                                | +| yln   | `yarn lint`                               | Run the lint script defined in `package.json`                                 | +| yls   | `yarn list`                               | List installed packages                                                       | +| yout  | `yarn outdated`                           | Check for outdated package dependencies                                       | +| yp    | `yarn pack`                               | Create a compressed gzip archive of package dependencies                      | +| yrm   | `yarn remove`                             | Remove installed packages                                                     | +| yrun  | `yarn run`                                | Run a defined package script                                                  | +| ys    | `yarn serve`                              | Start the dev server                                                          | +| yst   | `yarn start`                              | Run the start script defined in `package.json`                                | +| yt    | `yarn test`                               | Run the test script defined in `package.json`                                 | +| ytc   | `yarn test --coverage`                    | Run the test script defined in `package.json` with coverage                   | +| yuc   | `yarn global upgrade && yarn cache clean` | Upgrade global packages and clean yarn's global cache                         | +| yui   | `yarn upgrade-interactive`                | Prompt for which outdated packages to upgrade                                 | +| yuil  | `yarn upgrade-interactive --latest`       | Prompt for which outdated packages to upgrade to the latest available version | +| yup   | `yarn upgrade`                            | Upgrade packages to their latest version                                      | +| yv    | `yarn version`                            | Update the version of your package                                            | +| yw    | `yarn workspace`                          | Run a command within a single workspace.                                      | +| yws   | `yarn workspaces`                         | Run a command within all defined workspaces.                                  | diff --git a/plugins/yarn/_yarn b/plugins/yarn/_yarn index 382f58a0a..70e783b86 100644 --- a/plugins/yarn/_yarn +++ b/plugins/yarn/_yarn @@ -71,7 +71,7 @@ _global_commands=(    'bin:Displays the location of the yarn bin folder'    'remove:Remove installed package from dependencies updating package.json'    'upgrade:Upgrades packages to their latest version based on the specified range' -  'upgrade-interactive' +  'upgrade-interactive:Interactively upgrade packages'  )  _yarn_commands_scripts() { @@ -81,9 +81,23 @@ _yarn_commands_scripts() {  }  _yarn_scripts() { -  local -a scripts -  scripts=($(yarn run --json 2>/dev/null | sed -E '/Commands available|possibleCommands/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g' | tr , '\n' | sed -e 's/:/\\:/g')) -  _describe 'script' scripts +  local -a commands binaries scripts +  local -a scriptNames scriptCommands +  local i runJSON + +  runJSON=$(yarn run --json 2>/dev/null) +  # Some sed utilities (e.g. Mac OS / BSD) don't interpret `\n` in a replacement +  # pattern as a newline. See https://superuser.com/q/307165 +  binaries=($(sed -E '/Commands available/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\'$'\n/g' <<< "$runJSON")) +  scriptNames=($(sed -E '/possibleCommands/!d;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\'$'\n/g' <<< "$runJSON")) +  scriptCommands=("${(@f)$(sed -E '/possibleCommands/!d;s/.*"hints":\{(.+")\}.*/\1/;s/"[^"]+"://g;s/:/\\:/g;s/","/\'$'\n/g;s/(^"|"$)//g' <<< "$runJSON")}") + +  for (( i=1; i <= $#scriptNames; i++ )); do +    scripts+=("${scriptNames[$i]}:${scriptCommands[$i]}") +  done + +  commands=($scripts $binaries) +  _describe 'command' commands  }  _yarn_global_commands() { @@ -240,7 +254,8 @@ _yarn() {          run)            _arguments \ -            '1: :_yarn_scripts' +            '1: :_yarn_scripts' \ +            '*:: :_default'          ;;          tag) @@ -255,6 +270,11 @@ _yarn() {              '*:: :->team_args'          ;; +        upgrade-interactive) +          _arguments \ +            '--latest:use the version tagged latest in the registry:' +        ;; +          version)            _arguments \              '--new-version:version:' \ @@ -266,6 +286,10 @@ _yarn() {            _arguments \              '1:query:_files'          ;; + +        *)  +          _default +        ;;        esac      ;;    esac diff --git a/plugins/yarn/yarn.plugin.zsh b/plugins/yarn/yarn.plugin.zsh index 9ed8322cd..4a5192c61 100644 --- a/plugins/yarn/yarn.plugin.zsh +++ b/plugins/yarn/yarn.plugin.zsh @@ -4,6 +4,7 @@ alias yad="yarn add --dev"  alias yap="yarn add --peer"  alias yb="yarn build"  alias ycc="yarn cache clean" +alias yd="yarn dev"  alias yga="yarn global add"  alias ygls="yarn global list"  alias ygrm="yarn global remove" @@ -11,6 +12,7 @@ alias ygu="yarn global upgrade"  alias yh="yarn help"  alias yi="yarn init"  alias yin="yarn install" +alias yln="yarn lint"  alias yls="yarn list"  alias yout="yarn outdated"  alias yp="yarn pack" @@ -19,6 +21,11 @@ alias yrun="yarn run"  alias ys="yarn serve"  alias yst="yarn start"  alias yt="yarn test" +alias ytc="yarn test --coverage"  alias yuc="yarn global upgrade && yarn cache clean"  alias yui="yarn upgrade-interactive" +alias yuil="yarn upgrade-interactive --latest"  alias yup="yarn upgrade" +alias yv="yarn version" +alias yw="yarn workspace" +alias yws="yarn workspaces"  | 
