Last active
April 26, 2022 00:21
-
-
Save tatsuyasusukida/9e59cc195b774cddfed6831b3a89d7df to your computer and use it in GitHub Desktop.
Node.js SerialPort Mock Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/node_modules/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const {SerialPort, SerialPortMock} = require('serialport') | |
if (process.env.SERIAL_PORT_MOCK !== '0') { | |
SerialPortMock.binding.createPort('/dev/ROBOT') // <1> | |
} | |
class MySerialPortMock extends SerialPortMock { // <2> | |
constructor (options, openCallback) { | |
super(options, openCallback) | |
} | |
async write (buffer) { | |
super.write(buffer) | |
if (buffer.toString() === 'PING') { // <3> | |
this.port.emitData(Buffer.from('PONG')) | |
} | |
} | |
} | |
if (require.main === module) { | |
main() | |
} | |
async function main () { | |
try { | |
const path = process.env.SERIAL_PORT_MOCK !== '0' // <4> | |
? '/dev/ROBOT' | |
: process.env.SERIAL_PORT_PATH | |
const baudRate = process.env.SERIAL_PORT_BAUDRATE || '9600' | |
const options = { | |
path: path, | |
baudRate: parseInt(baudRate, 10), | |
dataBits: 8, | |
stopBits: 1, | |
parity: 'none', | |
autoOpen: false, | |
} | |
const serialPort = process.env.SERIAL_PORT_MOCK !== '0' // <5> | |
? new MySerialPortMock(options) | |
: new SerialPort(options) | |
await new Promise((resolve, reject) => { // <6> | |
serialPort.open(err => err ? reject(err) : resolve()) | |
}) | |
try { | |
const buffer = await new Promise((resolve, reject) => { | |
serialPort.once('data', buffer => { // <7> | |
resolve(buffer) | |
}) | |
serialPort.once('error', err => { // <8> | |
reject(err) | |
}) | |
console.info('send: PING') | |
serialPort.write('PING') // <9> | |
}) | |
console.info(`receive: ${buffer.toString()}`) // <10> | |
await new Promise((resolve, reject) => { // <11> | |
serialPort.close(err => err ? reject(err) : resolve()) | |
}) | |
} catch (err) { | |
await new Promise((resolve, reject) => { // <12> | |
serialPort.close(err => err ? reject(err) : resolve()) | |
}) | |
throw err | |
} | |
} catch (err) { | |
console.error(err) | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "nodejs-serialport-mock", | |
"version": "1.0.0", | |
"lockfileVersion": 2, | |
"requires": true, | |
"packages": { | |
"": { | |
"name": "nodejs-serialport-mock", | |
"version": "1.0.0", | |
"license": "ISC", | |
"dependencies": { | |
"serialport": "^10.4.0" | |
} | |
}, | |
"node_modules/@serialport/binding-mock": { | |
"version": "10.2.2", | |
"resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", | |
"integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", | |
"dependencies": { | |
"@serialport/bindings-interface": "^1.2.1", | |
"debug": "^4.3.3" | |
}, | |
"engines": { | |
"node": ">=12.0.0" | |
} | |
}, | |
"node_modules/@serialport/bindings-cpp": { | |
"version": "10.7.0", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-10.7.0.tgz", | |
"integrity": "sha512-Xx1wA2UCG2loS32hxNvWJI4smCzGKhWqE85//fLRzHoGgE1lSLe3Nk7W40/ebrlGFHWRbQZmeaIF4chb2XLliA==", | |
"hasInstallScript": true, | |
"dependencies": { | |
"@serialport/bindings-interface": "1.2.1", | |
"@serialport/parser-readline": "^10.2.1", | |
"debug": "^4.3.2", | |
"node-addon-api": "^4.3.0", | |
"node-gyp-build": "^4.3.0" | |
}, | |
"engines": { | |
"node": ">=12.17.0 <13.0 || >=14.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/bindings-cpp/node_modules/@serialport/bindings-interface": { | |
"version": "1.2.1", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz", | |
"integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==", | |
"engines": { | |
"node": "^12.22 || ^14.13 || >=16" | |
} | |
}, | |
"node_modules/@serialport/bindings-interface": { | |
"version": "1.2.2", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", | |
"integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==", | |
"engines": { | |
"node": "^12.22 || ^14.13 || >=16" | |
} | |
}, | |
"node_modules/@serialport/parser-byte-length": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-10.3.0.tgz", | |
"integrity": "sha512-pJ/VoFemzKRRNDHLhFfPThwP40QrGaEnm9TtwL7o2GihEPwzBg3T0bN13ew5TpbbUYZdMpUtpm3CGfl6av9rUQ==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-cctalk": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-10.3.0.tgz", | |
"integrity": "sha512-8ujmk8EvVbDPrNF4mM33bWvUYJOZ0wXbY3WCRazHRWvyCdL0VO0DQvW81ZqgoTpiDQZm5r8wQu9rmuemahF6vQ==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-delimiter": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-10.3.0.tgz", | |
"integrity": "sha512-9E4Vj6s0UbbcCCTclwegHGPYjJhdm9qLCS0lowXQDEQC5naZnbsELemMHs93nD9jHPcyx1B4oXkMnVZLxX5TYw==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-inter-byte-timeout": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-10.3.0.tgz", | |
"integrity": "sha512-wKP0QK85NHgvT6BBB1qBfKBBU4pf8kespNXAZBUYmFT+P4n8r8IZE2mqigCD+AiZcfWNQoAizwOsT/Jx/qeVig==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-packet-length": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-10.3.0.tgz", | |
"integrity": "sha512-bj0cWzt8YSQj/E5fRQVYdi4TsfTlZQrXlXrUwjyTsCONv8IPOHzsz+yY0fw5SEMiJtaLyqvPkCHLsttOd/zFsg==", | |
"engines": { | |
"node": ">=8.6.0" | |
} | |
}, | |
"node_modules/@serialport/parser-readline": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-10.3.0.tgz", | |
"integrity": "sha512-ki3ATZ3/RAqnqGROBKE7k+OeZ0DZXZ53GTca4q71OU5RazbbNhTOBQLKLXD3v9QZXCMJdg4hGW/2Y0DuMUqMQg==", | |
"dependencies": { | |
"@serialport/parser-delimiter": "10.3.0" | |
}, | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-ready": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-10.3.0.tgz", | |
"integrity": "sha512-1owywJ4p592dJyVrEJZPIh6pUZ3/y/LN6kGTDH2wxdewRUITo/sGvDy0er5i2+dJD3yuowiAz0dOHSdz8tevJA==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-regex": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-10.3.0.tgz", | |
"integrity": "sha512-tIogTs7CvTH+UUFnsvE7i33MSISyTPTGPWlglWYH2/5coipXY503jlaYS1YGe818wWNcSx6YAjMZRdhTWwM39w==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-slip-encoder": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-10.3.0.tgz", | |
"integrity": "sha512-JI0ILF5sylWn8f0MuMzHFBix/iMUTa79/Z95KaPZYnVaEdA7h7hh/o21Jmon/26P3RJwL1SNJCjZ81zfan+LtQ==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/parser-spacepacket": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-10.3.0.tgz", | |
"integrity": "sha512-PDF73ClEPsClD1FEJZHNuBevDKsJCkqy/XD5+S5eA6+tY5D4HLrVgSWsg+3qqB6+dlpwf2CzHe+uO8D3teuKHA==", | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/stream": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-10.3.0.tgz", | |
"integrity": "sha512-7sooi5fHogYNVEJwxVdg872xO6TuMgQd2E9iRmv+o8pk/1dbBnPkmH6Ka3st1mVE+0KnIJqVlgei+ncSsqXIGw==", | |
"dependencies": { | |
"@serialport/bindings-interface": "1.2.1", | |
"debug": "^4.3.2" | |
}, | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
}, | |
"node_modules/@serialport/stream/node_modules/@serialport/bindings-interface": { | |
"version": "1.2.1", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz", | |
"integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==", | |
"engines": { | |
"node": "^12.22 || ^14.13 || >=16" | |
} | |
}, | |
"node_modules/debug": { | |
"version": "4.3.4", | |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | |
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | |
"dependencies": { | |
"ms": "2.1.2" | |
}, | |
"engines": { | |
"node": ">=6.0" | |
}, | |
"peerDependenciesMeta": { | |
"supports-color": { | |
"optional": true | |
} | |
} | |
}, | |
"node_modules/ms": { | |
"version": "2.1.2", | |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | |
}, | |
"node_modules/node-addon-api": { | |
"version": "4.3.0", | |
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", | |
"integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" | |
}, | |
"node_modules/node-gyp-build": { | |
"version": "4.4.0", | |
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", | |
"integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", | |
"bin": { | |
"node-gyp-build": "bin.js", | |
"node-gyp-build-optional": "optional.js", | |
"node-gyp-build-test": "build-test.js" | |
} | |
}, | |
"node_modules/serialport": { | |
"version": "10.4.0", | |
"resolved": "https://registry.npmjs.org/serialport/-/serialport-10.4.0.tgz", | |
"integrity": "sha512-PszPM5SnFMgSXom60PkKS2A9nMlNbHkuoyRBlzdSWw9rmgOn258+V0dYbWMrETJMM+TJV32vqBzjg5MmmUMwMw==", | |
"dependencies": { | |
"@serialport/binding-mock": "10.2.2", | |
"@serialport/bindings-cpp": "10.7.0", | |
"@serialport/parser-byte-length": "10.3.0", | |
"@serialport/parser-cctalk": "10.3.0", | |
"@serialport/parser-delimiter": "10.3.0", | |
"@serialport/parser-inter-byte-timeout": "10.3.0", | |
"@serialport/parser-packet-length": "10.3.0", | |
"@serialport/parser-readline": "10.3.0", | |
"@serialport/parser-ready": "10.3.0", | |
"@serialport/parser-regex": "10.3.0", | |
"@serialport/parser-slip-encoder": "10.3.0", | |
"@serialport/parser-spacepacket": "10.3.0", | |
"@serialport/stream": "10.3.0", | |
"debug": "^4.3.3" | |
}, | |
"engines": { | |
"node": ">=12.0.0" | |
}, | |
"funding": { | |
"url": "https://opencollective.com/serialport/donate" | |
} | |
} | |
}, | |
"dependencies": { | |
"@serialport/binding-mock": { | |
"version": "10.2.2", | |
"resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", | |
"integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", | |
"requires": { | |
"@serialport/bindings-interface": "^1.2.1", | |
"debug": "^4.3.3" | |
} | |
}, | |
"@serialport/bindings-cpp": { | |
"version": "10.7.0", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-10.7.0.tgz", | |
"integrity": "sha512-Xx1wA2UCG2loS32hxNvWJI4smCzGKhWqE85//fLRzHoGgE1lSLe3Nk7W40/ebrlGFHWRbQZmeaIF4chb2XLliA==", | |
"requires": { | |
"@serialport/bindings-interface": "1.2.1", | |
"@serialport/parser-readline": "^10.2.1", | |
"debug": "^4.3.2", | |
"node-addon-api": "^4.3.0", | |
"node-gyp-build": "^4.3.0" | |
}, | |
"dependencies": { | |
"@serialport/bindings-interface": { | |
"version": "1.2.1", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz", | |
"integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==" | |
} | |
} | |
}, | |
"@serialport/bindings-interface": { | |
"version": "1.2.2", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", | |
"integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==" | |
}, | |
"@serialport/parser-byte-length": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-10.3.0.tgz", | |
"integrity": "sha512-pJ/VoFemzKRRNDHLhFfPThwP40QrGaEnm9TtwL7o2GihEPwzBg3T0bN13ew5TpbbUYZdMpUtpm3CGfl6av9rUQ==" | |
}, | |
"@serialport/parser-cctalk": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-10.3.0.tgz", | |
"integrity": "sha512-8ujmk8EvVbDPrNF4mM33bWvUYJOZ0wXbY3WCRazHRWvyCdL0VO0DQvW81ZqgoTpiDQZm5r8wQu9rmuemahF6vQ==" | |
}, | |
"@serialport/parser-delimiter": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-10.3.0.tgz", | |
"integrity": "sha512-9E4Vj6s0UbbcCCTclwegHGPYjJhdm9qLCS0lowXQDEQC5naZnbsELemMHs93nD9jHPcyx1B4oXkMnVZLxX5TYw==" | |
}, | |
"@serialport/parser-inter-byte-timeout": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-10.3.0.tgz", | |
"integrity": "sha512-wKP0QK85NHgvT6BBB1qBfKBBU4pf8kespNXAZBUYmFT+P4n8r8IZE2mqigCD+AiZcfWNQoAizwOsT/Jx/qeVig==" | |
}, | |
"@serialport/parser-packet-length": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-10.3.0.tgz", | |
"integrity": "sha512-bj0cWzt8YSQj/E5fRQVYdi4TsfTlZQrXlXrUwjyTsCONv8IPOHzsz+yY0fw5SEMiJtaLyqvPkCHLsttOd/zFsg==" | |
}, | |
"@serialport/parser-readline": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-10.3.0.tgz", | |
"integrity": "sha512-ki3ATZ3/RAqnqGROBKE7k+OeZ0DZXZ53GTca4q71OU5RazbbNhTOBQLKLXD3v9QZXCMJdg4hGW/2Y0DuMUqMQg==", | |
"requires": { | |
"@serialport/parser-delimiter": "10.3.0" | |
} | |
}, | |
"@serialport/parser-ready": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-10.3.0.tgz", | |
"integrity": "sha512-1owywJ4p592dJyVrEJZPIh6pUZ3/y/LN6kGTDH2wxdewRUITo/sGvDy0er5i2+dJD3yuowiAz0dOHSdz8tevJA==" | |
}, | |
"@serialport/parser-regex": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-10.3.0.tgz", | |
"integrity": "sha512-tIogTs7CvTH+UUFnsvE7i33MSISyTPTGPWlglWYH2/5coipXY503jlaYS1YGe818wWNcSx6YAjMZRdhTWwM39w==" | |
}, | |
"@serialport/parser-slip-encoder": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-10.3.0.tgz", | |
"integrity": "sha512-JI0ILF5sylWn8f0MuMzHFBix/iMUTa79/Z95KaPZYnVaEdA7h7hh/o21Jmon/26P3RJwL1SNJCjZ81zfan+LtQ==" | |
}, | |
"@serialport/parser-spacepacket": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-10.3.0.tgz", | |
"integrity": "sha512-PDF73ClEPsClD1FEJZHNuBevDKsJCkqy/XD5+S5eA6+tY5D4HLrVgSWsg+3qqB6+dlpwf2CzHe+uO8D3teuKHA==" | |
}, | |
"@serialport/stream": { | |
"version": "10.3.0", | |
"resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-10.3.0.tgz", | |
"integrity": "sha512-7sooi5fHogYNVEJwxVdg872xO6TuMgQd2E9iRmv+o8pk/1dbBnPkmH6Ka3st1mVE+0KnIJqVlgei+ncSsqXIGw==", | |
"requires": { | |
"@serialport/bindings-interface": "1.2.1", | |
"debug": "^4.3.2" | |
}, | |
"dependencies": { | |
"@serialport/bindings-interface": { | |
"version": "1.2.1", | |
"resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz", | |
"integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==" | |
} | |
} | |
}, | |
"debug": { | |
"version": "4.3.4", | |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | |
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | |
"requires": { | |
"ms": "2.1.2" | |
} | |
}, | |
"ms": { | |
"version": "2.1.2", | |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | |
}, | |
"node-addon-api": { | |
"version": "4.3.0", | |
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", | |
"integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" | |
}, | |
"node-gyp-build": { | |
"version": "4.4.0", | |
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", | |
"integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==" | |
}, | |
"serialport": { | |
"version": "10.4.0", | |
"resolved": "https://registry.npmjs.org/serialport/-/serialport-10.4.0.tgz", | |
"integrity": "sha512-PszPM5SnFMgSXom60PkKS2A9nMlNbHkuoyRBlzdSWw9rmgOn258+V0dYbWMrETJMM+TJV32vqBzjg5MmmUMwMw==", | |
"requires": { | |
"@serialport/binding-mock": "10.2.2", | |
"@serialport/bindings-cpp": "10.7.0", | |
"@serialport/parser-byte-length": "10.3.0", | |
"@serialport/parser-cctalk": "10.3.0", | |
"@serialport/parser-delimiter": "10.3.0", | |
"@serialport/parser-inter-byte-timeout": "10.3.0", | |
"@serialport/parser-packet-length": "10.3.0", | |
"@serialport/parser-readline": "10.3.0", | |
"@serialport/parser-ready": "10.3.0", | |
"@serialport/parser-regex": "10.3.0", | |
"@serialport/parser-slip-encoder": "10.3.0", | |
"@serialport/parser-spacepacket": "10.3.0", | |
"@serialport/stream": "10.3.0", | |
"debug": "^4.3.3" | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "nodejs-serialport-mock", | |
"version": "1.0.0", | |
"description": "", | |
"main": "index.js", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"keywords": [], | |
"author": "", | |
"license": "ISC", | |
"dependencies": { | |
"serialport": "^10.4.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment