An open API service indexing awesome lists of open source software.

https://github.com/videojs/videojs-generator-verify

Various automated tests should be preformed on generator plugins pre-publish.
https://github.com/videojs/videojs-generator-verify

Last synced: 5 months ago
JSON representation

Various automated tests should be preformed on generator plugins pre-publish.

Awesome Lists containing this project

README

          

# videojs-generator-verify

[![Build Status](https://travis-ci.org/videojs/videojs-generator-verify.svg?branch=master)](https://travis-ci.org/videojs/videojs-generator-verify)
[![Greenkeeper badge](https://badges.greenkeeper.io/videojs/videojs-generator-verify.svg)](https://greenkeeper.io/)
[![Slack Status](http://slack.videojs.com/badge.svg)](http://slack.videojs.com)

[![NPM](https://nodei.co/npm/videojs-generator-verify.png?downloads=true&downloadRank=true)](https://nodei.co/npm/videojs-generator-verify/)

A tool to verify that a generator-videojs-plugin project is ready for publish.

Maintenance Status: Stable

- [Installation](#installation)
- [Usage](#usage)
- [Command line](#command-line)
- [API](#api)
- [Options](#options)
- [`verbose`](#verbose)
- [`quiet`](#quiet)
- [`dir`](#dir)
- [`skip`](#skip)
- [What is tested](#what-is-tested)
- [License](#license)

## Installation

Install `videojs-generator-verify` and `in-publish` via npm

```sh
$ npm install --save-dev videojs-generator-verify in-publish
```

Then add a script to your `package.json` as follows:

```json
{
"scripts": {
"prepublish": "not-in-install && npm run build && vjsverify || in-install"
}
}
```

## Usage

### Command line
This package provides two binaries `videojs-generator-verify` and `vjsverify`. `vjsverify` is just an alias to `videojs-generator-verify`.

The cli has the following options:

```sh

Usage: vjsverify [--verbose|--quiet|--skip-es-check]

A tool to verify that a generator-videojs-plugin project is ready for publish.

-v, --version Print the version of videojs-generator-verify.
-V, --verbose Print all results, even successful ones.
-q, --quiet Don't print anything.
-d, --dir [dir] Run in this project directory, defaults to cwd.
--skip-es-check skip the syntax check, still here for backwards compatablity
--skip-[name] skip a test that you do not want to run. install, syntax, fields, require

```

### API
It is also possible to require this package, and run the `verify` function manually. It takes several options in as an object and returns
a promise that is resolved to 0 on success and 1 on failure.

#### Options
Options are passed in an object by key/value.

Example

```js
const vjsverify = require('videojs-generator-verify');
const opitons = {verbose: true};

vjsverify(options).then(function(exitCode) {
process.exit(exitCode);
}).catch(function(e) {
console.error('Uh oh, internally vjsverify error', e);

process.exit(1);
});
```

##### `verbose`

> Type: `boolean`
> Default: `false`

Print all results, even for success. By default only errors are printed.

##### `quiet`

> Type: `boolean`
> Default: `false`

Do not print anything.

##### `dir`

> Type: `string`
> Default: `process.cwd()`

Run vjsverify in a specific directory. Note that this directory must exist and contain a package.json.

##### `skip`

> Type: `array`
> Default: `[]`

Skip a tests that are not relevant for your project. valid checks: `require`, `syntax`, `fields`, `install`

## What is tested
This package tests three things:

1. Do all the files referenced in `package.json` point to a file that exists
2. Will the package be installable from npm after publish
3. Are the dist files all using es5 syntax, unless `--skip-es-check` is passed.

## License

Apache-2.0. Copyright (c) Brightcove, Inc.