generator-util

0.2.9 • Public • Published

generator-util NPM version Build Status

Utils for generate generators.

TOC

(TOC generated by verb using markdown-toc)

Install

Install with npm:

$ npm install generator-util --save

Usage

var util = require('generator-util');

API

.homeRelative

Return a home-relative filepath

Params

  • filepath {String}
  • returns {String}

Example

utils.homeRelative('foo');
//=> 'dev/foo'

.isDirectory

Return true if a filepath exists and is a directory.

Params

  • filepath {String}
  • returns {Boolean}

.renameKey

Rename the key used for storing views/templates

Params

  • key {String}
  • view {Object}: the renameKey method is used by templates for both setting and getting templates. When setting, view is exposed as the second parameter.
  • returns {String}

.toAlias

Opposite of .toFullname, creates an "alias" from the given name by either stripping options.prefix from the name, or just removing everything up to the first dash. If options.alias is a function, it will be used instead.

Params

  • name {String}
  • options {Object}
  • returns {String}

Example

utils.toAlias('generate-foo');
//=> 'foo';
 
utils.toAlias('a-b-c', {prefix: 'a-b'});
//=> 'c';

.toFullname

Opposite of .toAlias, creates a generator name from the given alias and namespace.

Params

  • alias {String}
  • namespace {String}
  • returns {String}

Example

utils.toFullname('foo', 'generate');
//=> 'generate-foo';
 
utils.toFullname('generate-bar', 'generate');
//=> 'generate-bar'

.toGeneratorPath

Create an object-path for looking up a generator.

Params

  • name {String}
  • returns {String}

Example

utils.toGeneratorPath('a.b.c');
//=> 'generators.a.generators.b.generators.c'

.getGenerator

Get a generator from app.

Params

  • app {Object}
  • name {String}: Generator name
  • returns {Object}: Returns the generator instance.

.tryResolve

Try to require.resolve module name, first locally then in the globaly npm directory. Fails silently if not found.

Params

  • name {String}: The name or filepath of the module to resolve
  • options {Object}: Pass options.cwd and/or options.configfile (filename) to modify the path used by resolve.
  • returns {String|undefined}

Example

utils.tryResolve('foo');
// or
utils.tryResolve('generate-foo');
// or
utils.tryResolve('generate-foo', {cwd: require('global-modules')});
// or
utils.tryResolve('./foo/bar/baz.js');

.tryRequire

Try to require the given module, failing silently if it doesn't exist. The function first calls require on the given name, then tries require(path.resolve(name)) before giving up.

Params

  • name {String}: The module name or file path
  • returns {any|undefined}: Returns the value of requiring the specified module, or undefined if unsuccessful.

Example

utils.tryRequire('foo');

.tableize

Modified from the tableize lib, which replaces dashes with underscores, and we don't want that behavior. Tableize obj by flattening and normalizing the keys.

Params

  • {Object}: obj
  • returns {Object}

.isFunction

Returns true if the given value is a function.

Params

  • value {any}
  • returns {Boolean}

Example

utils.isFunction('foo');
//=> false
 
utils.isFunction(function() {});
//=> true

.isBoolean

Returns true if the given value is a boolean.

Params

  • value {any}
  • returns {Boolean}

Example

utils.isBoolean('foo');
//=> false
 
utils.isBoolean(false);
//=> true

.isString

Returns true if a the given value is a string.

Params

  • value {any}
  • returns {Boolean}

Example

utils.isString('foo');
//=> false
 
utils.isString({});
//=> true

.isObject

Returns true if a the given value is an object.

Params

  • value {any}
  • returns {Boolean}

Example

utils.isObject('foo');
//=> false
 
utils.isObject({});
//=> true

.arrayify

Cast the given value to an array.

Params

  • value {String|Array}
  • returns {Array}

Example

utils.arrayify('foo');
//=> ['foo']
 
utils.arrayify(['foo']);
//=> ['foo']

Related projects

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

Generate readme and API documentation with verb:

$ npm install verb && npm run docs

Or, if verb is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016 Jon Schlinkert Released under the MIT license.


This file was generated by verb, v0.9.0, on March 04, 2016.

Package Sidebar

Install

npm i generator-util

Weekly Downloads

4,987

Version

0.2.9

License

MIT

Last publish

Collaborators

  • jonschlinkert