Skip to content

Commit

Permalink
Bump serialport from 9.2.8 to 10.4.0
Browse files Browse the repository at this point in the history
serialport already provides TS types, so @types/serialport is not
needed anymore.
  • Loading branch information
jirutka committed Nov 9, 2022
1 parent 8874c92 commit 5de0173
Show file tree
Hide file tree
Showing 9 changed files with 316 additions and 863 deletions.
1,056 changes: 255 additions & 801 deletions package-lock.json

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"fast-deep-equal": "^3.1.3",
"mixin-deep": "^2.0.1",
"mz": "^2.7.0",
"serialport": "9.2.8",
"serialport": "10.4.0",
"slip": "^1.0.2"
},
"deprecated": false,
Expand All @@ -48,7 +48,6 @@
"@types/mz": "^2.7.4",
"@types/nedb": "*",
"@types/node": "*",
"@types/serialport": "*",
"@typescript-eslint/eslint-plugin": "*",
"@typescript-eslint/parser": "*",
"babel-jest": "*",
Expand Down
4 changes: 2 additions & 2 deletions src/adapter/deconz/driver/driver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* eslint-disable */
import Debug from 'debug';
import events from 'events';
import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import Writer from './writer';
import Parser from './parser';
import Frame from './frame';
Expand Down Expand Up @@ -184,7 +184,7 @@ class Driver extends events.EventEmitter {

public openSerialPort(): Promise<void> {
debug(`Opening with ${this.path}`);
this.serialPort = new SerialPort(this.path, {baudRate: 38400, autoOpen: false});
this.serialPort = new SerialPort({path: this.path, baudRate: 38400, autoOpen: false});

this.writer = new Writer();
// @ts-ignore
Expand Down
7 changes: 4 additions & 3 deletions src/adapter/ezsp/driver/uart.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* istanbul ignore file */
import {EventEmitter} from 'events';
import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import net from 'net';
import SocketPortUtils from '../../socketPortUtils';
import {Deferred, crc16ccitt} from './utils';
Expand Down Expand Up @@ -67,13 +67,14 @@ export class SerialDriver extends EventEmitter {

private async openSerialPort(path: string, opt: Record<string, number|boolean>): Promise<void> {
const options = {
path,
baudRate: typeof opt.baudRate === 'number' ? opt.baudRate : 115200,
rtscts: typeof opt.rtscts === 'boolean' ? opt.rtscts : false,
autoOpen: false
};

debug(`Opening SerialPort with ${path} and ${JSON.stringify(options)}`);
this.serialPort = new SerialPort(path, options);
debug(`Opening SerialPort with ${JSON.stringify(options)}`);
this.serialPort = new SerialPort(options);

this.writer = new Writer();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
Expand Down
4 changes: 2 additions & 2 deletions src/adapter/serialPortUtils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import {EqualsPartial} from '../utils';

interface PortInfoMatch {
Expand All @@ -23,4 +23,4 @@ async function is(path: string, matchers: PortInfoMatch[]): Promise<boolean> {
return matchers.find((matcher) => EqualsPartial(device, matcher)) != null;
}

export default {is, find};
export default {is, find};
8 changes: 4 additions & 4 deletions src/adapter/z-stack/znp/znp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import ZpiObject from './zpiObject';
import {ZpiObjectPayload} from './tstype';
import {Subsystem, Type} from '../unpi/constants';

import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import net from 'net';
import events from 'events';
import Equals from 'fast-deep-equal/es6';
Expand Down Expand Up @@ -126,10 +126,10 @@ class Znp extends events.EventEmitter {
}

private async openSerialPort(): Promise<void> {
const options = {baudRate: this.baudRate, rtscts: this.rtscts, autoOpen: false};
const options = {path: this.path, baudRate: this.baudRate, rtscts: this.rtscts, autoOpen: false};

debug.log(`Opening SerialPort with ${this.path} and ${JSON.stringify(options)}`);
this.serialPort = new SerialPort(this.path, options);
debug.log(`Opening SerialPort with ${JSON.stringify(options)}`);
this.serialPort = new SerialPort(options);

this.unpiWriter = new UnpiWriter();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
Expand Down
9 changes: 5 additions & 4 deletions src/adapter/zigate/driver/zigate.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* istanbul ignore file */
/* eslint-disable */

import SerialPort from 'serialport';
import {DelimiterParser, SerialPort} from 'serialport';
import {EventEmitter} from 'events';
import {Debug} from '../debug';
import SerialPortUtils from "../../serialPortUtils";
Expand Down Expand Up @@ -202,7 +202,8 @@ export default class ZiGate extends EventEmitter {
}

private async openSerialPort(): Promise<void> {
this.serialPort = new SerialPort(this.path, {
this.serialPort = new SerialPort({
path: this.path,
baudRate: this.baudRate,
dataBits: 8,
parity: 'none', /* one of ['none', 'even', 'mark', 'odd', 'space'] */
Expand All @@ -211,7 +212,7 @@ export default class ZiGate extends EventEmitter {
autoOpen: false
});
this.parser = this.serialPort.pipe(
new SerialPort.parsers.Delimiter(
new DelimiterParser(
{delimiter: [ZiGateFrame.STOP_BYTE], includeDelimiter: true}
),
);
Expand Down Expand Up @@ -251,7 +252,7 @@ export default class ZiGate extends EventEmitter {


this.parser = this.socketPort.pipe(
new SerialPort.parsers.Delimiter({delimiter: [ZiGateFrame.STOP_BYTE], includeDelimiter: true}),
new DelimiterParser({delimiter: [ZiGateFrame.STOP_BYTE], includeDelimiter: true}),
);
this.parser.on('data', this.onSerialData.bind(this));

Expand Down
39 changes: 20 additions & 19 deletions test/adapter/ezsp/uart.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import "regenerator-runtime/runtime";
import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import {SerialDriver} from '../../../src/adapter/ezsp/driver/uart';
import {Writer} from '../../../src/adapter/ezsp/driver/writer';

Expand All @@ -19,21 +19,23 @@ let mockSerialPortIsOpen = false;


jest.mock('serialport', () => {
return jest.fn().mockImplementation(() => {
return {
close: mockSerialPortClose,
constructor: mockSerialPortConstructor,
emit: () => {},
on: () => {},
once: mockSerialPortOnce,
open: mockSerialPortOpen,
pipe: mockSerialPortPipe,
set: mockSerialPortSet,
write: mockSerialPortWrite,
flush: mockSerialPortFlush,
isOpen: mockSerialPortIsOpen,
};
});
return {
SerialPort: jest.fn().mockImplementation(() => {
return {
close: mockSerialPortClose,
constructor: mockSerialPortConstructor,
emit: () => {},
on: () => {},
once: mockSerialPortOnce,
open: mockSerialPortOpen,
pipe: mockSerialPortPipe,
set: mockSerialPortSet,
write: mockSerialPortWrite,
flush: mockSerialPortFlush,
isOpen: mockSerialPortIsOpen,
};
})
};
});

let writeBufferSpy;
Expand Down Expand Up @@ -79,8 +81,7 @@ describe('UART', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 115200, "rtscts": false},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 115200, "rtscts": false},
);

expect(mockSerialPortPipe).toHaveBeenCalledTimes(1);
Expand All @@ -106,4 +107,4 @@ describe('UART', () => {
serialDriver.sendDATA(Buffer.from([1,2,3]));
expect(writeBufferSpy).toHaveBeenCalledTimes(9);
});
});
});
49 changes: 23 additions & 26 deletions test/adapter/z-stack/znp.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import "regenerator-runtime/runtime";
import {Znp, ZpiObject} from '../../../src/adapter/z-stack/znp';
import SerialPort from 'serialport';
import {SerialPort} from 'serialport';
import net from 'net';
import {Frame as UnpiFrame, Constants as UnpiConstants} from '../../../src/adapter/z-stack/unpi';
import {duplicateArray, ieeeaAddr1, ieeeaAddr2} from '../../testUtils';
Expand All @@ -22,21 +22,23 @@ jest.mock('../../../src/utils/wait', () => {
});

jest.mock('serialport', () => {
return jest.fn().mockImplementation(() => {
return {
close: mockSerialPortClose,
constructor: mockSerialPortConstructor,
emit: () => {},
on: () => {},
once: mockSerialPortOnce,
open: mockSerialPortOpen,
pipe: mockSerialPortPipe,
set: mockSerialPortSet,
write: mockSerialPortWrite,
flush: mockSerialPortFlush,
isOpen: mockSerialPortIsOpen,
};
});
return {
SerialPort: jest.fn().mockImplementation(() => {
return {
close: mockSerialPortClose,
constructor: mockSerialPortConstructor,
emit: () => {},
on: () => {},
once: mockSerialPortOnce,
open: mockSerialPortOpen,
pipe: mockSerialPortPipe,
set: mockSerialPortSet,
write: mockSerialPortWrite,
flush: mockSerialPortFlush,
isOpen: mockSerialPortIsOpen,
};
}),
};
});

const mockSocketSetNoDelay = jest.fn();
Expand Down Expand Up @@ -141,8 +143,7 @@ describe('ZNP', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 100, "rtscts": true},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 100, "rtscts": true},
);

expect(mockSerialPortPipe).toHaveBeenCalledTimes(1);
Expand All @@ -157,8 +158,7 @@ describe('ZNP', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 100, "rtscts": true},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 100, "rtscts": true},
);

expect(mockSerialPortPipe).toHaveBeenCalledTimes(1);
Expand All @@ -174,8 +174,7 @@ describe('ZNP', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 115200, "rtscts": false},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 115200, "rtscts": false},
);

expect(mockSerialPortPipe).toHaveBeenCalledTimes(1);
Expand Down Expand Up @@ -284,8 +283,7 @@ describe('ZNP', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 100, "rtscts": true},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 100, "rtscts": true},
);

expect(error).toEqual(new Error("Error while opening serialport 'failed!'"));
Expand All @@ -310,8 +308,7 @@ describe('ZNP', () => {

expect(SerialPort).toHaveBeenCalledTimes(1);
expect(SerialPort).toHaveBeenCalledWith(
"/dev/ttyACM0",
{"autoOpen": false, "baudRate": 100, "rtscts": true},
{"path": "/dev/ttyACM0", "autoOpen": false, "baudRate": 100, "rtscts": true},
);

expect(error).toEqual(new Error("Error while opening serialport 'failed!'"));
Expand Down

0 comments on commit 5de0173

Please sign in to comment.