gulp-protobuf
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Gulp Protobuf

Yet another gulp task for protobufs!

Circle CI npm Licence MIT

This gulp task wraps the protobufjs pbjs and pbts tools to allow generation of JavaScript code and TypeScript definitions without the need for the protoc binary.

Prerequisites

Node.js > v6.12.0, which includes npm.

Installation

$ npm install gulp-protobuf

Usage

Two tasks are exposed from this package, pbjs and pbts.

pbjs is used to translate between file formats and generate static code.

pbts is used to generate TypeScript definitions from annotated JavaScript files output from pbjs.

First, import this package into your gulpfile:

let protobuf = require("gulp-protobuf");

Then you can use either task in your gulp tasks individually:

gulp.task("protobuf-gen", () => {
    return gulp.src(protoFiles)
    .pipe(protobuf.pbjs({
        target: "static-module",
        wrap: "commonjs"
    }))
    .pipe(gulp.dest(distDir));
});
gulp.task("protobuf-types", ["protobuf-gen"], () => {
    return gulp.src(jsFiles)
    .pipe(protobuf.pbts())
    .pipe(gulp.dest(typesDir));
});

Alternatively, pipe both together to output just TypeScript definitions:

gulp.task("protobuf", () => {
    return gulp.src(protoFiles)
    .pipe(protobuf.pbjs({
        target: "static-module",
        wrap: "commonjs"
    }))
    .pipe(protobuf.pbts())
    .pipe(gulp.dest(typesDir));
});

Refer to the protobufjs documentation to see the options available for each command:

pbjs options pbts options

Package Sidebar

Install

npm i gulp-protobuf

Weekly Downloads

7

Version

1.0.1

License

MIT

Unpacked Size

16.5 kB

Total Files

7

Last publish

Collaborators

  • thegecko