protocolbuffers / protocolbuffers/protobuf-javascript
Commonjs pb exports do not carry intellisense
@lukesandberg is already working on this.
Since Jun 9, 2021.
- Dominant language
- JavaScript
- Stars
- 471
- Forks
- 91
- Avg merge
- 3h 57m
- Merged PRs (30d)
- 2
Description
What version of protobuf and what language are you using?
Version: v3.6.1
Language: Javascript
What operating system (Linux, Windows, ...) and version?
Ubuntu 20.04, x86_64
What runtime / compiler are you using (e.g., python version or gcc version)
protoc pre-built compiler
What did you do?
Steps to reproduce the behavior:
- Create a sample protoc file, here
simple.proto. I took it from this example, modified to "proto3" - Use the compiler to autogen JavaScript code:
protoc --js_out=import_style=commonjs,binary:. simple.proto - Use the default export as an object with expected Schema:
const Schema = require('./simple_pb'); - Attempt to use the expected Class(es) on that object:
const test = new Schema.Test1(); - See that you do not receive intellisense for the
Test1()class, nor for expected operations it's instances
What did you expect to see
Intellisense for the simple_pb operations on the default export.
What did you see instead?
No Intellisense, but the operations themselves do execute (setting values, serialzing to Binary).
I was able to "fix" the issue by changing the last line of the simple_pb.js file. The goog export extension did not work, so I just commented it out and spread the goog and proto objects into module.exports:
module.exports = {...goog, ...proto};
// goog.object.extend(exports, proto);
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.