Skip to content

Commit 57f1da6

Browse files
committed
Other: long, @types/long and @types/node are just dependencies, see #753
It's impossible anyway to get this right for everyone, so here's the intended setup and everything else is re-configuration.
1 parent acea4d7 commit 57f1da6

File tree

4 files changed

+9
-49
lines changed

4 files changed

+9
-49
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,9 @@ var buffer = AwesomeMessage.encode(message).finish();
509509
...
510510
```
511511

512-
**Note:** When using [long.js](https://github.com/dcodeIO/long.js), make sure to add [@types/long](https://www.npmjs.com/package/@types/long) to your project's dependencies. Likewise, when building for node, make sure to add [@types/node](https://www.npmjs.com/package/@types/node). Alternatively, if you are not using one of these, there are two stubs available that can be referenced instead of the respective full type definition:
512+
**Note** that the npm package depends on [@types/node](https://www.npmjs.com/package/@types/node) because of `Buffer` and [@types/long](https://www.npmjs.com/package/@types/long) because of `Long`.
513+
514+
If you are not building for node and/or not using long.js and want to exclude their full type definitions manually for whatever reason, there are two stubs available that can be referenced instead of the respective full type definition:
513515

514516
```ts
515517
/// <reference path="./node_modules/protobufjs/stub-long.d.ts" />

package.json

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "protobufjs",
3-
"version": "6.7.2",
3+
"version": "6.7.3",
44
"versionScheme": "~",
55
"description": "Protocol Buffers for JavaScript (& TypeScript).",
66
"author": "Daniel Wirtz <[email protected]>",
@@ -44,6 +44,7 @@
4444
"release": "npm run make && npm run changelog"
4545
},
4646
"dependencies": {
47+
"long": "^3.2.0",
4748
"@protobufjs/aspromise": "^1.1.1",
4849
"@protobufjs/base64": "^1.1.1",
4950
"@protobufjs/codegen": "^1.0.8",
@@ -53,14 +54,11 @@
5354
"@protobufjs/inquire": "^1.1.0",
5455
"@protobufjs/path": "^1.1.2",
5556
"@protobufjs/pool": "^1.1.0",
56-
"@protobufjs/utf8": "^1.1.0"
57-
},
58-
"optionalDependencies": {
59-
"long": "^3.2.0"
57+
"@protobufjs/utf8": "^1.1.0",
58+
"@types/long": "^3.0.31",
59+
"@types/node": "7.0.12"
6060
},
6161
"devDependencies": {
62-
"@types/long": "^3.0.31",
63-
"@types/node": "7.0.12",
6462
"benchmark": "^2.1.4",
6563
"browserify": "^14.3.0",
6664
"browserify-wrap": "^1.0.2",

tests/data/package.js

-40
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ $root.Package = (function() {
2929
* @property {Object.<string,string>} [bin] Package bin.
3030
* @property {Object.<string,string>} [scripts] Package scripts.
3131
* @property {Object.<string,string>} [dependencies] Package dependencies.
32-
* @property {Object.<string,string>} [optionalDependencies] Package optionalDependencies.
3332
* @property {Object.<string,string>} [devDependencies] Package devDependencies.
3433
* @property {string} [types] Package types.
3534
* @property {Array.<string>} [cliDependencies] Package cliDependencies.
@@ -46,7 +45,6 @@ $root.Package = (function() {
4645
this.bin = {};
4746
this.scripts = {};
4847
this.dependencies = {};
49-
this.optionalDependencies = {};
5048
this.devDependencies = {};
5149
this.cliDependencies = [];
5250
if (properties)
@@ -139,12 +137,6 @@ $root.Package = (function() {
139137
*/
140138
Package.prototype.dependencies = $util.emptyObject;
141139

142-
/**
143-
* Package optionalDependencies.
144-
* @type {Object.<string,string>}
145-
*/
146-
Package.prototype.optionalDependencies = $util.emptyObject;
147-
148140
/**
149141
* Package devDependencies.
150142
* @type {Object.<string,string>}
@@ -211,9 +203,6 @@ $root.Package = (function() {
211203
if (message.dependencies != null && message.hasOwnProperty("dependencies"))
212204
for (var keys = Object.keys(message.dependencies), i = 0; i < keys.length; ++i)
213205
writer.uint32(/* id 13, wireType 2 =*/106).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.dependencies[keys[i]]).ldelim();
214-
if (message.optionalDependencies != null && message.hasOwnProperty("optionalDependencies"))
215-
for (var keys = Object.keys(message.optionalDependencies), i = 0; i < keys.length; ++i)
216-
writer.uint32(/* id 14, wireType 2 =*/114).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.optionalDependencies[keys[i]]).ldelim();
217206
if (message.devDependencies != null && message.hasOwnProperty("devDependencies"))
218207
for (var keys = Object.keys(message.devDependencies), i = 0; i < keys.length; ++i)
219208
writer.uint32(/* id 15, wireType 2 =*/122).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.devDependencies[keys[i]]).ldelim();
@@ -311,14 +300,6 @@ $root.Package = (function() {
311300
reader.pos++;
312301
message.dependencies[key] = reader.string();
313302
break;
314-
case 14:
315-
reader.skip().pos++;
316-
if (message.optionalDependencies === $util.emptyObject)
317-
message.optionalDependencies = {};
318-
key = reader.string();
319-
reader.pos++;
320-
message.optionalDependencies[key] = reader.string();
321-
break;
322303
case 15:
323304
reader.skip().pos++;
324305
if (message.devDependencies === $util.emptyObject)
@@ -427,14 +408,6 @@ $root.Package = (function() {
427408
if (!$util.isString(message.dependencies[key[i]]))
428409
return "dependencies: string{k:string} expected";
429410
}
430-
if (message.optionalDependencies != null && message.hasOwnProperty("optionalDependencies")) {
431-
if (!$util.isObject(message.optionalDependencies))
432-
return "optionalDependencies: object expected";
433-
var key = Object.keys(message.optionalDependencies);
434-
for (var i = 0; i < key.length; ++i)
435-
if (!$util.isString(message.optionalDependencies[key[i]]))
436-
return "optionalDependencies: string{k:string} expected";
437-
}
438411
if (message.devDependencies != null && message.hasOwnProperty("devDependencies")) {
439412
if (!$util.isObject(message.devDependencies))
440413
return "devDependencies: object expected";
@@ -516,13 +489,6 @@ $root.Package = (function() {
516489
for (var keys = Object.keys(object.dependencies), i = 0; i < keys.length; ++i)
517490
message.dependencies[keys[i]] = String(object.dependencies[keys[i]]);
518491
}
519-
if (object.optionalDependencies) {
520-
if (typeof object.optionalDependencies !== "object")
521-
throw TypeError(".Package.optionalDependencies: object expected");
522-
message.optionalDependencies = {};
523-
for (var keys = Object.keys(object.optionalDependencies), i = 0; i < keys.length; ++i)
524-
message.optionalDependencies[keys[i]] = String(object.optionalDependencies[keys[i]]);
525-
}
526492
if (object.devDependencies) {
527493
if (typeof object.devDependencies !== "object")
528494
throw TypeError(".Package.devDependencies: object expected");
@@ -569,7 +535,6 @@ $root.Package = (function() {
569535
object.bin = {};
570536
object.scripts = {};
571537
object.dependencies = {};
572-
object.optionalDependencies = {};
573538
object.devDependencies = {};
574539
}
575540
if (options.defaults) {
@@ -624,11 +589,6 @@ $root.Package = (function() {
624589
for (var j = 0; j < keys2.length; ++j)
625590
object.dependencies[keys2[j]] = message.dependencies[keys2[j]];
626591
}
627-
if (message.optionalDependencies && (keys2 = Object.keys(message.optionalDependencies)).length) {
628-
object.optionalDependencies = {};
629-
for (var j = 0; j < keys2.length; ++j)
630-
object.optionalDependencies[keys2[j]] = message.optionalDependencies[keys2[j]];
631-
}
632592
if (message.devDependencies && (keys2 = Object.keys(message.devDependencies)).length) {
633593
object.devDependencies = {};
634594
for (var j = 0; j < keys2.length; ++j)

tests/data/package.proto

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ message Package {
2121
map<string, string> bin = 11;
2222
map<string, string> scripts = 12;
2323
map<string, string> dependencies = 13;
24-
map<string, string> optionalDependencies = 14;
24+
// map<string, string> optionalDependencies = 14;
2525
map<string, string> devDependencies = 15;
2626
// map<string, bool> browser = 16;
2727
string types = 17;

0 commit comments

Comments
 (0)