Module Snippet
Creates a module file.
Installation
$ npm install @kgryte/node-module-snippet
Usage
var cp = require( '@kgryte/node-module-snippet' );
cp( dest[, opts ][, clbk ] )
Asynchronously create a file in a specified destination
directory.
cp( 'path/to/a/directory', onCreate );
function onCreate( error ) {
if ( error ) {
throw error;
}
console.log( 'Success!' );
}
The function accepts the following options
:
-
template: snippet template name. Default:
'mocha'
. -
name: export name. Default:
'foo'
. -
filename: filename. Default:
'index.js'
. -
desc: module description. Default:
''
.
By default, a default
template is used. To specify a different snippet template, set the template
option.
cp( 'path/to/a/directory', {
'template': 'default'
});
To specify snippet fields, set the corresponding options
.
cp( 'path/to/a/directory', {
'name': 'beepBoop',
'desc': 'Returns a beep boop.',
'filename': 'foo.js'
});
cp.sync( dest[, opts] )
Synchronously create a file in a specified destination
directory.
cp.sync( 'path/to/a/directory' );
The function accepts the same options
as the asynchronous version.
Notes
- Supported templates may be found in the
./lib
directory and are named according to the directory name.
Examples
var mkdirp = require( 'mkdirp' ),
path = require( 'path' ),
cp = require( '@kgryte/node-module-snippet' );
var dirpath = path.resolve( __dirname, '../build/' + new Date().getTime() );
cp.sync( dirpath, {
'template': 'default',
'filename': 'foo.js',
'desc': 'Returns a beep boop.',
'name': 'beepBoop'
});
To run the example code from the top-level application directory,
$ node ./examples/index.js
CLI
Installation
To use the module as a general utility, install the module globally
$ npm install -g @kgryte/node-module-snippet
Usage
Usage: module-snippet [options] [destination]
Options:
-h, --help Print this message.
-V, --version Print the package version.
-tmpl --template [name] Template name. Default: 'default'.
-f --filename [filename] Filename. Default: 'index.js'.
-desc --description [desc] Module description. Default: ''.
--name [name] Export name. Default: 'foo'.
Examples
$ cd ~/my/project/directory
$ module-snippet
# => creates a file in the current working directory
To specify a destination other than the current working directory, provide a destination
.
$ module-snippet ./../some/other/directory
Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
Test Coverage
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
License
Copyright
Copyright © 2015. Athan Reines.