@kgryte/license

Creates a LICENSE file.

Usage no npm install needed!

<script type="module">
  import kgryteLicense from 'https://cdn.skypack.dev/@kgryte/license';
</script>

README

LICENSE

NPM version Build Status Coverage Status Dependencies

Creates a LICENSE file.

Installation

$ npm install @kgryte/license

Usage

var cp = require( '@kgryte/license' );

cp( dest[, opts ][, clbk ] )

Asynchronously create a LICENSE 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: LICENSE template name. Default: 'MIT'.
  • holder: license holder.

By default, an MIT LICENSE template is used. To specify a different LICENSE template, set the template option.

cp( 'path/to/a/directory', {
    'template': 'copyright'
});

To specify a license holder, set the holder option.

cp( 'path/to/a/directory', {
    'holder': 'Athan Reines'
});

cp.sync( dest[, opts] )

Synchronously create a LICENSE 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/license' );

var dirpath = path.resolve( __dirname, '../build/' + new Date().getTime() );

mkdirp.sync( dirpath );
cp.sync( dirpath, {
    'template': 'MIT',
    'holder': 'Athan Reines'
});

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/license

Usage

Usage: license [options] [destination]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  -tmpl  --template [name]     Template name. Default: 'MIT'.
         --holder              License holder.

Examples

$ cd ~/my/project/directory
$ license
# => creates a LICENSE file in the current working directory

To specify a destination other than the current working directory, provide a destination.

$ license ./../some/other/directory

To specify a license holder, set the holder option.

$ license --holder='Athan Reines'

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

MIT license.

Copyright

Copyright © 2015. Athan Reines.