gulp-armapbo

The plugin for Gulp which allows to pack ArmA pbo files from sources.

Usage no npm install needed!

<script type="module">
  import gulpArmapbo from 'https://cdn.skypack.dev/gulp-armapbo';
</script>

README

node npm Travis branch Coveralls branch Dependencies

Gulp Arma Pbo plugin

The plugin's goal is to create Arma2/Arma3 pbo files from sources using Gulp.

Installation

npm install gulp-armapbo

Usage

const gulp = require('gulp');
const pbo = require('gulp-armapbo');

gulp.task('pack', () => {
    return gulp.src('pbo-contents/**/*')
        .pipe(pbo.pack({
            fileName: 'my-file.pbo',
            extensions: [{
                name: 'author',
                value: 'Author Name'
            }, {
                name: 'mission',
                value: 'Mission Name'
            }],
            compress: [
                '**/*.sqf',
                'mission.sqm',
                'description.ext'
            ]
        }))
        .pipe(gulp.dest('pbo-packed/'));
});

Usage with TypeScript

import * as gulp from 'gulp';
import {pack, StreamOptions} from 'gulp-armapbo';

gulp.task('pack', () => {
    return gulp.src('pbo-contents/**/*')
        .pipe(pack({
            fileName: 'my-file.pbo',
            extensions: [{
                name: 'author',
                value: 'Author Name'
            }, {
                name: 'mission',
                value: 'Mission Name'
            }],
            compress: [
                '**/*.sqf',
                'mission.sqm',
                'description.ext'
            ]
        } as StreamOptions))
        .pipe(gulp.dest('pbo-packed/'));
});

Plugin API

pbo.pack([options])

Options

Required: no

options.fileName

Name of the pbo file to create, e.g. someFileName.pbo; if no value specified, the name of the $cwd is used

Type: string

Default: process.cwd()

Required: no

options.extensions

Adds pbo file header extension fields. You are free to place any arbitrary information here.

Type: array of {name:<string>, value:<string>} objects, e.g. {name: 'author', value: 'Author Name' }

Default: undefined

Required: no

options.compress

Files to apply data compression to

Type: string (glob pattern) or array of strings (glob patterns), e.g. compress: 'mission.sqm' or compress: '**/*.sqf' or compress: ['**/*.sqf', '**/*.hpp', 'mission.sqm']

Default: undefined

Required: no

options.verbose

Print compression information to console

Type: bool

Default: true

Required: no

options.progress

Print the current file compression progress to console

Type: bool

Default: true

Required: no