noun
Load and use plugins to manipulate objects. Load locally defined plugins, or define a namespace to automatically load plugins from node_modules. Easy to use and extend.
Noun makes it easy to extend your application with basic plugin functionality.
Usage
var Noun = ;
npm plugins
By default, plugins named noun-*
are automatically loaded from node_modules
.
Pass a namespace
to use your own naming convention:
// load plugins named `my-app-*`var noun = 'my-app';
Note that plugins are only loaded if they are listed in dependencies
or devDependencies
in package.json.
See the examples and tests for a better understanding of how Noun works.
local plugins
For local plugins, simply use a leading dot ./
in the path, just like require()
rules:
noun;
Install
npm
Install withnpm i noun --save
Run tests
npm test
API
Noun
Create an instance of Noun
with the given namespace
.
namespace
{Object}: Used to automatically load plugins from node_modules.source
{Object}: Pass an object to directly extend thethis
object.
var Noun = ;var noun = 'foo';
.plugin
Define a plugin.
fn
{Function}: The function to call.returns
{Object}: ReturnsNoun
for chaining.
noun
.loadPlugins
Load plugins.
pattern
{String}: Optionally pass a glob pattern when calling the method directly.returns
{Object}: Returns an object of plugins loaded fromnode_modules
.
Called in the constructor to load plugins from node_modules
using the given namespace
, but you may also call the method
directly.
For example, the namespace foo
would load plugins using the
foo-*
glob pattern, e.g:
noun;
.runPlugins
Run an object of plugins. By default, the .runPlugins()
method is called in the constructor, but it may also be used directly.
fns
{Object}: Object of plugins.
When used directly, each plugin is a key-value pair, where the key is the plugin name, and the value is the function to be called.
Currently, the plugin name is useless, so this could have been setup to take an array. However, there are plans to add additional features to take advantage of this configuration.
Example:
noun
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license
This file was generated by verb-cli on October 27, 2014.