gcp

gulp-cordova-plugin

This library adds a cordova plugin to the cordova project

Showing:

Popularity

Downloads/wk

10

GitHub Stars

4

Maintenance

Last Commit

3yrs ago

Contributors

4

Package

Dependencies

5

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

gulp-cordova-plugin

Build Status Coverage Status

Add plugins to your cordova project.

Installation

$ npm install --save-dev gulp-cordova-plugin

Usage

Simple

The following example will add three plugins to the cordova project. The plugin.google.maps plugin expects two extra variables.

const gulp = require('gulp');
const create = require('gulp-cordova-create');
const plugin = require('gulp-cordova-plugin');

gulp.task('build', () => {
    return gulp.src('dist')
        .pipe(create())
        .pipe(plugin('org.apache.cordova.dialogs'))
        .pipe(plugin('org.apache.cordova.camera'))
        .pipe(plugin('plugin.google.maps', {variables: {'API_KEY_FOR_ANDROID': 'xxx', 'API_KEY_FOR_IOS': 'xxx'}}));
});

It's also possible to use a specific version of a plugin as well as to use the fetch option.

const gulp = require('gulp');
const create = require('gulp-cordova-create');
const plugin = require('gulp-cordova-plugin');

gulp.task('build', () => {
    return gulp.src('dist')
        .pipe(create())
        .pipe(plugin('org.apache.cordova.dialogs', '1.0.0'))
        .pipe(plugin('org.apache.cordova.camera', 'latest'))
        .pipe(plugin('plugin.google.maps', {version: '2.3.0', variables: {'API_KEY_FOR_ANDROID': 'xxx', 'API_KEY_FOR_IOS': 'xxx'}}))
        .pipe(plugin('cordova-plugin-localization-strings', {version: 'latest', fetch: true}));
});

Array

You can also pass an array of plugins instead of one plugin at a time.

const gulp = require('gulp');
const create = require('gulp-cordova-create');
const plugin = require('gulp-cordova-plugin');

gulp.task('build', function() {
    return gulp.src('dist')
        .pipe(create())
        .pipe(plugin([
            'org.apache.cordova.dialogs',
            'org.apache.cordova.camera'
        ]));
});

This method is faster because it adds the plugins in parallel instead of in series. The downside on the other hand is that you can't provide an options object for a plugin and thus it is not possible to provide extra variables.

You can change the version by adding @x.y.z at the end of the name.

const gulp = require('gulp');
const create = require('gulp-cordova-create');
const plugin = require('gulp-cordova-plugin');

gulp.task('build', function() {
    return gulp.src('dist')
        .pipe(create())
        .pipe(plugin([
            'org.apache.cordova.dialogs@1.0.0',
            'org.apache.cordova.camera'
        ]));
});

Object

A third way of adding plugins is by passing an object with the name of the plugin as key and a version or options object as value.

const gulp = require('gulp');
const create = require('gulp-cordova-create');
const plugin = require('gulp-cordova-plugin');

gulp.task('build', function() {
    return gulp.src('dist')
        .pipe(create())
        .pipe(plugin({
            'org.apache.cordova.dialogs': '1.0.0',
            'org.apache.cordova.camera': 'latest',
            'plugin.google.maps': {version: '2.3.0', variables: {'API_KEY_FOR_ANDROID': 'xxx', 'API_KEY_FOR_IOS': 'xxx'}},
            'cordova-plugin-localization-strings', {version: 'latest', fetch: true}
        }));
});

This approach is fast because it adds the plugins in parallel and the benefit is that you can pass in an options object.

API

plugin(plugin, [options])

plugin

Required Type: string

The plugin that should be added to the project.

options

Type: object|string

Extra options for the plugin that should be added or the version number of the plugin.

plugin(plugins)

plugins

Required
Type: string[]

A list of plugins that should be added to the project.

plugin(plugins)

plugins

Required
Type: object

The key of the object is the name of the plugin and the value is either the version number or an options object.

See gulp-cordova for the full list of available packages.

License

MIT © Sam Verschueren

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial