Utils for
generategenerators.
(TOC generated by verb using markdown-toc)
Install with npm:
$ npm install generator-util --savevar util = require('generator-util');Return a home-relative filepath
Params
filepath{String}returns{String}
Example
utils.homeRelative('foo');
//=> 'dev/foo'Return true if a filepath exists and is a directory.
Params
filepath{String}returns{Boolean}
Rename the key used for storing views/templates
Params
key{String}view{Object}: therenameKeymethod is used by templates for both setting and getting templates. When setting,viewis exposed as the second parameter.returns{String}
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';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'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'Get a generator from app.
Params
app{Object}name{String}: Generator namereturns{Object}: Returns the generator instance.
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 resolveoptions{Object}: Passoptions.cwdand/oroptions.configfile(filename) to modify the path used byresolve.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');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 pathreturns{any|undefined}: Returns the value of requiring the specified module, orundefinedif unsuccessful.
Example
utils.tryRequire('foo');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}
Returns true if the given value is a function.
Params
value{any}returns{Boolean}
Example
utils.isFunction('foo');
//=> false
utils.isFunction(function() {});
//=> trueReturns true if the given value is a boolean.
Params
value{any}returns{Boolean}
Example
utils.isBoolean('foo');
//=> false
utils.isBoolean(false);
//=> trueReturns true if a the given value is a string.
Params
value{any}returns{Boolean}
Example
utils.isString('foo');
//=> false
utils.isString({});
//=> trueReturns true if a the given value is an object.
Params
value{any}returns{Boolean}
Example
utils.isObject('foo');
//=> false
utils.isObject({});
//=> trueCast the given value to an array.
Params
value{String|Array}returns{Array}
Example
utils.arrayify('foo');
//=> ['foo']
utils.arrayify(['foo']);
//=> ['foo']- base: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
- base-fs: base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file… more | homepage
- base-pipeline: base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines. | homepage
- base-plugins: Upgrade's plugin support in base applications to allow plugins to be called any time after… more | homepage
- base-runner: Orchestrate multiple instances of base-methods at once. | homepage
- base-tasks: base-methods plugin that provides a very thin wrapper around https://github.com/jonschlinkert/composer for adding task methods to… more | homepage
- generate: Fast, composable, highly extendable project generator with a user-friendly and expressive API. | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
$ npm install verb && npm run docsOr, if verb is installed globally:
$ verbInstall dev dependencies:
$ npm install -d && npm testJon Schlinkert
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb, v0.9.0, on March 04, 2016.