Skip to content

pbjs, pbts dependencies #618

@mkmik

Description

@mkmik

protobuf.js version: 6.4.0

run pbjs and not have it lazily load dependencies

$ ./node_modules/.bin/pbjs
installing minimist@^1.2.0 ...
module.js:472
    throw err;
    ^

Error: Cannot find module 'minimist'
$ ./node_modules/.bin/pbjs
installing chalk@^1.1.3 ...
installing glob@^7.1.1 ...
installing uglify-js@^2.7.5 ...
protobuf.js v6.4.1 CLI for JavaScript

Consolidates imports and converts between file formats.
...

i.e. it takes two runs of the pbjs to download the required dependencies in node_modules/protobufjs/node_modules, same goes for pbts (which blocks on Error: Cannot find module 'jsdoc/package.json')

The problem is caused by the fact that the dependencies required for the provided binaries are declared as devDependencies, but If I understand correctly devDependencies are meant to be dependencies needed to develop a given package, i.e. stuff that is only useful while developing protobufjs itself.

However, pbjs and pbts are tools that are meant to be used as devDependencies in projects that are using protobufjs.

I see that protobufjs has a small dependency set, and that's a good thing; thus we cannot just move

Would it make sense to put these scripts in a separate package, exposing its dependencies as "dependencies", so that other packages can depend on the scripts with "devDependencies"?

I'm I missing something?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions