@kgryte/travis-yml

Creates a .travis.yml file.

Usage no npm install needed!

<script type="module">
  import kgryteTravisYml from 'https://cdn.skypack.dev/@kgryte/travis-yml';
</script>

README

.travis.yml

NPM version Build Status Coverage Status Dependencies

Creates a .travis.yml file.

Installation

$ npm install @kgryte/travis-yml

Usage

var cp = require( '@kgryte/travis-yml' );

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

Asynchronously create a .travis.yml 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: .travis.yml template name. Default: 'nodejs'.
  • versions: language versions to build against. Defaults are template specific.

By default, a nodejs template is used. To specify a different .travis.yml template, set the template option.

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

To specify particular language versions against which to build, set the versions option.

cp( 'path/to/a/directory', {
    'versions': [
        'node',
        '6',
        '5',
        '4',
        '0.12',
        '0.10',
        '0.8',
        'iojs'
    ]
});

cp.sync( dest[, opts] )

Synchronously create a .travis.yml 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.
  • Default options for each template are located in the corresponding ./lib directory.

Examples

var mkdirp = require( 'mkdirp' ),
    path = require( 'path' ),
    cp = require( '@kgryte/travis-yml' );

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

mkdirp.sync( dirpath );
cp.sync( dirpath, {
    'template': 'nodejs',
    'versions': [
        '4',
        '0.12'
    ]
});

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/travis-yml

Usage

Usage: travisyml [options] [destination]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  -tmpl  --template [name]     Template name. Default: 'nodejs'.
         --versions            Language versions; e.g., 6,5,4,0.12,...,iojs.

Examples

$ cd ~/my/project/directory
$ travisyml
# => creates a .travis.yml file in the current working directory

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

$ travisyml ./../some/other/directory

To specify particular language versions against which to build, set the versions option using a comma separated list.

$ travisyml --versions=5,4,0.12

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-2016. Athan Reines.