{"_id":"@coremarine/nmea-parser-nodered","_rev":"13-b15d168fb99b5d80a2d94a2ec346fcd7","name":"@coremarine/nmea-parser-nodered","dist-tags":{"latest":"6.0.0"},"versions":{"1.0.0":{"name":"@coremarine/nmea-parser-nodered","version":"1.0.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.0.0","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/packages/nmea-parser-nodered#readme","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"b67fefc8da6c898eeb63e0cad102d2ddb8217e8c","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.0.0.tgz","fileCount":8,"integrity":"sha512-cSGKOyMeRl3EiAJ4deGEd2qMaMtKbTecGHT8wTeQtoKtuc+CeAAzrmF0wgTb/tws2kLf4cWBfzCW3EHBkCdLiQ==","signatures":[{"sig":"MEQCIChqJ/zOOmpPcqhVwOKc5hTQ7miaejzihP6Fr464OctgAiBXlaEhewWtC/a28dtDKysETuZ03Fsc9DcGqdi4+OJRFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81964},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"0fd3a36b4cd7e4b370b4d50960ad7904e28237ba","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.5.2","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@coremarine/nmea-parser":">=1.6.14"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.0.0_1716192025763_0.3327941172619666","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@coremarine/nmea-parser-nodered","version":"1.0.1","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.0.1","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"a9aecb75785e87641bdbd1d32616314697337334","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.0.1.tgz","fileCount":8,"integrity":"sha512-UYIKlqfT126i4fLqbKblULPU37Ye9uMVgaqL0SW0Xkci+IT5/0Euq0zMOkhrPvEx4xmt4l8tTydt1yFJSnuLoQ==","signatures":[{"sig":"MEUCIQC3z6vNyPdgnQJJhdCJhY1Y0mieTXwjHQISmR2p8SEuFwIgTqdsS5FlAYNghW6Jj58b7H4hBtzOJuTteyhf0YRSNrU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81967},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"b3208594121eeff3b37ea2c1e117f11b0a4b82cc","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.5.2","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@coremarine/nmea-parser":">=1.6.14"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.0.1_1716274145346_0.8112488058656282","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@coremarine/nmea-parser-nodered","version":"1.0.2","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.0.2","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"7bd48596fd67203cbe6f71677ae411fc946a05f6","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.0.2.tgz","fileCount":8,"integrity":"sha512-oWQXbvfVCjG2fNd2CTZLpVnh2N024Zc7EWUdSSobq6GfMMyuBP4zhyDnOPVe/jKPFnJenzmwbwPpsaITr3Y/WQ==","signatures":[{"sig":"MEUCIQDjFLzpE4Vf2VQGwwI3EbwAh2ZbbEBrgqZK20bEyTYBrwIgfY1bajhd1CvsKlzF5CAoRzHLClELI9iI6qpVjdYBN3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81965},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"b1c0282fb13393dd651563f7ab3a6b68862af911","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.7.0","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.15.0","dependencies":{"@coremarine/nmea-parser":"^1.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.0.2_1720522683699_0.38241682780033504","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@coremarine/nmea-parser-nodered","version":"1.1.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.1.0","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"coremarinedev","email":"dev@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"a6b936a04e3f3156644fa1ee06458af1289d78d6","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.1.0.tgz","fileCount":8,"integrity":"sha512-hFJAcZVejVp24GSpBlGgLLqdMuJoCZHC+7I2dVAQIBa7xBhq60NiI0a4O7wLsG4dSVNjsq6zpeOT56BHHgBx7A==","signatures":[{"sig":"MEUCIFb/mYIdazGL9Wwoqq3Zyu6zTz5PdT1xP0Vl8v27aG5CAiEAu2/V9RQE/v3oHh+cTQH1RS40IbDxEnJ1wC5wBFCw0c0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81962},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"636febe5caa4cdabaaee2196487a5b0a70fb95ce","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.7.0","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.15.1","dependencies":{"@coremarine/nmea-parser":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.1.0_1721728285170_0.5693117670696128","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@coremarine/nmea-parser-nodered","version":"1.2.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.2.0","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"dfa8484aff9bd5ce11c7f7aa1dc68cb14e5a15d1","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.2.0.tgz","fileCount":8,"integrity":"sha512-qQYhKhGOgD54N7t2IkzdTW0MN3NCP4bEyEftJ4ALP7MmsnN3e8x07oBqOrMnzYquEloVnxcUOvsOyAdK+ECcfg==","signatures":[{"sig":"MEUCIFITfddh88yUdXFk4wZG2dQUgdUz6E0Ibvtg9jgwHb7DAiEA8Z+MSeYtFcGydt/auvKtl6TZdXoIX6CejoHqTPybALE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81962},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"c563d541fbf858b3100f4ade39d73bc615886f11","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.8.2","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@coremarine/nmea-parser":"^2.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.2.0_1760975188342_0.03655597521137732","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@coremarine/nmea-parser-nodered","version":"1.2.1","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":{"name":"CoreMarine"},"license":"MIT","_id":"@coremarine/nmea-parser-nodered@1.2.1","maintainers":[{"name":"valentina-rubane","email":"vru@core-marine.com"},{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"793535f5d88b8f02a8065427ed13369c21418354","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-1.2.1.tgz","fileCount":8,"integrity":"sha512-UrLyj+OfqVFhiNenw+aa0pggtAW4KWgPD2k7xqf0sGpjs1Ml/hTNRwo11tJHY3JmAQUj8GbhpWgw362yBd8+AQ==","signatures":[{"sig":"MEYCIQDHGd67yvnYjvBAA37e79lcqwg0ygJgA8z/cft7wnQNpQIhALTm7on4NV4E4gbWYc8vHqrbNMwykAmKKuNmMM/vHfBO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81962},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"5eda6fa2b8dc836ea0e5cc4f99121723e6233574","scripts":{"test":"mocha \"tests/**/*.test.js\"","docker":"sh manual_tests.sh","test:vitest":"vitest"},"_npmUser":{"name":"coremarinedev","email":"dev@core-marine.com"},"node-red":{"nodes":{"cma-nmea-parser":"src/parser.js"},"version":">=3.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git"},"_npmVersion":"10.8.2","description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@coremarine/nmea-parser":"^2.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_1.2.1_1761117814837_0.5508947835636364","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@coremarine/nmea-parser-nodered","version":"2.0.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":"CoreMarine","license":"MIT","_id":"@coremarine/nmea-parser-nodered@2.0.0","maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"548d221d939a5c2fe20f746d1b9baf7d7f4eb2c1","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-2.0.0.tgz","fileCount":9,"integrity":"sha512-GOQ5lpu+6sBtmmXJTolqjn69JytDapExou21MTALEIXvhOfFz3eD+Z/ZDDqTrtctvSIRrJNL7uQNSQLTfkOkLg==","signatures":[{"sig":"MEYCIQC5PqG1Y05/ZiQPM4vOlQEI6Gct2MEP7pxywqm8wKSnEwIhAPi5oFm8P6ZjLkRLA/fJlhu7u5WfNHxlA/YwRnBdBrrv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coremarine%2fnmea-parser-nodered@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73631},"main":"dist/parser.js","engines":{"node":">=22"},"scripts":{"dev":"pnpm run build && node dev-server.mjs dev","lint":"eslint","test":"node --import tsx --test \"tests/**/*.test.ts\"","build":"pnpm run format && tsup && node copy-assets.mjs","format":"eslint --fix","examples":"pnpm run build && node dev-server.mjs examples","test:unit":"node --import tsx --test \"tests/*.unit.test.ts\"","test:integration":"node --import tsx --test \"tests/*.integration.test.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7b76cb5d-9b8c-47db-9c16-f6111f35a026"}},"node-red":{"nodes":{"cma-nmea-parser":"dist/parser.js"},"version":">=4.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git","directory":"packages/nmea-parser-nodered"},"description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@coremarine/nmea-parser":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","@types/node-red":"1.3.5"},"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_2.0.0_1784888514602_0.2378651009597723","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@coremarine/nmea-parser-nodered","version":"2.0.1","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":"CoreMarine","license":"MIT","_id":"@coremarine/nmea-parser-nodered@2.0.1","maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"cfcc2470f84da20e3ac05a7b179a54ae66fee4e5","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-2.0.1.tgz","fileCount":9,"integrity":"sha512-Dgn8TQbYYEW4QW6TAuFogK33WGLnYue2dLNE3w4RVMpo0aZpIvj3/HILeig/fJ6UaabKaFPup2HoljuLick/oA==","signatures":[{"sig":"MEYCIQChZz+H7wRBoYg6glDp85yzHk/a5eMAtHsEzdvSxxmAJgIhAI8DNodpjQGlOSbfbI/SaJJfrZVkUwkoCa04Ih6Sue/Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coremarine%2fnmea-parser-nodered@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73869},"main":"dist/parser.js","engines":{"node":">=22"},"scripts":{"dev":"pnpm run build && node dev-server.mjs dev","lint":"eslint","test":"node --import tsx --test \"tests/**/*.test.ts\"","build":"pnpm run format && tsup && node copy-assets.mjs","format":"eslint --fix","examples":"pnpm run build && node dev-server.mjs examples","test:unit":"node --import tsx --test \"tests/*.unit.test.ts\"","test:integration":"node --import tsx --test \"tests/*.integration.test.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7b76cb5d-9b8c-47db-9c16-f6111f35a026"}},"node-red":{"nodes":{"cma-nmea-parser":"dist/parser.js"},"version":">=4.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git","directory":"packages/nmea-parser-nodered"},"description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@coremarine/nmea-parser":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","@types/node-red":"1.3.5"},"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_2.0.1_1784889231189_0.9523303425054632","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@coremarine/nmea-parser-nodered","version":"3.0.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":"CoreMarine","license":"MIT","_id":"@coremarine/nmea-parser-nodered@3.0.0","maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"7e8157d69f4545e51bedcebbd691e89491e5b54d","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-3.0.0.tgz","fileCount":9,"integrity":"sha512-uZUjvFICEm8GgLnQcIeyUQguWLzIdtXq9f4+zHnTE/ju6uM/CPyvpGnE3QDSVJXkyXLIQpR6Ddk4UYahyTWgXQ==","signatures":[{"sig":"MEYCIQCDCZc9z9SgFwCnJG7Yd+EBpZvukiNi4csOZXCbO1aUtQIhAOijaaiheASQHuUKfMM30xsh6gpWatjUr2QBkAt707up","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coremarine%2fnmea-parser-nodered@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86769},"main":"dist/parser.js","engines":{"node":">=22"},"scripts":{"dev":"pnpm run build && node dev-server.mjs dev","lint":"eslint","test":"node --import tsx --test \"tests/**/*.test.ts\"","build":"pnpm run format && tsup && node copy-assets.mjs","format":"eslint --fix","examples":"pnpm run build && node dev-server.mjs examples","test:unit":"node --import tsx --test \"tests/*.unit.test.ts\"","test:integration":"node --import tsx --test \"tests/*.integration.test.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7b76cb5d-9b8c-47db-9c16-f6111f35a026"}},"node-red":{"nodes":{"cma-nmea-parser":"dist/parser.js"},"version":">=4.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git","directory":"packages/nmea-parser-nodered"},"description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@coremarine/nmea-parser":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","@types/node-red":"1.3.5"},"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_3.0.0_1785327977111_0.5405671084883898","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@coremarine/nmea-parser-nodered","version":"5.0.0","keywords":["node-red","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"author":"CoreMarine","license":"MIT","_id":"@coremarine/nmea-parser-nodered@5.0.0","maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"dist":{"shasum":"2328aa8840a3a87979b25b718ecccc0d1d9679ad","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-5.0.0.tgz","fileCount":9,"integrity":"sha512-L0qZ+hibwOJP/L8iV+9KuqLUFPIybFCZi3NbSr/4L5NSxrWpo1l85uvlkUPi+fXOACoO3B6VSqoW0n1VMvAquA==","signatures":[{"sig":"MEUCIQDCMjzhqwcm8//3AC5d+RpQ5RyAqt0Yuw/kYLhwDtHx2AIgdl6TcD1FctFaxEKSztDFHrcd6l3fevP09JwK4Fly48M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coremarine%2fnmea-parser-nodered@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87957},"main":"dist/parser.js","engines":{"node":">=22"},"scripts":{"dev":"pnpm run build && node dev-server.mjs dev","lint":"eslint","test":"node --import tsx --test \"tests/**/*.test.ts\"","build":"pnpm run format && tsup && node copy-assets.mjs","format":"eslint --fix","examples":"pnpm run build && node dev-server.mjs examples","test:unit":"node --import tsx --test \"tests/*.unit.test.ts\"","test:integration":"node --import tsx --test \"tests/*.integration.test.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7b76cb5d-9b8c-47db-9c16-f6111f35a026"}},"node-red":{"nodes":{"cma-nmea-parser":"dist/parser.js"},"version":">=4.0.0"},"repository":{"url":"git+https://github.com/core-marine-dev/devices.git","type":"git","directory":"packages/nmea-parser-nodered"},"description":"Node-Red component to read NMEA 0183 sentences","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@coremarine/nmea-parser":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","@types/node-red":"1.3.5"},"_npmOperationalInternal":{"tmp":"tmp/nmea-parser-nodered_5.0.0_1785414277948_0.20837596221338028","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@coremarine/nmea-parser-nodered","version":"6.0.0","author":"CoreMarine","license":"MIT","description":"Node-RED component to read NMEA 0183 sentences as CMA","homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","repository":{"type":"git","url":"git+https://github.com/core-marine-dev/devices.git","directory":"packages/nmea-parser-nodered"},"bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"keywords":["node-red","cma","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"engines":{"node":">=22"},"node-red":{"version":">=4.0.0","nodes":{"cma-nmea-parser":"dist/parser.js"}},"main":"dist/parser.js","dependencies":{"@coremarine/nmea-parser":"^6.0.0"},"devDependencies":{"@types/node-red":"1.3.5","tsx":"4.23.1"},"scripts":{"build":"pnpm run format && tsup && node copy-assets.mjs","lint":"eslint","format":"eslint --fix","test":"node --import tsx --test \"tests/**/*.test.ts\"","test:coverage":"node --import tsx --test --experimental-test-coverage --test-coverage-include=\"src/**\" \"tests/**/*.test.ts\"","test:unit":"node --import tsx --test \"tests/*.unit.test.ts\"","test:integration":"node --import tsx --test \"tests/*.integration.test.ts\"","dev":"pnpm run build && node dev-server.mjs dev","examples":"pnpm run build && node dev-server.mjs examples"},"_nodeVersion":"24.18.0","_id":"@coremarine/nmea-parser-nodered@6.0.0","dist":{"integrity":"sha512-DRpUk55Voe+ezNAIV/xhLSf3U2p0XVeck+lDB7PPFXIaDmFkdam1haxlurFGs0nz+mtDMgMHPn7Zv0Il2ptsZQ==","shasum":"78a10c0cddccc828eaec0f9c31eb7511632bd0c0","tarball":"https://registry.npmjs.org/@coremarine/nmea-parser-nodered/-/nmea-parser-nodered-6.0.0.tgz","fileCount":9,"unpackedSize":88555,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coremarine%2fnmea-parser-nodered@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBytwQ0cdsqS17ju6pjk8JuOSyO1NTlAMxC/vXXCzZALAiB8j5HgulFik7gSudJyv3YGLqwUNPiQFHmW6U2InTXYNA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7b76cb5d-9b8c-47db-9c16-f6111f35a026"}},"directories":{},"maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nmea-parser-nodered_6.0.0_1785601911101_0.4771936538647643"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-20T08:00:25.676Z","modified":"2026-08-01T16:31:51.633Z","1.0.0":"2024-05-20T08:00:25.911Z","1.0.1":"2024-05-21T06:49:05.524Z","1.0.2":"2024-07-09T10:58:03.878Z","1.1.0":"2024-07-23T09:51:25.367Z","1.2.0":"2025-10-20T15:46:28.541Z","1.2.1":"2025-10-22T07:23:35.028Z","2.0.0":"2026-07-24T10:21:54.779Z","2.0.1":"2026-07-24T10:33:51.321Z","3.0.0":"2026-07-29T12:26:17.314Z","5.0.0":"2026-07-30T12:24:38.081Z","6.0.0":"2026-08-01T16:31:51.254Z"},"bugs":{"url":"https://github.com/core-marine-dev/devices/issues"},"author":"CoreMarine","license":"MIT","homepage":"https://github.com/core-marine-dev/devices/tree/main/packages/nmea-parser-nodered","keywords":["node-red","cma","nmea","nmea0183","0183","gnss","gps","parser","protocol"],"repository":{"type":"git","url":"git+https://github.com/core-marine-dev/devices.git","directory":"packages/nmea-parser-nodered"},"description":"Node-RED component to read NMEA 0183 sentences as CMA","maintainers":[{"name":"coremarinedev","email":"dev@core-marine.com"},{"name":"crisconru","email":"crisconru@gmail.com"},{"name":"egr666","email":"egr@core-marine.com"}],"readme":"# NMEA-Parser-NodeRED\n\n![npm (scoped)](https://img.shields.io/npm/v/%40coremarine/nmea-parser-nodered)\n[![publish](https://github.com/core-marine-dev/devices/actions/workflows/nmea-parser-nodered.yml/badge.svg)](https://github.com/core-marine-dev/devices/actions/workflows/nmea-parser-nodered.yml)\n![npm](https://img.shields.io/npm/dy/%40coremarine/nmea-parser-nodered)\n\nNode-Red component to read NMEA 0183 sentences. It is a wrapper of [@coremarine/nmea-parser](https://www.npmjs.com/package/@coremarine/nmea-parser) (check it docs).\n\n## Input\n\nNMEA component uses 5 properties to work:\n\n- `payload` is the main property with NMEA content.\n- `sentences`, `definition`, `memory` and `fake` are optionals.\n\n| Input property         | Description                                                                            |\n| :--------------------- | :------------------------------------------------------------------------------------- |\n| `payload` (string)     | NMEA ASCII content (important, it is an *ASCII* string, not other encoding).           |\n| *`memory`* (object)    | Object to check or enabled / disabled parser memory state (look details below).        |\n| *`sentences`* (object) | Object to get or set the sentence definitions the parser knows (look details below). |\n| *`definition`* (string) | Sentence ID, to read every stored definition of it (look details below).              |\n| *`fake`* (string)      | Sentence ID to get a full fake NMEA-like sentence if it is supported.                  |\n\n## Output\n\nEach input property is answered in the output property of the same name\n\n| Output property        | Description                                                                                                                    |\n| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------- |\n| payload (array)        | The parsing output of the CoreMarine NMEA Parser — an array of **CMA** objects (the unified CoreMarine output format), one per NMEA sentence. **Includes sentences that failed to parse** — see below. |\n| *`memory`* (object)    | Response to the *memory* input (look details below).                                                                           |\n| *`sentences`* (object) | Response to the *sentences* input (look details below).                                                                        |\n| *`definition`* (array \\| string) | Response to the *definition* input (look details below).                                                             |\n| *`fake`* (string)      | Response to the *fake* input (look details below).                                                                             |\n\n## Failed and garbage sentences\n\n**Since 3.0.0 nothing is dropped silently.** Real devices break the NMEA standard, and an empty\n`msg.payload` array used to hide that completely. Now every piece of input comes out in\n`msg.payload`, and a problem is signalled by the optional **`errors`** array on the CMA:\n\n- **A malformed sentence is still fully decoded** and carries `errors` — e.g. a device sending a\n  one-character checksum, or two sentences in a row where the first lost its `\\r\\n`.\n- **Undecodable input** (line noise, a wrong device speaking a binary protocol) comes out as a\n  *garbage* CMA: `id: 'unknown'`, `payload: []`, `protocol: { name: 'unknown', version: 'unknown' }`,\n  the discarded bytes in `raw`, and `errors` saying why.\n\n\nThe shipped example flow includes a **\"Failed & garbage sentences\"** group demonstrating all three\ncases — a one-character checksum, a missing `\\r\\n`, and line noise — wired through a `function` node\nto separate *clean* and *flagged* debug outputs.\n\nA `switch` node on `errors`/`id` is the usual way to route these to a separate branch:\n\n```javascript\n// in a function node, split good from bad without logging the same error forever\nconst bad = msg.payload.filter((cma) => cma.errors !== undefined)\nconst good = msg.payload.filter((cma) => cma.errors === undefined)\nreturn [{ payload: good }, bad.length ? { payload: bad } : null]\n```\n\nFull rules and the reasoning: [`docs/CMA.md`](https://github.com/core-marine-dev/devices/blob/main/docs/CMA.md).\n\n## Details\n\nNMEA parser translate NMEA ASCII string data into a JavaScript objects (one for each\nNMEA 0183 sentence). Each time it receives data from payload input, it gives the parsed sentences to payload output.\n\nIt just a wrapper of the npm library [@coremarine/nmea-parser](https://www.npmjs.com/package/@coremarine/nmea-parser) (take a look on it).\n\nTo interact with the *memory* | *sentences* | *definition* API is through the `memory` | `sentences` | `definition` property:\n\n- If you request something in `msg.memory` | `msg.sentences` | `msg.definition` input\n- The response will be in `msg.memory` | `msg.sentences` | `msg.definition` output\n\n### Memory\n\nIt is enabled by default:\n\n- memory enabled: Every time you inject data, it's attached to the internal data.\n- memory disabled: Every time you inject data, it clears internal data and add new one.\n\nInternally it has a buffer with a max number of characters\n\n|                          Input                           |                            Output                             |\n| :------------------------------------------------------: | :-----------------------------------------------------------: |\n| `memory`: { `command`: `\"set\"`, `payload`: **boolean** } | `memory`: { `memory`: **boolean**, `characters`: **number** } |\n|             `memory`: { `command`: `\"get\"` }             | `memory`: { `memory`: **boolean**, `characters`: **number** } |\n\n### Sentences\n\nThe parser can be fed or expanded to understand more NMEA sentences, standard or proprietary.\nTo do that, send an object with `command` equal to `\"set\"` and **one** of:\n\n1. `content`: the YAML **string** of the sentence definitions.\n2. `file`: a **string** file path to the sentences YAML file (read by the node).\n\nIf both are sent, `content` takes precedence over `file`. On error (invalid YAML/schema or unreadable file) the `sentences` output is an error **string**.\n\nIf you just want to know the known / supported sentences, use the command `get`.\n\n|                           Input                            |         Output          |\n| :--------------------------------------------------------: | :---------------------: |\n| `sentences`: { `command`: `\"set\"`, `content`: **string** } | `sentences`: **object** |\n|  `sentences`: { `command`: `\"set\"`, `file`: **string** }   | `sentences`: **object** |\n|            `sentences`: { `command`: `\"get\"` }             | `sentences`: **object** |\n\n### Sentence\n\nIf you want to know what the parser knows about a sentence, send the sentence id. The response is an\n**array** — one entry per version of that id — or an error **string** if the id is unknown.\nResponse will be an `object` with the whole info or `null` if it's unknown / not supported yet.\n\n|         Input          |              Output              |\n| :--------------------: | :------------------------------: |\n| `definition`: **string** | `definition`: **array** \\| **string** |\n\n### Fake\n\nIf you want to get a NMEA-like sentence, maybe just to do some tests, you need to send the sentence id.\nResponse will be a `string` with the whole ASCII sentence, or an error **string** if the id is\nunknown / not supported yet.\nThis fake sentence is correct in terms of NMEA requirements but each field has garbage.\n\n|       Input        |            Output            |\n| :----------------: | :--------------------------: |\n| `fake`: **string** | `fake`: **string** \\| `null` |\n\n## Upgrading from 2.x\n\n**Breaking: `msg.protocols` is renamed `msg.sentences`.** A flow that sets or reads `msg.protocols`\nmust be updated — the old key is simply ignored now. Everything about the channel is otherwise\nidentical (`{ command: 'get' | 'set', content?, file? }`, response grouped by protocol name).\n\nThe rename takes the library's own vocabulary — `addSentences` / `getSentencesByProtocol` — for what\nthis channel actually carries: sentence **definitions**. It also frees the word *protocol* for the\ndevice-protocol meaning it has in the sibling `@coremarine/norsub-emru-nodered`, where\n`msg.protocol` selects which protocol the device speaks. Two keys one letter apart, both taking a\n`command` object and meaning unrelated things, was a footgun in a visual editor.\n\nTwo further behavioural changes, both from the underlying library going to `4.0.0`:\n\n1. **`msg.payload` now also contains failed and garbage sentences** (see\n   [above](#failed-and-garbage-sentences)). Previously they were silently discarded, so a flow that\n   assumed every CMA in the array was usable should now check `errors` (or `id === 'unknown'`).\n   Nothing else about a good sentence changed.\n2. **Two new built-in sentences:** the proprietary Kongsberg Seatex `PSXN20` and `PSXN23`. A\n   `$PSXN,...` telegram now arrives with `id: 'PSXN20'` / `'PSXN23'` and fully named, typed fields\n   instead of a generic `PSXN` with unknown fields.\n\n## Development\n\nThe node is authored in **TypeScript** and bundled to CommonJS (Node-RED loads nodes via\n`require`) with **tsup**; `parser.html` + icons are copied into `dist/` alongside the JS.\nThe logic lives in a node-red-free module (`src/lib.ts`) with a thin RED adapter\n(`src/parser.ts`), so the bulk is unit-testable without Node-RED.\n\n```bash\npnpm run nmea-parser:nodered:build      # tsup -> dist/ + copy html/icons\npnpm run nmea-parser:nodered:test       # node:test — unit (src/lib) + integration (real node-red)\npnpm run nmea-parser:nodered:dev        # local Node-RED, edit a scratch flow (tests/dev.flows.json)\npnpm run nmea-parser:nodered:examples   # local Node-RED, edit the SHIPPED example (examples/*.json)\n```\n\nTests use **`node:test`** (via `tsx`). The integration test boots a real headless Node-RED\nthrough its public API and runs a flow through the node — no `node-red-node-test-helper`\n(incompatible with Node-RED 5).\n\n**`:dev` and `:examples`** launch a local Node-RED (a devDependency, no docker; welcome tour off) at\nhttp://localhost:1880 with this node under the **CoreMarine** palette category, pinned first. (In the\nmonorepo dev instance the sibling `@coremarine/*-nodered` nodes also appear under CoreMarine — a\nshared-workspace artifact, harmless; an end user who installs just this package never sees them.)\nNode-RED reads/writes the on-disk flow file directly, so edits you make in the editor persist:\n\n- **`:dev`** edits `tests/dev.flows.json` — a **committed** scratch flow (`inject → cma-nmea-parser →\n  debug`) for quick manual checks; edit it freely.\n- **`:examples`** edits the **committed, published** example under `examples/` (the flow-library\n  requires examples; they're shipped via `files` and appear in Node-RED's *Import → Examples*). Set\n  `EXAMPLE=<file>` to target a specific one. Examples live in `examples/`, **not** `dist/`.\n\n## Upgrading from 3.x\n\nThe library it wraps went to **5.0.0**, and wrapper/library majors are now locked together, so\n`@coremarine/nmea-parser-nodered@5.x` always wraps `@coremarine/nmea-parser@5.x`. That is why the version jumps\nfrom 3.x straight to 5.0.0.\n\n- **`msg.sentence` is now `msg.definition`.** It read like \"give me a sentence\" when it actually\n  returns a definition — one word away from `msg.fake`, which *does* give you a sentence.\n- **`msg.definition` responds with an ARRAY**, one entry per version of that id. The knowledge base\n  has always held a definition per version; the old call silently returned only the newest.\n- **An unknown id is an error STRING, not `null`.** `msg.definition` and `msg.fake` both say *why*\n  now — a malformed id and an unknown id are different mistakes that `null` could not distinguish.\n\n","readmeFilename":""}