whech

which the heck directions

Usage no npm install needed!

<script type="module">
  import whech from 'https://cdn.skypack.dev/whech';
</script>

README

whech buildNPM version

install - documentation - license

which the heck directions for

  • Was the script run from a bin?
  • There is some config file asociated to it?
  • What is the main or/and global node_modulesdirectory?
  • Get me some fields of their the local and global packages

usage

var whech = require('whech');

whech.ext = '.js';

whech('which', function(err, spec){
  if(err) throw err;
  console.log(spec);
  // =>
  // { name: 'which',
  //   which: '/usr/bin/which',
  //   runFromBin: false,
  //   configFile: [Error: not found],
  //   localDir: '/home/jcm/code/whech/node_modules',
  //   globalDir: '/home/jcm/npm/lib/node_modules',
  //   globalPackage: { [Error: Cannot find module] code: 'MODULE_NOT_FOUND' },
  //   localPackage: { version: '1.0.5' } }
});

documentation

The module.exports a function

var whech = require('whech')

which is asynchronous. To use the sync version take whech.sync.

whech

function whech(string|object spec, function callback)

arguments

  • spec type string or object with a name property that is a string
  • callback type function to be called with the last error and spec

Errors are attached to spec a property instead of throwing.

spec properties

  • ext type string, the extension of the configFile
  • name type string the name given as a string or object property
  • which type string first instance of an executable in the PATH
  • runFromBin type boolean, wether or not process.argv contains which
  • configFile type string, configFile if given
  • localDir type string, the global dir where node_modules are installed
  • globalDir: type string, the local dir where node_modules are installed
  • localPackage: require(path.join(name, 'package'))
  • globalPackage: require(path.join(localDir, name, 'package'))

defaults

  • configfile will default to name + 'file' + (spec.ext || '.js')

whech.sync

function whechSync(string|object spec)

arguments

  • spec, type string|object, the same as the async version

returns

  • spec with same properties listed above

install

With npm

 npm install whech

test

npm test

todo

  • More tests
  • Review and see if there is something missing

license

LICENSE