1.0.0 • Published 6 years ago
proto-pbjs-loader v1.0.0
proto-pbjs-loader
Webpack loader that parses .proto files and converts them to a protobuf.js modules. It build on top of protobuf.js CLI and could be handy integrate into your current build flow.
Install
npm install --save-dev proto-pbjs-loaderUsage
// webpack.config.js
module.exports = {
    ...
    module: {
        rules: [{
            test: /\.proto$/,
            use: {
              loader: 'proto-pbjs-loader',
              /*
               * Config is optional.
               */
              options: {
                /*
                 * controls the "target" flag to pbjs - true for
                 * json-module, false for static-module.
                 * default: false
                 */
                json: false,
                /*
                 * import paths provided to pbjs.
                 * default: webpack import paths (i.e. config.resolve.modules)
                 */
                paths: ['/path/to/definitions'],
                /*
                 * additional command line arguments passed to
                 * pbjs, see https://github.com/dcodeIO/ProtoBuf.js/#pbjs-for-javascript
                 * for a list of what's available.
                 * default: []
                 */
                pbjsArgs: ['--no-encode'],
                /*
                 * Additional build targets, wich will bundled in root object.
                 * Some times it helpful if pb.js throws error
                 * when try to resolve type
                 * default: []
                 */
                additionalTargets: ['/path/to/additional/definitions']
              }
            }
        }]
    }
};// myModule.js
/*
 * replaces e.g.:
 *
 * const protobuf = require('protobufjs/light');
 * const jsonDescriptor = require('json!my/compiled/protobuf.js');
 * const Root = protobuf.Root.fromJSON(jsonDescriptor);
 */
const Root = require('my/protobuf.proto');Development
npm run lint # linting
npm run test # testingFresh up and fully refactored version of protobufjs-loader. Compatable with webpack 3 and 4.
Active maintenance with care and ❤️.
Feel free to send a PR.
1.0.0
6 years ago