@akosm/cmd-shim

Used in pnpm for command line application support,fork from zoltan

Usage no npm install needed!

<script type="module">
  import akosmCmdShim from 'https://cdn.skypack.dev/@akosm/cmd-shim';
</script>

README

@akosm/cmd-shim

Used in pnpm for command line application support,fork from @zkochan/cmd-shim,fix absolute path

Build Status Build Status on Windows npm version

The cmd-shim used in pnpm to create executable scripts on Windows, since symlinks are not suitable for this purpose there.

On Unix systems, you should use a symbolic link instead.

Installation

npm install --save @zkochan/cmd-shim

API

cmdShim(src, to, opts?): Promise<void>

Create a cmd shim at to for the command line program at from. e.g.

const cmdShim = require('@zkochan/cmd-shim')
cmdShim(__dirname + '/cli.js', '/usr/bin/command-name')
  .catch(err => console.error(err))

cmdShim.ifExists(src, to, opts?): Promise<void>

The same as above, but will just continue if the file does not exist.

Arguments:

  • opts.preserveSymlinks - Boolean - if true, --preserve-symlinks is added to the options passed to NodeJS.
  • opts.nodePath - String - sets the NODE_PATH env variable.
  • opts.createCmdFile - Boolean - is true on Windows by default. If true, creates a cmd file.
  • opts.createPwshFile - Boolean - is true by default. If true, creates a powershell file.
const cmdShim = require('@zkochan/cmd-shim')
cmdShim(__dirname + '/cli.js', '/usr/bin/command-name', { preserveSymlinks: true })
  .catch(err => console.error(err))

License

BSD-2-Clause © Zoltan Kochan