{"_id":"@bveenema/node-red-protobuf","_rev":"8-53c25a5c94149d713377cd3c0d751063","name":"@bveenema/node-red-protobuf","dist-tags":{"latest":"2.2.1"},"versions":{"2.0.0":{"name":"@bveenema/node-red-protobuf","version":"2.0.0","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.0.0","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf.git"},"dist":{"shasum":"557b751b7e18c124b59239cc89316f38ad85471d","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.0.0.tgz","fileCount":22,"integrity":"sha512-lCdm6auXbd7A0hV4ep2pXvJAJ1EYxzV3oOHYcUrLNJE9q69RjRY4UWE+A87IkLI6ldtaRquKaLw66rXXtzHjsg==","signatures":[{"sig":"MEUCICKN61WnBKSCbt38BJgOdb/qkheT4hdElwKsxpTFNI1KAiEAzV2Jf5Ocu92hpKVMBjhsW1snR6iBHvsjH+PvLXdMAx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196276},"main":"src/index.js","gitHead":"7935108a12030446e1cca80067074a70a901cb2b","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"file":"src/nodes/protofile.js","decode":"src/nodes/decode.js","encode":"src/nodes/encode.js"}},"repository":{"url":"git+ssh://git@github.com/w4tsn/node-red-contrib-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.0.0_1740180782828_0.8618536514417041","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@bveenema/node-red-protobuf","version":"2.0.1","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.0.1","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"47542013bfd6366d72b08090fdb1957e7b673c84","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.0.1.tgz","fileCount":22,"integrity":"sha512-0I9btW/dJ9ROuUbkh/LA4yBhFwrC4EnZR9rdl92P/rQ+w4xOlRuG3u0/tuKImVDtlB2OqQf3KSbCkFEbMhCqQA==","signatures":[{"sig":"MEYCIQCzDEFiDU9SfehnMq6HTp3ibr8TS2sCTbYs0ADyNfRj3AIhAKSj/E4ZWuaqyt1jEqJAEPxsXwrjlf8cgOLE3wMCHoy3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196272},"main":"src/index.js","gitHead":"a0290cc6d9abd148e565af771f5c020b3baaf00a","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"file":"src/nodes/protofile.js","decode":"src/nodes/decode.js","encode":"src/nodes/encode.js"}},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.0.1_1740181216063_0.33028786769210994","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@bveenema/node-red-protobuf","version":"2.0.2","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.0.2","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"96dcb93dcd1c7fa3673f78259c61abcd9e10b46a","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.0.2.tgz","fileCount":22,"integrity":"sha512-o358yLIysouZdUCgJHsKnnYWcjGTy5PvthOzzKUkTVbiRSExEbHaGyIdKnvjn9njQpREfzyC0z8tbPNuFtDEQA==","signatures":[{"sig":"MEUCIDYDcwos0gfcqevfU2i/xEFq4eZkEpvTWzggBRnJldbCAiEAu0IbNZ3XBzygRPOW87B7tC1mmw0dGns5mtcC8C+H9+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196275},"main":"src/index.js","gitHead":"b997fde31247dde32f8f3533c5e32ea9e0a88844","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"file":"src/nodes/protofile.js","decode":"src/nodes/decode.js","encode":"src/nodes/encode.js"}},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.0.2_1740181977696_0.013786677403788028","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@bveenema/node-red-protobuf","version":"2.0.3","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.0.3","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"80b7ee3b437bfe7e6efa6a04aca15d49aa099958","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.0.3.tgz","fileCount":22,"integrity":"sha512-t0BF1PjiZRyY386VvwZY04oJ0tdCKUrIqit/OYtCpoNUKJRYfTYi8p0I0NTBhaH1gxOroEBCCBH6ij2Qv5Dqtg==","signatures":[{"sig":"MEYCIQClN8/DdYS8JcXltPAGs0tVLCCiPGcYUsO/CL/LpXKGbwIhANgRvSGXmo0+yRmShlQgK9mBKFhkfUI9vixxFSbr1AvM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196263},"main":"src/index.js","engines":{"node":">=12.0.0"},"gitHead":"83b3962fe4fea8f0e3dc8e746a0834815741e009","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"pb_decode":"src/nodes/decode.js","pb_encode":"src/nodes/encode.js","protobuf_file":"src/nodes/protofile.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.0.3_1741012105066_0.8687787335767665","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@bveenema/node-red-protobuf","version":"2.1.0","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.1.0","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"8062d8e49100731de8cd8656bcacfb3944139d29","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.1.0.tgz","fileCount":28,"integrity":"sha512-nIzCMCDbNn9HbGcQ5emnGldDtzzhj+40nj8MzZae7maEaYjA10D830cbXOS9Gyv05GTPaG+sPxDAb0uDWyYFDA==","signatures":[{"sig":"MEUCIQCLff9GH+eEPcMCCGLo2iJKQ4W4nR+gTbeZ63WdTSBOzgIgEwHBIUlCmY8OLHV96+0G5NW6nF2L5Ud7VkBL+meSu/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269825},"main":"src/index.js","engines":{"node":">=12.0.0"},"gitHead":"e365ab662a4cf3b28f1a4fe1365f2554368803b8","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"pb_decode":"src/nodes/decode.js","pb_encode":"src/nodes/encode.js","protobuf_file":"src/nodes/protofile.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.1.0_1741124173885_0.27734762846044436","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@bveenema/node-red-protobuf","version":"2.1.1","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.1.1","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"a8a7e8b10196e609cee497c8029dc4c6a81313b2","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.1.1.tgz","fileCount":30,"integrity":"sha512-7/WuEpf3KZIH2krm8FtF8FpADSH5FnqSNK3G2wTh9TAuwtI5kNaOIfzyCsbr7gKFY3cRQ4rSv4sfFGp/JzIdDA==","signatures":[{"sig":"MEYCIQDWJqAVEAXScXKX8BXIoIgJWczZdDY/PIWz7TbJjQiTXAIhAPyF3nXVmzUw8Xdbq/5RNx5fX1lbCRrHCQiSKMtA+Mv8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273736},"main":"src/index.js","engines":{"node":">=12.0.0"},"gitHead":"cedc98d7765a767fdbabe5a13a7b0a1debc7902b","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"pb_decode":"src/nodes/decode.js","pb_encode":"src/nodes/encode.js","protobuf_file":"src/nodes/protofile.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.1.1_1741130277611_0.534101537054664","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@bveenema/node-red-protobuf","version":"2.2.0","keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"license":"BSD-3","_id":"@bveenema/node-red-protobuf@2.2.0","maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"homepage":"https://github.com/bveenema/node-red-protobuf","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"dist":{"shasum":"4d75edcdfce69892d052257cdf53bfec3a251101","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.2.0.tgz","fileCount":35,"integrity":"sha512-Xn+SWnpYo3g4349LeUTP3G0+vkuTthP/cJUyt7cyriDqjNeDtYVnwgpf7A9aqtZmTyPKjXVk7UXxntKqvcVX0Q==","signatures":[{"sig":"MEYCIQCfNbep2Lm2M/kkt6MtTHFNmxmbYPbWtW2Mebp7Um1CdwIhAMUjeb16MiURYALo/jAKTMWGUFkXXC4+BPGOZyOPNCuA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341751},"main":"src/index.js","engines":{"node":">=12.0.0"},"gitHead":"4c7bf079d50db3a05c82b174b96639181f0a6d2e","scripts":{"lint":"eslint \"src/**/*.js\"","test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint-fix":"eslint --fix \"src/**/*.js\""},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"node-red":{"nodes":{"pb_decode":"src/nodes/decode.js","pb_encode":"src/nodes/encode.js","protobuf_file":"src/nodes/protofile.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/bveenema/node-red-protobuf.git","type":"git"},"_npmVersion":"10.9.2","description":"Enhanced protocol buffer encode/decode nodes.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","mocha":"^10.0.0","eslint":"8.31.0","should":"13.2.3","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/node-red-protobuf_2.2.0_1741222501367_0.030003241853667095","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@bveenema/node-red-protobuf","version":"2.2.1","description":"Enhanced protocol buffer encode/decode nodes.","main":"src/index.js","scripts":{"test":"mocha \"test/**/*spec.js\"","coverage":"nyc npm run test","lint":"eslint \"src/**/*.js\"","lint-fix":"eslint --fix \"src/**/*.js\""},"repository":{"type":"git","url":"git+https://github.com/bveenema/node-red-protobuf.git"},"keywords":["node-red","protobuf"],"author":{"name":"Ben Veenema"},"contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"license":"BSD-3","bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"homepage":"https://github.com/bveenema/node-red-protobuf","engines":{"node":">=12.0.0"},"node-red":{"version":">=3.0.0","nodes":{"pb_encode":"src/nodes/encode.js","pb_decode":"src/nodes/decode.js","protobuf_file":"src/nodes/protofile.js"}},"devDependencies":{"eslint":"8.31.0","mocha":"^10.0.0","node-red":"^3.0.2","node-red-node-test-helper":"^0.3.0","nyc":"15.1.0","should":"13.2.3"},"dependencies":{"protobufjs":"^7.0.0"},"publishConfig":{"access":"public"},"_id":"@bveenema/node-red-protobuf@2.2.1","gitHead":"fb398ad2e7d54834aab2a95b15d090f1761e7f98","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-2BkeYsjtIFFRiX5KCn77llnWXlJElIRKr9Oj1pti0IA5A7jwf+XUa8IA+q6GPcalypt6EOR8l1XWXf2RhuV7Bw==","shasum":"84a7138df7340ed6104b329636d86f9cba7a2b7d","tarball":"https://registry.npmjs.org/@bveenema/node-red-protobuf/-/node-red-protobuf-2.2.1.tgz","fileCount":36,"unpackedSize":348592,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/zWdB6v1hry3uGnz/R2PnObmjWu5dvomFR8fCMCodwAIgSlPTobE6NWYauyQZG9HGl12c5ls83xBALV5kjeykwPs="}]},"_npmUser":{"name":"bveenema","email":"bveenema@gmail.com"},"directories":{},"maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-red-protobuf_2.2.1_1743716678854_0.8041884212905066"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-21T23:33:02.729Z","modified":"2025-04-03T21:44:39.269Z","2.0.0":"2025-02-21T23:33:03.034Z","2.0.1":"2025-02-21T23:40:16.262Z","2.0.2":"2025-02-21T23:52:57.919Z","2.0.3":"2025-03-03T14:28:25.235Z","2.1.0":"2025-03-04T21:36:14.093Z","2.1.1":"2025-03-04T23:17:57.828Z","2.2.0":"2025-03-06T00:55:01.556Z","2.2.1":"2025-04-03T21:44:39.085Z"},"bugs":{"url":"https://github.com/bveenema/node-red-protobuf/issues"},"author":{"name":"Ben Veenema"},"license":"BSD-3","homepage":"https://github.com/bveenema/node-red-protobuf","keywords":["node-red","protobuf"],"repository":{"type":"git","url":"git+https://github.com/bveenema/node-red-protobuf.git"},"description":"Enhanced protocol buffer encode/decode nodes.","contributors":[{"name":"Alexander Wellbrock","email":"a.wellbrock@mailbox.org"}],"maintainers":[{"name":"bveenema","email":"bveenema@gmail.com"}],"readme":"# @bveenema/node-red-protobuf\r\n\r\nThis project features protobuf encode/decode nodes. Load a proto file, supply a desired type for encoding or decoding and have fun.\r\nIt is originally based on the [node-red-contrib-protobuf](https://github.com/w4tsn/node-red-contrib-protobuf) project but has been enhanced with the following features:\r\n- Advanced Decoding and Encoding Options\r\n  - Include default values\r\n  - Specify type for Enums, Longs and Bytes\r\n  - Flexible encode for on-the-fly conversion including ability to specify enums by string\r\n- Stream Input Mode\r\n- Support for Delimited messages\r\n- Improved UI for selecting Proto Files and Types\r\n- Automatically split decoded messages into their respective fields\r\n\r\n## Installation\r\n\r\nTo install run\r\n\r\n```bash\r\nnpm install --production --save @bveenema/node-red-protobuf \r\n```\r\n\r\nOmit the `--production` flag, in order to install the development dependencies for testing and coverage. Omit `--save` if you don't want to add it to your package.json.\r\n\r\nThis node depends on protobufjs as the main package and will install it along with it.\r\n\r\n## Usage\r\n\r\n1. Place an encode/decode node on a flow\r\n2. Configure the protofile path pointing to your protobuf file(s)\r\n3. Either supply a proto type\r\n    1. within the encode/decode configuration\r\n    2. with the `msg.protobufType` field (takes precedence over node configuration)\r\n4. Either send a `protobuf` encoded payload to the decode node or a `JSON` encoded payload to the encode node\r\n\r\n*Note on the protofile node* The proto file node watches the specified file(s) for changes on the filesystem through nodejs fs API. If the file contents of the `.proto`-file change on disk, the file becomes reloaded. This may happen multiple times at once due to OS and editor specifics. If multiple comma-separated paths are specified, only the first one is monitored right now to save some resources.\r\n\r\n## Features\r\n\r\n* Encode JSON payload to protobuf messages\r\n* Decode protobuf messages to JSON payload\r\n* Load protobuf file(s) from the local file system\r\n* Consider protos from one or multiple protobuf files (including inheritance)\r\n\r\n## Contribution\r\n\r\nTo setup your local development environment first clone this repository, then use a container runtime to get your node-red environment up and running.\r\n\r\nUsing Podman:\r\n```bash\r\npodman run -p 1880:1880 -v $(pwd):/data/node_modules/@bveenema/node-red-protobuf -d --name nodered-contrib-protobuf_plus nodered/node-red\r\n```\r\n\r\nOr using Docker:\r\n```bash\r\n# For Linux/Mac:\r\ndocker run -p 1880:1880 -v \"$(pwd)\":/data/node_modules/@bveenema/node-red-protobuf -d --name node-red-protobuf nodered/node-red\r\n\r\n# For Windows PowerShell:\r\ndocker run -p 1880:1880 -v ${PWD}:/data/node_modules/@bveenema/node-red-protobuf -d --name node-red-protobuf nodered/node-red\r\n```\r\n\r\nAfter you saved your changes to the code update the installation within the container with this command:\r\n\r\nFor Podman:\r\n```bash\r\npodman exec -it node-red-protobuf npm install /data/node_modules/@bveenema/node-red-protobuf/ && podman restart nodered-contrib-protobuf_plus\r\n```\r\n\r\nFor Docker:\r\n```bash\r\n# For Linux/Mac:\r\ndocker exec -it node-red-protobuf npm install /data/node_modules/@bveenema/node-red-protobuf/ && docker restart node-red-protobuf\r\n\r\n# For Windows PowerShell:\r\ndocker exec -it node-red-protobuf npm install /data/node_modules/@bveenema/node-red-protobuf/; docker restart node-red-protobuf \r\n```\r\n\r\n*Note: On SELinux enabled machines it's necessary to allow containers access to your working directory like this: `chcon -t container_file_t $(pwd)`*\r\n\r\n### Testing and Coverage-Report\r\n\r\nFirst `npm install` for the dev dependencies. Tests, linting and code coverage are then available through:\r\n\r\n```bash\r\nnpm test\r\nnpm run coverage\r\nnpm run lint\r\n```\r\n\r\n## License\r\n\r\nThe BSD 3-Clause License\r\n\r\n## Contributors\r\nForked and enhanced from original project [node-red-contrib-protobuf](https://github.com/w4tsn/node-red-contrib-protobuf) by [Alexander Wellbrock](https://w4tsn.github.io/blog)\r\n\r\n## Changelog\r\n### 2.2.1\r\n- **Fixed issue with decoding delimited messages that have multi-byte varint length prefixes**\r\n- Added tests to verify correct handling of both single-byte and multi-byte varint length prefixes\r\n- Updated minimum Node.js requirement to 12.0.0\r\n- Updated dependencies:\r\n  - eslint to 8.31.0\r\n  - mocha to ^10.0.0\r\n  - nyc to 15.1.0\r\n  - protobufjs to ^7.0.0\r\n","readmeFilename":"README.md"}